[qmapshack] 08/18: Imported Upstream version 1.0.0+ds
Sebastiaan Couwenberg
sebastic at moszumanska.debian.org
Sat Mar 7 14:36:18 UTC 2015
This is an automated email from the git hooks/post-receive script.
sebastic pushed a commit to branch master
in repository qmapshack.
commit 86ffa9957a82253122726992bade130a2f617ecb
Author: Bas Couwenberg <sebastic at xs4all.nl>
Date: Sat Mar 7 13:33:23 2015 +0100
Imported Upstream version 1.0.0+ds
---
.hg/00changelog.i | Bin 57 -> 0 bytes
.../2014-08-10_14-17-09_parent_rev_212_41i_1d.bak | 60 -
.../2014-08-10_14-17-09_parent_rev_212_5C3Eit.bak | 124 --
.../2014-08-10_14-17-09_parent_rev_212_5yS1bt.bak | 329 ----
.../2014-08-10_14-17-09_parent_rev_212_63JmLB.bak | 86 -
.../2014-08-10_14-17-09_parent_rev_212_6f2vC4.bak | 0
.../2014-08-10_14-17-09_parent_rev_212_8xXTxE.bak | 93 --
.../2014-08-10_14-17-09_parent_rev_212_E5WdFy.bak | 0
.../2014-08-10_14-17-09_parent_rev_212_EUeX2W.bak | 63 -
.../2014-08-10_14-17-09_parent_rev_212_H2s6va.bak | 350 ----
.../2014-08-10_14-17-09_parent_rev_212_HGPpdo.bak | 77 -
.../2014-08-10_14-17-09_parent_rev_212_IPn_yT.bak | 239 ---
.../2014-08-10_14-17-09_parent_rev_212_KAC_3x.bak | 122 --
.../2014-08-10_14-17-09_parent_rev_212_M_J4ty.bak | 100 --
.../2014-08-10_14-17-09_parent_rev_212_Mwh9Qb.bak | 156 --
.../2014-08-10_14-17-09_parent_rev_212_Nvr8BO.bak | 362 ----
.../2014-08-10_14-17-09_parent_rev_212_O2w2no.bak | 27 -
.../2014-08-10_14-17-09_parent_rev_212_Ozaask.bak | 186 ---
.../2014-08-10_14-17-09_parent_rev_212_PVfnen.bak | 109 --
.../2014-08-10_14-17-09_parent_rev_212_Q80F4i.bak | 115 --
.../2014-08-10_14-17-09_parent_rev_212_QYFq9x.bak | 198 ---
.../2014-08-10_14-17-09_parent_rev_212_QhKuka.bak | 69 -
.../2014-08-10_14-17-09_parent_rev_212_RHnNae.bak | 219 ---
.../2014-08-10_14-17-09_parent_rev_212_TbVumX.bak | 175 --
.../2014-08-10_14-17-09_parent_rev_212_TlaYCc.bak | 55 -
.../2014-08-10_14-17-09_parent_rev_212_V50HTU.bak | 512 ------
.../2014-08-10_14-17-09_parent_rev_212_WQ5EF6.bak | 220 ---
.../2014-08-10_14-17-09_parent_rev_212_Wvm2XK.bak | 348 ----
.../2014-08-10_14-17-09_parent_rev_212_XyikZV.bak | 88 -
.../2014-08-10_14-17-09_parent_rev_212_XzwqFK.bak | 74 -
.../2014-08-10_14-17-09_parent_rev_212_ZQmjwC.bak | 145 --
.../2014-08-10_14-17-09_parent_rev_212__FyHdw.bak | 227 ---
.../2014-08-10_14-17-09_parent_rev_212__oamrT.bak | 250 ---
.../2014-08-10_14-17-09_parent_rev_212__xosYF.bak | 173 --
.../2014-08-10_14-17-09_parent_rev_212_aFBa4m.bak | 533 ------
.../2014-08-10_14-17-09_parent_rev_212_c8KLTi.bak | 31 -
.../2014-08-10_14-17-09_parent_rev_212_cFEYOV.bak | 113 --
.../2014-08-10_14-17-09_parent_rev_212_dQbVnU.bak | 127 --
.../2014-08-10_14-17-09_parent_rev_212_dXCOib.bak | 140 --
.../2014-08-10_14-17-09_parent_rev_212_gPbjzI.bak | 360 ----
.../2014-08-10_14-17-09_parent_rev_212_irk_tW.bak | 406 -----
.../2014-08-10_14-17-09_parent_rev_212_jkEjw8.bak | 15 -
.../2014-08-10_14-17-09_parent_rev_212_pZMY9I.bak | 466 ------
.../2014-08-10_14-17-09_parent_rev_212_s1NHwd.bak | 0
.../2014-08-10_14-17-09_parent_rev_212_uCwhiy.bak | 317 ----
.../2014-08-10_14-17-09_parent_rev_212_ygOGzc.bak | 374 -----
.../2015-02-22_12-03-51_parent_rev_750_8rXOP9.bak | 14 -
.../2015-02-22_12-03-51_parent_rev_750_BKqvxh.bak | 30 -
.../2015-02-22_12-03-51_parent_rev_750_Yt2BGo.bak | 11 -
.../2015-02-22_12-03-51_parent_rev_750_oX1H7k.bak | 0
.../2015-02-22_12-03-51_parent_rev_750_q0CIcf.bak | 0
.../2015-02-22_12-03-51_parent_rev_750_urUEGg.bak | 14 -
.hg/Trashcan/CDetailsTrk_6SCvxa.cpp.bak | 373 -----
.hg/Trashcan/CDetailsTrk_8daxWy.cpp.bak | 371 -----
.hg/Trashcan/CDetailsWpt_JkBB6Z.h.bak | 44 -
.hg/Trashcan/CDetailsWpt_KUyyGh.cpp.bak | 178 --
.hg/Trashcan/CDetailsWpt_VqnTW1.cpp.bak | 153 --
.hg/Trashcan/CDetailsWpt_wgDUq1.h.bak | 46 -
.hg/Trashcan/CDiskCache_ZGaMAX.cpp.bak | 156 --
.hg/Trashcan/CDiskCache_ceXfpe.cpp.bak | 157 --
.hg/Trashcan/CGisItemTrk_RakRPD.cpp.bak | 1729 --------------------
.hg/Trashcan/CGisItemTrk_jYp8hv.h.bak | 619 -------
.hg/Trashcan/CGisItemWpt_dhk314.cpp.bak | 458 ------
.hg/Trashcan/CGisItemWpt_lZD09f.h.bak | 117 --
.hg/Trashcan/CGisItemWpt_qCGlIQ.cpp.bak | 476 ------
.hg/Trashcan/CGisItemWpt_v6zJBd.h.bak | 119 --
.hg/Trashcan/CGisListWks_3x8ATJ.cpp.bak | 1110 -------------
.hg/Trashcan/CGisListWks_HrzlcL.cpp.bak | 159 --
.hg/Trashcan/CGisListWks_N1Po8J.cpp.bak | 1122 -------------
.hg/Trashcan/CGisListWks_w3G0J5.cpp.bak | 164 --
.hg/Trashcan/CGisWidget_0r6eN4.cpp.bak | 215 ---
.hg/Trashcan/CGisWidget_1Gl0ex.cpp.bak | 217 ---
.hg/Trashcan/CMakeLists_OYf8I5.txt.bak | 102 --
.hg/Trashcan/CMakeLists_SIS4BY.txt.bak | 256 ---
.hg/Trashcan/CMakeLists_XwOIvC.txt.bak | 102 --
.hg/Trashcan/CMakeLists_lr2bNv.txt.bak | 253 ---
.hg/Trashcan/CPlotSpeed__YNWxV.cpp.bak | 116 --
.hg/Trashcan/CScrOptWpt_XBKh1B.cpp.bak | 89 -
.hg/Trashcan/CScrOptWpt_xMZh5g.cpp.bak | 89 -
.hg/Trashcan/IGisItem_5WFVpa.h.bak | 375 -----
.hg/Trashcan/IGisItem_APOLa5.cpp.bak | 623 -------
.hg/Trashcan/IGisItem_GNArfG.h.bak | 375 -----
.hg/Trashcan/IGisItem_SGAlUU.cpp.bak | 286 ----
.hg/Trashcan/IGisItem_W2uRAd.cpp.bak | 714 --------
.hg/Trashcan/IGisItem_g1UeWY.cpp.bak | 709 --------
.hg/Trashcan/IGisItem_sh1ohv.h.bak | 402 -----
.hg/Trashcan/IGisItem_xTCUle.cpp.bak | 623 -------
.hg/Trashcan/IGisItem_xsSU6A.h.bak | 404 -----
.hg/Trashcan/IGisItem_yfQJAp.cpp.bak | 286 ----
.hg/Trashcan/IGisProject_117WVD.cpp.bak | 458 ------
.hg/Trashcan/IGisProject_AqlgcN.cpp.bak | 458 ------
.hg/Trashcan/IGisProject_duaZSF.h.bak | 212 ---
.hg/Trashcan/IGisProject_hRc9Iq.h.bak | 230 ---
.hg/Trashcan/IGisWidget_GlUnqs.ui.bak | 95 --
.hg/Trashcan/IGisWidget_f8_was.ui.bak | 98 --
.hg/Trashcan/IScrOptWpt_EtgN4L.ui.bak | 114 --
.hg/Trashcan/IScrOptWpt_j6Rx9x.ui.bak | 105 --
.hg/Trashcan/IWptIconDialog_7JMhQt.ui.bak | 31 -
.hg/Trashcan/IWptIconDialog_c__AmQ.ui.bak | 74 -
.hg/Trashcan/changelog_CYEUr4.txt.bak | 108 --
.hg/Trashcan/changelog_z3flxg.txt.bak | 99 --
.hg/Trashcan/resources_NOfdMH.qrc.bak | 275 ----
.hg/Trashcan/resources_VTtTG0.qrc.bak | 232 ---
.hg/bookmarks | 0
.hg/branch | 1 -
.hg/cache/branch2-base | 5 -
.hg/cache/branch2-served | 5 -
.hg/cache/rbc-names-v1 | Bin 21 -> 0 bytes
.hg/cache/rbc-revs-v1 | Bin 6384 -> 0 bytes
.hg/cur-message.txt | 0
.hg/dirstate | Bin 50367 -> 0 bytes
.hg/hgrc | 6 -
.hg/last-message.txt | 1 -
.hg/requires | 4 -
.hg/shelves/2014-08-10_14-17-09_parent_rev_212 | 107 --
.hg/shelves/2015-02-22_12-03-51_parent_rev_750 | 0
.hg/store/00changelog.d | Bin 137629 -> 0 bytes
.hg/store/00changelog.i | Bin 51072 -> 0 bytes
.hg/store/00manifest.d | Bin 421920 -> 0 bytes
.hg/store/00manifest.i | Bin 50944 -> 0 bytes
.../data/3rdparty/_c_get_opt/_c_get_opt.cpp.i | Bin 6266 -> 0 bytes
.hg/store/data/3rdparty/_c_get_opt/_c_get_opt.h.i | Bin 1676 -> 0 bytes
.../data/3rdparty/_c_get_opt/_c_make_lists.txt.i | Bin 515 -> 0 bytes
.../data/3rdparty/_c_get_opt/class_get_opt.html.i | Bin 5517 -> 0 bytes
.hg/store/data/3rdparty/_c_get_opt/getopt.pro.i | Bin 125 -> 0 bytes
.hg/store/data/3rdparty/_c_get_opt/main.cpp.i | Bin 536 -> 0 bytes
.../3rdparty/_d_b_converter/_c_main_window.cpp.i | Bin 1797 -> 0 bytes
.../3rdparty/_d_b_converter/_c_main_window.h.i | Bin 969 -> 0 bytes
.../3rdparty/_d_b_converter/_c_make_lists.txt.i | Bin 1180 -> 0 bytes
.../data/3rdparty/_d_b_converter/_c_qlgt_db.cpp.i | Bin 4395 -> 0 bytes
.../data/3rdparty/_d_b_converter/_c_qlgt_db.h.i | Bin 1259 -> 0 bytes
.../data/3rdparty/_d_b_converter/_c_qms_db.cpp.i | Bin 1690 -> 0 bytes
.../data/3rdparty/_d_b_converter/_c_qms_db.h.i | Bin 864 -> 0 bytes
.../3rdparty/_d_b_converter/_i_main_window.ui.i | Bin 881 -> 0 bytes
.../data/3rdparty/_d_b_converter/converter.cpp.i | Bin 576 -> 0 bytes
.hg/store/data/3rdparty/_d_b_converter/main.cpp.i | Bin 710 -> 0 bytes
.../data/3rdparty/_d_b_converter/qlgt/_c_qlb.cpp.i | Bin 1085 -> 0 bytes
.../data/3rdparty/_d_b_converter/qlgt/_c_qlb.h.i | Bin 1221 -> 0 bytes
.../_d_b_converter/qlgt/_c_qlgt_diary.cpp.i | Bin 1894 -> 0 bytes
.../3rdparty/_d_b_converter/qlgt/_c_qlgt_diary.h.i | Bin 818 -> 0 bytes
.../_d_b_converter/qlgt/_c_qlgt_route.cpp.i | Bin 2060 -> 0 bytes
.../3rdparty/_d_b_converter/qlgt/_c_qlgt_route.h.i | Bin 1007 -> 0 bytes
.../_d_b_converter/qlgt/_c_qlgt_track.cpp.i | Bin 2058 -> 0 bytes
.../3rdparty/_d_b_converter/qlgt/_c_qlgt_track.h.i | Bin 2685 -> 0 bytes
.../3rdparty/_d_b_converter/qlgt/_c_qlgt_wpt.cpp.i | Bin 2420 -> 0 bytes
.../3rdparty/_d_b_converter/qlgt/_c_qlgt_wpt.h.i | Bin 1168 -> 0 bytes
.../3rdparty/_d_b_converter/qlgt/_i_item.cpp.i | Bin 536 -> 0 bytes
.../data/3rdparty/_d_b_converter/qlgt/_i_item.h.i | Bin 700 -> 0 bytes
.../_d_b_converter/qlgt/_i_qlgt_overlay.cpp.i | Bin 2009 -> 0 bytes
.../_d_b_converter/qlgt/_i_qlgt_overlay.h.i | Bin 923 -> 0 bytes
.../data/3rdparty/_d_b_converter/resources.qrc.i | Bin 158 -> 0 bytes
.hg/store/data/_c_make_lists.txt.i | Bin 8826 -> 0 bytes
.hg/store/data/_c_pack_config.cmake.i | Bin 1025 -> 0 bytes
.hg/store/data/_configure_checks.cmake.i | Bin 545 -> 0 bytes
.hg/store/data/_doxyfile.i | Bin 26279 -> 0 bytes
.hg/store/data/_gpx_examples/_c_o_p_y_r_i_g_h_t.i | Bin 554 -> 0 bytes
.hg/store/data/_gpx_examples/basecamp.gpx.i | Bin 1603 -> 0 bytes
.hg/store/data/_gpx_examples/qlandkarte.gpx.i | Bin 1064 -> 0 bytes
.hg/store/data/_l_i_c_e_n_s_e.i | Bin 12189 -> 0 bytes
.hg/store/data/_r_e_a_d_m_e.md.i | Bin 2617 -> 0 bytes
.hg/store/data/call___uncrustify.cfg.i | Bin 1116 -> 0 bytes
.hg/store/data/call___uncrustify.sh.i | Bin 448 -> 0 bytes
.hg/store/data/changelog.txt.i | Bin 4033 -> 0 bytes
.hg/store/data/cmake/_c_make_lists.txt.i | Bin 91 -> 0 bytes
.hg/store/data/cmake/_modules/_c_make_lists.txt.i | Bin 464 -> 0 bytes
.../_c_o_p_y_i_n_g-_c_m_a_k_e-_s_c_r_i_p_t_s.i | Bin 773 -> 0 bytes
.../cmake/_modules/_define_c_make_defaults.cmake.i | Bin 562 -> 0 bytes
.../cmake/_modules/_define_compiler_flags.cmake.i | Bin 277 -> 0 bytes
.../_modules/_define_installation_paths.cmake.i | Bin 966 -> 0 bytes
.../data/cmake/_modules/_find_d_m_t_x.cmake.i | Bin 797 -> 0 bytes
.../data/cmake/_modules/_find_e_x_i_f.cmake.i | Bin 785 -> 0 bytes
.../data/cmake/_modules/_find_g_d_a_l.cmake.i | Bin 1114 -> 0 bytes
.../data/cmake/_modules/_find_g_p_s_d.cmake.i | Bin 787 -> 0 bytes
.../data/cmake/_modules/_find_j_p_e_g.cmake.i | Bin 886 -> 0 bytes
.../data/cmake/_modules/_find_p_r_o_j.cmake.i | Bin 1067 -> 0 bytes
.../cmake/_modules/_find_qext_serial_port.cmake.i | Bin 868 -> 0 bytes
.../data/cmake/_modules/_find_qt_soap.cmake.i | Bin 827 -> 0 bytes
.../data/cmake/_modules/_find_xerces_c.cmake.i | Bin 869 -> 0 bytes
.../data/cmake/_modules/_macro_copy_file.cmake.i | Bin 654 -> 0 bytes
.../_macro_ensure_out_of_source_build.cmake.i | Bin 427 -> 0 bytes
.hg/store/data/cmake__uninstall.cmake.in.i | Bin 447 -> 0 bytes
.hg/store/data/config.h.cmake.i | Bin 476 -> 0 bytes
.hg/store/data/features.txt.i | Bin 727 -> 0 bytes
.hg/store/data/maproom.1.i | Bin 473 -> 0 bytes
.hg/store/data/maproom.desktop.i | Bin 358 -> 0 bytes
.hg/store/data/mkfile.i | Bin 415 -> 0 bytes
.hg/store/data/nsi/3rdparty.txt.i | Bin 2632 -> 0 bytes
.hg/store/data/nsi/_help.ico.i | Bin 1290 -> 0 bytes
.../data/nsi/_m_u_i___h_e_a_d_e_r_i_m_a_g_e.bmp.i | Bin 20155 -> 0 bytes
...m_u_i___w_e_l_c_o_m_e_f_i_n_i_s_h_p_a_g_e.bmp.i | Bin 109742 -> 0 bytes
.hg/store/data/nsi/_q_map_shack.ico.i | Bin 1695 -> 0 bytes
.hg/store/data/nsi/_q_map_shack___installer.nsi.i | Bin 4261 -> 0 bytes
.../data/nsi/_q_map_shack___installer32.nsi.i | Bin 3255 -> 0 bytes
.hg/store/data/nsi/copyfiles.bat.i | Bin 1860 -> 0 bytes
.hg/store/data/nsi/copyfiles32.bat.i | Bin 1377 -> 0 bytes
.hg/store/data/nsi/gdalicon.ico.i | Bin 1768 -> 0 bytes
.hg/store/data/nsi/kfm__home.ico.i | Bin 7597 -> 0 bytes
.hg/store/data/nsi/konsole.ico.i | Bin 6522 -> 0 bytes
.hg/store/data/qmapshack.1.i | Bin 873 -> 0 bytes
.hg/store/data/qmapshack.desktop.i | Bin 519 -> 0 bytes
.hg/store/data/src/_c_about.cpp.i | Bin 802 -> 0 bytes
.hg/store/data/src/_c_about.h.i | Bin 790 -> 0 bytes
.hg/store/data/src/_c_app_opts.h.i | Bin 786 -> 0 bytes
.hg/store/data/src/_c_canvas.cpp.i | Bin 8678 -> 0 bytes
.hg/store/data/src/_c_canvas.h.i | Bin 4288 -> 0 bytes
.hg/store/data/src/_c_file_ext.h.i | Bin 732 -> 0 bytes
.hg/store/data/src/_c_main_window.cpp.i | Bin 24408 -> 0 bytes
.hg/store/data/src/_c_main_window.h.i | Bin 6882 -> 0 bytes
.hg/store/data/src/_c_make_lists.txt.i | Bin 18034 -> 0 bytes
.hg/store/data/src/_c_map_d_b.cpp.i | Bin 612 -> 0 bytes
.hg/store/data/src/_c_map_d_b.h.i | Bin 685 -> 0 bytes
.hg/store/data/src/_c_settings.h.i | Bin 748 -> 0 bytes
.hg/store/data/src/_geo_math.cpp.i | Bin 7897 -> 0 bytes
.hg/store/data/src/_geo_math.h.i | Bin 2263 -> 0 bytes
.hg/store/data/src/_i_about.ui.i | Bin 2562 -> 0 bytes
.hg/store/data/src/_i_d_b.cpp.i | Bin 557 -> 0 bytes
.hg/store/data/src/_i_d_b.h.i | Bin 644 -> 0 bytes
.hg/store/data/src/_i_draw_context.cpp.i | Bin 3169 -> 0 bytes
.hg/store/data/src/_i_draw_context.h.i | Bin 2390 -> 0 bytes
.hg/store/data/src/_i_draw_object.cpp.i | Bin 902 -> 0 bytes
.hg/store/data/src/_i_draw_object.h.i | Bin 1098 -> 0 bytes
.hg/store/data/src/_i_main_window.ui.i | Bin 10542 -> 0 bytes
.hg/store/data/src/_platform.h.i | Bin 3533 -> 0 bytes
.hg/store/data/src/animation/_c_o_p_y_r_i_g_h_t.i | Bin 691 -> 0 bytes
.hg/store/data/src/animation/_r_e_a_d_m_e.i | Bin 116 -> 0 bytes
.hg/store/data/src/animation/_w_t_f_p_l-2.i | Bin 362 -> 0 bytes
.hg/store/data/src/animation/loader.gif.i | Bin 6536 -> 0 bytes
.hg/store/data/src/animation/loader2.gif.i | Bin 5316 -> 0 bytes
.hg/store/data/src/canvas/_c_canvas.cpp.i | Bin 13560 -> 0 bytes
.hg/store/data/src/canvas/_c_canvas.h.i | Bin 8264 -> 0 bytes
.hg/store/data/src/canvas/_c_canvas_setup.cpp.i | Bin 1041 -> 0 bytes
.hg/store/data/src/canvas/_c_canvas_setup.h.i | Bin 939 -> 0 bytes
.hg/store/data/src/canvas/_i_canvas_setup.ui.i | Bin 1128 -> 0 bytes
.hg/store/data/src/canvas/_i_draw_context.cpp.i | Bin 6775 -> 0 bytes
.hg/store/data/src/canvas/_i_draw_context.h.i | Bin 5410 -> 0 bytes
.hg/store/data/src/canvas/_i_draw_object.cpp.i | Bin 2152 -> 0 bytes
.hg/store/data/src/canvas/_i_draw_object.h.i | Bin 4538 -> 0 bytes
.hg/store/data/src/cursors/_c_o_p_y_r_i_g_h_t.i | Bin 245 -> 0 bytes
.hg/store/data/src/cursors/cursor_add.png.i | Bin 1259 -> 0 bytes
.hg/store/data/src/cursors/cursor_arrow.png.i | Bin 1364 -> 0 bytes
.hg/store/data/src/cursors/cursor_move.png.i | Bin 1720 -> 0 bytes
.hg/store/data/src/cursors/cursor_move_area.png.i | Bin 1866 -> 0 bytes
.hg/store/data/src/cursors/cursor_move_line.png.i | Bin 1568 -> 0 bytes
.hg/store/data/src/cursors/cursor_move_map.png.i | Bin 1799 -> 0 bytes
.hg/store/data/src/cursors/cursor_move_wpt.png.i | Bin 1451 -> 0 bytes
.../data/src/cursors/cursor_select_range.png.i | Bin 2909 -> 0 bytes
.hg/store/data/src/cursors/wpt_highlight.png.i | Bin 3611 -> 0 bytes
.hg/store/data/src/cursors/wpt_highlight.svg.i | Bin 1491 -> 0 bytes
.hg/store/data/src/dem/_c_dem.cpp.i | Bin 1215 -> 0 bytes
.hg/store/data/src/dem/_c_dem.h.i | Bin 920 -> 0 bytes
.hg/store/data/src/dem/_c_dem_draw.cpp.i | Bin 5555 -> 0 bytes
.hg/store/data/src/dem/_c_dem_draw.h.i | Bin 3798 -> 0 bytes
.hg/store/data/src/dem/_c_dem_item.cpp.i | Bin 3838 -> 0 bytes
.hg/store/data/src/dem/_c_dem_item.h.i | Bin 2615 -> 0 bytes
.hg/store/data/src/dem/_c_dem_list.cpp.i | Bin 2185 -> 0 bytes
.hg/store/data/src/dem/_c_dem_list.h.i | Bin 1494 -> 0 bytes
.hg/store/data/src/dem/_c_dem_path_setup.cpp.i | Bin 1516 -> 0 bytes
.hg/store/data/src/dem/_c_dem_path_setup.h.i | Bin 990 -> 0 bytes
.hg/store/data/src/dem/_c_dem_prop_setup.cpp.i | Bin 2679 -> 0 bytes
.hg/store/data/src/dem/_c_dem_prop_setup.h.i | Bin 1247 -> 0 bytes
.hg/store/data/src/dem/_c_dem_v_r_t.cpp.i | Bin 11040 -> 0 bytes
.hg/store/data/src/dem/_c_dem_v_r_t.h.i | Bin 2502 -> 0 bytes
.hg/store/data/src/dem/_i_dem.cpp.i | Bin 5009 -> 0 bytes
.hg/store/data/src/dem/_i_dem.h.i | Bin 5501 -> 0 bytes
.hg/store/data/src/dem/_i_dem_list.ui.i | Bin 2504 -> 0 bytes
.hg/store/data/src/dem/_i_dem_path_setup.ui.i | Bin 2079 -> 0 bytes
.hg/store/data/src/dem/_i_dem_prop.cpp.i | Bin 750 -> 0 bytes
.hg/store/data/src/dem/_i_dem_prop.h.i | Bin 898 -> 0 bytes
.hg/store/data/src/dem/_i_dem_prop_setup.ui.i | Bin 2278 -> 0 bytes
.hg/store/data/src/device/_c_device_garmin.cpp.i | Bin 5156 -> 0 bytes
.hg/store/data/src/device/_c_device_garmin.h.i | Bin 1589 -> 0 bytes
.hg/store/data/src/device/_c_device_two_nav.cpp.i | Bin 2784 -> 0 bytes
.hg/store/data/src/device/_c_device_two_nav.h.i | Bin 1352 -> 0 bytes
.../data/src/device/_c_device_watcher_linux.cpp.i | Bin 4340 -> 0 bytes
.../data/src/device/_c_device_watcher_linux.h.i | Bin 1346 -> 0 bytes
.../src/device/_c_device_watcher_windows.cpp.i | Bin 2332 -> 0 bytes
.../data/src/device/_c_device_watcher_windows.h.i | Bin 1419 -> 0 bytes
.hg/store/data/src/device/_i_device.cpp.i | Bin 3845 -> 0 bytes
.hg/store/data/src/device/_i_device.h.i | Bin 2991 -> 0 bytes
.hg/store/data/src/device/_i_device_watcher.cpp.i | Bin 2157 -> 0 bytes
.hg/store/data/src/device/_i_device_watcher.h.i | Bin 2013 -> 0 bytes
.../data/src/gis-search/_c_gis_search_widget.cpp.i | Bin 583 -> 0 bytes
.../data/src/gis-search/_c_gis_search_widget.h.i | Bin 633 -> 0 bytes
.../data/src/gis-search/_c_search_google.cpp.i | Bin 730 -> 0 bytes
.hg/store/data/src/gis-search/_c_search_google.h.i | Bin 740 -> 0 bytes
.hg/store/data/src/gis-search/_i_gis_search.cpp.i | Bin 1089 -> 0 bytes
.hg/store/data/src/gis-search/_i_gis_search.h.i | Bin 880 -> 0 bytes
.../data/src/gis-search/_i_gis_search_widget.ui.i | Bin 461 -> 0 bytes
.hg/store/data/src/gis/_c_gis_draw.cpp.i | Bin 1966 -> 0 bytes
.hg/store/data/src/gis/_c_gis_draw.h.i | Bin 1078 -> 0 bytes
.hg/store/data/src/gis/_c_gis_item_rte.cpp.i | Bin 2109 -> 0 bytes
.hg/store/data/src/gis/_c_gis_item_rte.h.i | Bin 2160 -> 0 bytes
.hg/store/data/src/gis/_c_gis_item_trk.cpp.i | Bin 3496 -> 0 bytes
.hg/store/data/src/gis/_c_gis_item_trk.h.i | Bin 2556 -> 0 bytes
.hg/store/data/src/gis/_c_gis_item_wpt.cpp.i | Bin 3353 -> 0 bytes
.hg/store/data/src/gis/_c_gis_item_wpt.h.i | Bin 1894 -> 0 bytes
.hg/store/data/src/gis/_c_gis_list_d_b.cpp.i | Bin 17124 -> 0 bytes
.hg/store/data/src/gis/_c_gis_list_d_b.h.i | Bin 4401 -> 0 bytes
.hg/store/data/src/gis/_c_gis_list_wks.cpp.i | Bin 45112 -> 0 bytes
.hg/store/data/src/gis/_c_gis_list_wks.h.i | Bin 7162 -> 0 bytes
.hg/store/data/src/gis/_c_gis_project.cpp.i | Bin 11696 -> 0 bytes
.hg/store/data/src/gis/_c_gis_project.h.i | Bin 4483 -> 0 bytes
.hg/store/data/src/gis/_c_gis_serialization.cpp.i | Bin 3682 -> 0 bytes
.hg/store/data/src/gis/_c_gis_serialization.h.i | Bin 587 -> 0 bytes
.hg/store/data/src/gis/_c_gis_widget.cpp.i | Bin 19194 -> 0 bytes
.hg/store/data/src/gis/_c_gis_widget.h.i | Bin 11593 -> 0 bytes
.hg/store/data/src/gis/_i_gis_item.cpp.i | Bin 21538 -> 0 bytes
.hg/store/data/src/gis/_i_gis_item.h.i | Bin 23102 -> 0 bytes
.hg/store/data/src/gis/_i_gis_line.cpp.i | Bin 626 -> 0 bytes
.hg/store/data/src/gis/_i_gis_line.h.i | Bin 1103 -> 0 bytes
.hg/store/data/src/gis/_i_gis_project.cpp.i | Bin 4081 -> 0 bytes
.hg/store/data/src/gis/_i_gis_project.h.i | Bin 4063 -> 0 bytes
.hg/store/data/src/gis/_i_gis_widget.ui.i | Bin 3973 -> 0 bytes
.hg/store/data/src/gis/_wpt_icons.cpp.i | Bin 4273 -> 0 bytes
.hg/store/data/src/gis/_wpt_icons.h.i | Bin 1262 -> 0 bytes
.hg/store/data/src/gis/bin/_c_bin_project.cpp.i | Bin 3266 -> 0 bytes
.hg/store/data/src/gis/bin/_c_bin_project.h.i | Bin 1090 -> 0 bytes
.../data/src/gis/bin/_c_gis_serialization.cpp.i | Bin 4184 -> 0 bytes
.../data/src/gis/bin/_c_gis_serialization.h.i | Bin 651 -> 0 bytes
.hg/store/data/src/gis/bin/serialization.cpp.i | Bin 3462 -> 0 bytes
.../data/src/gis/db/_c_d_b_folder_database.cpp.i | Bin 2804 -> 0 bytes
.../data/src/gis/db/_c_d_b_folder_database.h.i | Bin 1625 -> 0 bytes
.../data/src/gis/db/_c_d_b_folder_group.cpp.i | Bin 1832 -> 0 bytes
.hg/store/data/src/gis/db/_c_d_b_folder_group.h.i | Bin 978 -> 0 bytes
.../data/src/gis/db/_c_d_b_folder_lost_found.cpp.i | Bin 4236 -> 0 bytes
.../data/src/gis/db/_c_d_b_folder_lost_found.h.i | Bin 1698 -> 0 bytes
.../data/src/gis/db/_c_d_b_folder_other.cpp.i | Bin 2133 -> 0 bytes
.hg/store/data/src/gis/db/_c_d_b_folder_other.h.i | Bin 974 -> 0 bytes
.../data/src/gis/db/_c_d_b_folder_project.cpp.i | Bin 2075 -> 0 bytes
.../data/src/gis/db/_c_d_b_folder_project.h.i | Bin 984 -> 0 bytes
.hg/store/data/src/gis/db/_c_d_b_item.cpp.i | Bin 3019 -> 0 bytes
.hg/store/data/src/gis/db/_c_d_b_item.h.i | Bin 1607 -> 0 bytes
.hg/store/data/src/gis/db/_c_d_b_project.cpp.i | Bin 11098 -> 0 bytes
.hg/store/data/src/gis/db/_c_d_b_project.h.i | Bin 4027 -> 0 bytes
.../data/src/gis/db/_c_lost_found_project.cpp.i | Bin 1736 -> 0 bytes
.../data/src/gis/db/_c_lost_found_project.h.i | Bin 1148 -> 0 bytes
.hg/store/data/src/gis/db/_c_setup_d_b.cpp.i | Bin 1452 -> 0 bytes
.hg/store/data/src/gis/db/_c_setup_d_b.h.i | Bin 787 -> 0 bytes
.hg/store/data/src/gis/db/_c_setup_database.cpp.i | Bin 1964 -> 0 bytes
.hg/store/data/src/gis/db/_c_setup_database.h.i | Bin 1061 -> 0 bytes
.hg/store/data/src/gis/db/_c_setup_folder.cpp.i | Bin 1325 -> 0 bytes
.hg/store/data/src/gis/db/_c_setup_folder.h.i | Bin 1240 -> 0 bytes
.hg/store/data/src/gis/db/_c_setup_workspace.cpp.i | Bin 1069 -> 0 bytes
.hg/store/data/src/gis/db/_c_setup_workspace.h.i | Bin 949 -> 0 bytes
.hg/store/data/src/gis/db/_i_d_b.cpp.i | Bin 3319 -> 0 bytes
.hg/store/data/src/gis/db/_i_d_b.h.i | Bin 1068 -> 0 bytes
.hg/store/data/src/gis/db/_i_d_b_folder.cpp.i | Bin 12693 -> 0 bytes
.hg/store/data/src/gis/db/_i_d_b_folder.h.i | Bin 4815 -> 0 bytes
.hg/store/data/src/gis/db/_i_setup_d_b.ui.i | Bin 1435 -> 0 bytes
.hg/store/data/src/gis/db/_i_setup_database.ui.i | Bin 847 -> 0 bytes
.hg/store/data/src/gis/db/_i_setup_folder.ui.i | Bin 810 -> 0 bytes
.hg/store/data/src/gis/db/_i_setup_workspace.ui.i | Bin 957 -> 0 bytes
.hg/store/data/src/gis/db/macros.h.i | Bin 1007 -> 0 bytes
.hg/store/data/src/gis/gpx/_c_gis_project.cpp.i | Bin 3936 -> 0 bytes
.hg/store/data/src/gis/gpx/_c_gis_project.h.i | Bin 1277 -> 0 bytes
.hg/store/data/src/gis/gpx/_c_gpx_project.cpp.i | Bin 11876 -> 0 bytes
.hg/store/data/src/gis/gpx/_c_gpx_project.h.i | Bin 3168 -> 0 bytes
.hg/store/data/src/gis/gpx/serialization.cpp.i | Bin 9105 -> 0 bytes
.../data/src/gis/ovl/_c_details_ovl_area.cpp.i | Bin 4674 -> 0 bytes
.hg/store/data/src/gis/ovl/_c_details_ovl_area.h.i | Bin 1741 -> 0 bytes
.../data/src/gis/ovl/_c_gis_item_ovl_area.cpp.i | Bin 14581 -> 0 bytes
.../data/src/gis/ovl/_c_gis_item_ovl_area.h.i | Bin 7194 -> 0 bytes
.../data/src/gis/ovl/_c_scr_opt_ovl_area.cpp.i | Bin 2013 -> 0 bytes
.hg/store/data/src/gis/ovl/_c_scr_opt_ovl_area.h.i | Bin 1438 -> 0 bytes
.../data/src/gis/ovl/_i_details_ovl_area.ui.i | Bin 2425 -> 0 bytes
.../data/src/gis/ovl/_i_scr_opt_ovl_area.ui.i | Bin 1296 -> 0 bytes
.hg/store/data/src/gis/prj/_c_details_prj.cpp.i | Bin 8229 -> 0 bytes
.hg/store/data/src/gis/prj/_c_details_prj.h.i | Bin 1749 -> 0 bytes
.hg/store/data/src/gis/prj/_i_details_prj.ui.i | Bin 1860 -> 0 bytes
.hg/store/data/src/gis/prj/_i_gis_project.cpp.i | Bin 10404 -> 0 bytes
.hg/store/data/src/gis/prj/_i_gis_project.h.i | Bin 8721 -> 0 bytes
.hg/store/data/src/gis/qms/_c_qms_project.cpp.i | Bin 4326 -> 0 bytes
.hg/store/data/src/gis/qms/_c_qms_project.h.i | Bin 1547 -> 0 bytes
.hg/store/data/src/gis/qms/serialization.cpp.i | Bin 8057 -> 0 bytes
.hg/store/data/src/gis/rte/_c_gis_item_rte.cpp.i | Bin 11379 -> 0 bytes
.hg/store/data/src/gis/rte/_c_gis_item_rte.h.i | Bin 6793 -> 0 bytes
.hg/store/data/src/gis/rte/_c_scr_opt_rte.cpp.i | Bin 2605 -> 0 bytes
.hg/store/data/src/gis/rte/_c_scr_opt_rte.h.i | Bin 2213 -> 0 bytes
.hg/store/data/src/gis/rte/_i_scr_opt_rte.ui.i | Bin 1166 -> 0 bytes
.../data/src/gis/search/_c_search_google.cpp.i | Bin 3033 -> 0 bytes
.hg/store/data/src/gis/search/_c_search_google.h.i | Bin 1590 -> 0 bytes
.../data/src/gis/tnv/_c_two_nav_project.cpp.i | Bin 6040 -> 0 bytes
.hg/store/data/src/gis/tnv/_c_two_nav_project.h.i | Bin 1844 -> 0 bytes
.hg/store/data/src/gis/tnv/serialization.cpp.i | Bin 6260 -> 0 bytes
.hg/store/data/src/gis/trk/_c_combine_trk.cpp.i | Bin 2471 -> 0 bytes
.hg/store/data/src/gis/trk/_c_combine_trk.h.i | Bin 1675 -> 0 bytes
.hg/store/data/src/gis/trk/_c_details_trk.cpp.i | Bin 12013 -> 0 bytes
.hg/store/data/src/gis/trk/_c_details_trk.h.i | Bin 2786 -> 0 bytes
.hg/store/data/src/gis/trk/_c_gis_item_trk.cpp.i | Bin 46147 -> 0 bytes
.hg/store/data/src/gis/trk/_c_gis_item_trk.h.i | Bin 23772 -> 0 bytes
.hg/store/data/src/gis/trk/_c_scr_opt_trk.cpp.i | Bin 4804 -> 0 bytes
.hg/store/data/src/gis/trk/_c_scr_opt_trk.h.i | Bin 2557 -> 0 bytes
.hg/store/data/src/gis/trk/_i_combine_trk.ui.i | Bin 1138 -> 0 bytes
.hg/store/data/src/gis/trk/_i_details_trk.ui.i | Bin 11854 -> 0 bytes
.hg/store/data/src/gis/trk/_i_scr_opt_trk.ui.i | Bin 3817 -> 0 bytes
.../data/src/gis/trk/filter/_c_filter_delete.cpp.i | Bin 837 -> 0 bytes
.../data/src/gis/trk/filter/_c_filter_delete.h.i | Bin 935 -> 0 bytes
.../gis/trk/filter/_c_filter_douglas_peuker.cpp.i | Bin 1364 -> 0 bytes
.../gis/trk/filter/_c_filter_douglas_peuker.h.i | Bin 956 -> 0 bytes
.../data/src/gis/trk/filter/_c_filter_median.cpp.i | Bin 1067 -> 0 bytes
.../data/src/gis/trk/filter/_c_filter_median.h.i | Bin 936 -> 0 bytes
.../src/gis/trk/filter/_c_filter_new_date.cpp.i | Bin 879 -> 0 bytes
.../data/src/gis/trk/filter/_c_filter_new_date.h.i | Bin 936 -> 0 bytes
.../gis/trk/filter/_c_filter_obscure_date.cpp.i | Bin 932 -> 0 bytes
.../src/gis/trk/filter/_c_filter_obscure_date.h.i | Bin 948 -> 0 bytes
.../trk/filter/_c_filter_offset_elevation.cpp.i | Bin 992 -> 0 bytes
.../gis/trk/filter/_c_filter_offset_elevation.h.i | Bin 959 -> 0 bytes
.../trk/filter/_c_filter_replace_elevation.cpp.i | Bin 841 -> 0 bytes
.../gis/trk/filter/_c_filter_replace_elevation.h.i | Bin 957 -> 0 bytes
.../data/src/gis/trk/filter/_c_filter_reset.cpp.i | Bin 836 -> 0 bytes
.../data/src/gis/trk/filter/_c_filter_reset.h.i | Bin 931 -> 0 bytes
.../data/src/gis/trk/filter/_c_filter_speed.cpp.i | Bin 958 -> 0 bytes
.../data/src/gis/trk/filter/_c_filter_speed.h.i | Bin 932 -> 0 bytes
.../data/src/gis/trk/filter/_i_filter_delete.ui.i | Bin 832 -> 0 bytes
.../gis/trk/filter/_i_filter_douglas_peuker.ui.i | Bin 2247 -> 0 bytes
.../data/src/gis/trk/filter/_i_filter_median.ui.i | Bin 2364 -> 0 bytes
.../src/gis/trk/filter/_i_filter_new_date.ui.i | Bin 831 -> 0 bytes
.../src/gis/trk/filter/_i_filter_obscure_date.ui.i | Bin 858 -> 0 bytes
.../gis/trk/filter/_i_filter_offset_elevation.ui.i | Bin 1382 -> 0 bytes
.../trk/filter/_i_filter_replace_elevation.ui.i | Bin 1165 -> 0 bytes
.../data/src/gis/trk/filter/_i_filter_reset.ui.i | Bin 834 -> 0 bytes
.../data/src/gis/trk/filter/_i_filter_speed.ui.i | Bin 931 -> 0 bytes
.hg/store/data/src/gis/trk/filter/filter.cpp.i | Bin 5148 -> 0 bytes
.../data/src/gis/wpt/_c_details_geo_cache.cpp.i | Bin 4520 -> 0 bytes
.../data/src/gis/wpt/_c_details_geo_cache.h.i | Bin 1448 -> 0 bytes
.hg/store/data/src/gis/wpt/_c_details_wpt.cpp.i | Bin 8940 -> 0 bytes
.hg/store/data/src/gis/wpt/_c_details_wpt.h.i | Bin 2198 -> 0 bytes
.hg/store/data/src/gis/wpt/_c_gis_item_wpt.cpp.i | Bin 21535 -> 0 bytes
.hg/store/data/src/gis/wpt/_c_gis_item_wpt.h.i | Bin 13029 -> 0 bytes
.hg/store/data/src/gis/wpt/_c_proj_wpt.cpp.i | Bin 2832 -> 0 bytes
.hg/store/data/src/gis/wpt/_c_proj_wpt.h.i | Bin 1124 -> 0 bytes
.hg/store/data/src/gis/wpt/_c_scr_opt_wpt.cpp.i | Bin 4870 -> 0 bytes
.hg/store/data/src/gis/wpt/_c_scr_opt_wpt.h.i | Bin 2140 -> 0 bytes
.../data/src/gis/wpt/_i_details_geo_cache.ui.i | Bin 4084 -> 0 bytes
.hg/store/data/src/gis/wpt/_i_details_wpt.ui.i | Bin 10353 -> 0 bytes
.hg/store/data/src/gis/wpt/_i_proj_wpt.ui.i | Bin 1910 -> 0 bytes
.hg/store/data/src/gis/wpt/_i_scr_opt_wpt.ui.i | Bin 3488 -> 0 bytes
.hg/store/data/src/grid/_c_grid.cpp.i | Bin 5840 -> 0 bytes
.hg/store/data/src/grid/_c_grid.h.i | Bin 1731 -> 0 bytes
.hg/store/data/src/grid/_c_grid_setup.cpp.i | Bin 1628 -> 0 bytes
.hg/store/data/src/grid/_c_grid_setup.h.i | Bin 1201 -> 0 bytes
.hg/store/data/src/grid/_c_proj_wizard.cpp.i | Bin 3840 -> 0 bytes
.hg/store/data/src/grid/_c_proj_wizard.h.i | Bin 1032 -> 0 bytes
.hg/store/data/src/grid/_i_grid_setup.ui.i | Bin 2021 -> 0 bytes
.hg/store/data/src/grid/_i_proj_wizard.ui.i | Bin 2407 -> 0 bytes
.hg/store/data/src/grid/mitab.cpp.i | Bin 5803 -> 0 bytes
.hg/store/data/src/grid/mitab.h.i | Bin 1094 -> 0 bytes
.hg/store/data/src/helpers/_c_app_opts.h.i | Bin 1171 -> 0 bytes
.../data/src/helpers/_c_elevation_dialog.cpp.i | Bin 1318 -> 0 bytes
.hg/store/data/src/helpers/_c_elevation_dialog.h.i | Bin 1045 -> 0 bytes
.hg/store/data/src/helpers/_c_file_ext.h.i | Bin 1153 -> 0 bytes
.../data/src/helpers/_c_history_list_widget.cpp.i | Bin 2739 -> 0 bytes
.../data/src/helpers/_c_history_list_widget.h.i | Bin 1495 -> 0 bytes
.hg/store/data/src/helpers/_c_input_dialog.cpp.i | Bin 914 -> 0 bytes
.hg/store/data/src/helpers/_c_input_dialog.h.i | Bin 1014 -> 0 bytes
.hg/store/data/src/helpers/_c_links_dialog.cpp.i | Bin 1116 -> 0 bytes
.hg/store/data/src/helpers/_c_links_dialog.h.i | Bin 1039 -> 0 bytes
.hg/store/data/src/helpers/_c_photo_album.cpp.i | Bin 3133 -> 0 bytes
.hg/store/data/src/helpers/_c_photo_album.h.i | Bin 1630 -> 0 bytes
.hg/store/data/src/helpers/_c_photo_viewer.cpp.i | Bin 2070 -> 0 bytes
.hg/store/data/src/helpers/_c_photo_viewer.h.i | Bin 854 -> 0 bytes
.../data/src/helpers/_c_position_dialog.cpp.i | Bin 1498 -> 0 bytes
.hg/store/data/src/helpers/_c_position_dialog.h.i | Bin 997 -> 0 bytes
.../data/src/helpers/_c_select_copy_action.cpp.i | Bin 1733 -> 0 bytes
.../data/src/helpers/_c_select_copy_action.h.i | Bin 1485 -> 0 bytes
.../src/helpers/_c_select_project_dialog.cpp.i | Bin 3369 -> 0 bytes
.../data/src/helpers/_c_select_project_dialog.h.i | Bin 1532 -> 0 bytes
.hg/store/data/src/helpers/_c_settings.h.i | Bin 1247 -> 0 bytes
.../data/src/helpers/_c_text_edit_widget.cpp.i | Bin 4214 -> 0 bytes
.hg/store/data/src/helpers/_c_text_edit_widget.h.i | Bin 2528 -> 0 bytes
.../data/src/helpers/_c_wpt_icon_dialog.cpp.i | Bin 1922 -> 0 bytes
.hg/store/data/src/helpers/_c_wpt_icon_dialog.h.i | Bin 1214 -> 0 bytes
.../data/src/helpers/_i_elevation_dialog.ui.i | Bin 798 -> 0 bytes
.hg/store/data/src/helpers/_i_input_dialog.ui.i | Bin 667 -> 0 bytes
.hg/store/data/src/helpers/_i_links_dialog.ui.i | Bin 846 -> 0 bytes
.hg/store/data/src/helpers/_i_photo_album.ui.i | Bin 644 -> 0 bytes
.hg/store/data/src/helpers/_i_position_dialog.ui.i | Bin 767 -> 0 bytes
.../data/src/helpers/_i_select_copy_action.ui.i | Bin 1179 -> 0 bytes
.../data/src/helpers/_i_select_project_dialog.ui.i | Bin 1354 -> 0 bytes
.../data/src/helpers/_i_text_edit_widget.ui.i | Bin 2054 -> 0 bytes
.hg/store/data/src/helpers/_i_wpt_icon_dialog.ui.i | Bin 716 -> 0 bytes
.hg/store/data/src/helpers/_platform.h.i | Bin 4671 -> 0 bytes
.hg/store/data/src/icons/16x16/2_d_fix.png.i | Bin 537 -> 0 bytes
.hg/store/data/src/icons/16x16/3_d_fix.png.i | Bin 600 -> 0 bytes
.hg/store/data/src/icons/16x16/_add.png.i | Bin 356 -> 0 bytes
.../data/src/icons/16x16/_add_map_workspace.png.i | Bin 1623 -> 0 bytes
.hg/store/data/src/icons/16x16/_add_wpt.png.i | Bin 585 -> 0 bytes
.hg/store/data/src/icons/16x16/_cancel.png.i | Bin 606 -> 0 bytes
.hg/store/data/src/icons/16x16/_check.png.i | Bin 560 -> 0 bytes
.hg/store/data/src/icons/16x16/_close.png.i | Bin 557 -> 0 bytes
.hg/store/data/src/icons/16x16/_copy.png.i | Bin 386 -> 0 bytes
.hg/store/data/src/icons/16x16/_cut.png.i | Bin 639 -> 0 bytes
.../data/src/icons/16x16/_delete_multiple.png.i | Bin 538 -> 0 bytes
.hg/store/data/src/icons/16x16/_delete_one.png.i | Bin 494 -> 0 bytes
.hg/store/data/src/icons/16x16/_down.png.i | Bin 483 -> 0 bytes
.hg/store/data/src/icons/16x16/_edit_details.png.i | Bin 790 -> 0 bytes
.hg/store/data/src/icons/16x16/_edit_text.png.i | Bin 651 -> 0 bytes
.hg/store/data/src/icons/16x16/_folder_d_e_m.png.i | Bin 1664 -> 0 bytes
.hg/store/data/src/icons/16x16/_folder_map.png.i | Bin 2045 -> 0 bytes
.hg/store/data/src/icons/16x16/_font.png.i | Bin 465 -> 0 bytes
.hg/store/data/src/icons/16x16/_from_map.png.i | Bin 843 -> 0 bytes
.hg/store/data/src/icons/16x16/_gis_project.png.i | Bin 690 -> 0 bytes
.hg/store/data/src/icons/16x16/_grid.png.i | Bin 490 -> 0 bytes
.hg/store/data/src/icons/16x16/_grid_setup.png.i | Bin 918 -> 0 bytes
.hg/store/data/src/icons/16x16/_grid_wizzard.png.i | Bin 845 -> 0 bytes
.hg/store/data/src/icons/16x16/_help.png.i | Bin 650 -> 0 bytes
.hg/store/data/src/icons/16x16/_info.png.i | Bin 570 -> 0 bytes
.hg/store/data/src/icons/16x16/_line_move.png.i | Bin 634 -> 0 bytes
.hg/store/data/src/icons/16x16/_load_g_i_s.png.i | Bin 616 -> 0 bytes
.hg/store/data/src/icons/16x16/_lock.png.i | Bin 604 -> 0 bytes
.hg/store/data/src/icons/16x16/_map.png.i | Bin 627 -> 0 bytes
.hg/store/data/src/icons/16x16/_map_room.png.i | Bin 778 -> 0 bytes
.../data/src/icons/16x16/_mime_dem_v_r_t.png.i | Bin 720 -> 0 bytes
.hg/store/data/src/icons/16x16/_mime_i_m_g.png.i | Bin 745 -> 0 bytes
.hg/store/data/src/icons/16x16/_mime_j_n_x.png.i | Bin 750 -> 0 bytes
.hg/store/data/src/icons/16x16/_mime_m_a_p.png.i | Bin 858 -> 0 bytes
.hg/store/data/src/icons/16x16/_mime_r_m_a_p.png.i | Bin 820 -> 0 bytes
.hg/store/data/src/icons/16x16/_mime_v_r_t.png.i | Bin 1474 -> 0 bytes
.hg/store/data/src/icons/16x16/_mime_w_m_t_s.png.i | Bin 796 -> 0 bytes
.hg/store/data/src/icons/16x16/_mouse_wheel.png.i | Bin 679 -> 0 bytes
.hg/store/data/src/icons/16x16/_night_day.png.i | Bin 539 -> 0 bytes
.hg/store/data/src/icons/16x16/_no_fix.png.i | Bin 473 -> 0 bytes
.hg/store/data/src/icons/16x16/_off.png.i | Bin 647 -> 0 bytes
.hg/store/data/src/icons/16x16/_p_o_i_text.png.i | Bin 511 -> 0 bytes
.hg/store/data/src/icons/16x16/_paste.png.i | Bin 411 -> 0 bytes
.hg/store/data/src/icons/16x16/_point_move.png.i | Bin 555 -> 0 bytes
.hg/store/data/src/icons/16x16/_q_map_shack.png.i | Bin 778 -> 0 bytes
.hg/store/data/src/icons/16x16/_redo.png.i | Bin 549 -> 0 bytes
.hg/store/data/src/icons/16x16/_reset.png.i | Bin 697 -> 0 bytes
.hg/store/data/src/icons/16x16/_right.png.i | Bin 453 -> 0 bytes
.hg/store/data/src/icons/16x16/_route.png.i | Bin 944 -> 0 bytes
.../data/src/icons/16x16/_save_all_g_i_s.png.i | Bin 816 -> 0 bytes
.hg/store/data/src/icons/16x16/_save_g_i_s.png.i | Bin 603 -> 0 bytes
.hg/store/data/src/icons/16x16/_scale.png.i | Bin 448 -> 0 bytes
.hg/store/data/src/icons/16x16/_select_color.png.i | Bin 815 -> 0 bytes
.hg/store/data/src/icons/16x16/_select_range.png.i | Bin 489 -> 0 bytes
.../src/icons/16x16/_setup_map_workspace.png.i | Bin 846 -> 0 bytes
.hg/store/data/src/icons/16x16/_tainted.png.i | Bin 1298 -> 0 bytes
.hg/store/data/src/icons/16x16/_text_bold.png.i | Bin 409 -> 0 bytes
.hg/store/data/src/icons/16x16/_text_center.png.i | Bin 335 -> 0 bytes
.hg/store/data/src/icons/16x16/_text_italic.png.i | Bin 307 -> 0 bytes
.../data/src/icons/16x16/_text_justified.png.i | Bin 297 -> 0 bytes
.hg/store/data/src/icons/16x16/_text_left.png.i | Bin 328 -> 0 bytes
.hg/store/data/src/icons/16x16/_text_right.png.i | Bin 324 -> 0 bytes
.../data/src/icons/16x16/_text_underlined.png.i | Bin 397 -> 0 bytes
.../data/src/icons/16x16/_time_zone_setup.png.i | Bin 912 -> 0 bytes
.hg/store/data/src/icons/16x16/_to_bottom.png.i | Bin 492 -> 0 bytes
.hg/store/data/src/icons/16x16/_to_top.png.i | Bin 499 -> 0 bytes
.hg/store/data/src/icons/16x16/_tool_tip.png.i | Bin 623 -> 0 bytes
.hg/store/data/src/icons/16x16/_track.png.i | Bin 497 -> 0 bytes
.hg/store/data/src/icons/16x16/_trk_cut.png.i | Bin 739 -> 0 bytes
.hg/store/data/src/icons/16x16/_trk_profile.png.i | Bin 610 -> 0 bytes
.hg/store/data/src/icons/16x16/_un_lock.png.i | Bin 606 -> 0 bytes
.hg/store/data/src/icons/16x16/_undo.png.i | Bin 558 -> 0 bytes
.hg/store/data/src/icons/16x16/_up.png.i | Bin 492 -> 0 bytes
.hg/store/data/src/icons/16x16/_wpt_move.png.i | Bin 583 -> 0 bytes
.hg/store/data/src/icons/16x16/_wpt_proj.png.i | Bin 1554 -> 0 bytes
.hg/store/data/src/icons/16x16/add.png.i | Bin 427 -> 0 bytes
.hg/store/data/src/icons/16x16/add_canvas.png.i | Bin 815 -> 0 bytes
.hg/store/data/src/icons/16x16/delete.png.i | Bin 490 -> 0 bytes
.hg/store/data/src/icons/16x16/delete_all.png.i | Bin 532 -> 0 bytes
.hg/store/data/src/icons/16x16/down.png.i | Bin 482 -> 0 bytes
.../data/src/icons/16x16/flip_direction.png.i | Bin 679 -> 0 bytes
.hg/store/data/src/icons/16x16/font.png.i | Bin 465 -> 0 bytes
.hg/store/data/src/icons/16x16/from_map.png.i | Bin 848 -> 0 bytes
.hg/store/data/src/icons/16x16/grid.png.i | Bin 490 -> 0 bytes
.hg/store/data/src/icons/16x16/grid_setup.png.i | Bin 905 -> 0 bytes
.hg/store/data/src/icons/16x16/grid_wizard.png.i | Bin 845 -> 0 bytes
.hg/store/data/src/icons/16x16/icons.svg.save.i | Bin 1024 -> 0 bytes
.hg/store/data/src/icons/16x16/jnx.png.i | Bin 751 -> 0 bytes
.hg/store/data/src/icons/16x16/map.png.i | Bin 784 -> 0 bytes
.hg/store/data/src/icons/16x16/mime__img.png.i | Bin 739 -> 0 bytes
.hg/store/data/src/icons/16x16/mime__jnx.png.i | Bin 750 -> 0 bytes
.hg/store/data/src/icons/16x16/mime__map.png.i | Bin 847 -> 0 bytes
.hg/store/data/src/icons/16x16/mime__rmap.png.i | Bin 799 -> 0 bytes
.hg/store/data/src/icons/16x16/mime__vrt.png.i | Bin 704 -> 0 bytes
.hg/store/data/src/icons/16x16/night_day.png.i | Bin 539 -> 0 bytes
.hg/store/data/src/icons/16x16/path_map.png.i | Bin 2378 -> 0 bytes
.hg/store/data/src/icons/16x16/poi_text.png.i | Bin 511 -> 0 bytes
.hg/store/data/src/icons/16x16/red_glow.png.i | Bin 513 -> 0 bytes
.hg/store/data/src/icons/16x16/reset.png.i | Bin 688 -> 0 bytes
.hg/store/data/src/icons/16x16/rmap.png.i | Bin 813 -> 0 bytes
.hg/store/data/src/icons/16x16/scale.png.i | Bin 445 -> 0 bytes
.hg/store/data/src/icons/16x16/select_color.png.i | Bin 815 -> 0 bytes
.hg/store/data/src/icons/16x16/to_bottom.png.i | Bin 490 -> 0 bytes
.hg/store/data/src/icons/16x16/tool_tip.png.i | Bin 623 -> 0 bytes
.hg/store/data/src/icons/16x16/up.png.i | Bin 492 -> 0 bytes
.hg/store/data/src/icons/16x16/view.png.i | Bin 705 -> 0 bytes
.hg/store/data/src/icons/16x16/wizzard.png.i | Bin 641 -> 0 bytes
.hg/store/data/src/icons/2_d_fix.svg.i | Bin 1220 -> 0 bytes
.hg/store/data/src/icons/2_nav_project.svg.i | Bin 1624 -> 0 bytes
.hg/store/data/src/icons/32x32/2_d_fix.png.i | Bin 780 -> 0 bytes
.hg/store/data/src/icons/32x32/2_nav_project.png.i | Bin 1290 -> 0 bytes
.hg/store/data/src/icons/32x32/3_d_fix.png.i | Bin 962 -> 0 bytes
.hg/store/data/src/icons/32x32/_add.png.i | Bin 427 -> 0 bytes
.hg/store/data/src/icons/32x32/_add_area.png.i | Bin 1353 -> 0 bytes
.hg/store/data/src/icons/32x32/_add_image.png.i | Bin 1186 -> 0 bytes
.../data/src/icons/32x32/_add_map_workspace.png.i | Bin 3034 -> 0 bytes
.hg/store/data/src/icons/32x32/_add_project.png.i | Bin 2160 -> 0 bytes
.hg/store/data/src/icons/32x32/_add_trk.png.i | Bin 1044 -> 0 bytes
.hg/store/data/src/icons/32x32/_add_wpt.png.i | Bin 917 -> 0 bytes
.hg/store/data/src/icons/32x32/_apply.png.i | Bin 1995 -> 0 bytes
.hg/store/data/src/icons/32x32/_area.png.i | Bin 1237 -> 0 bytes
.hg/store/data/src/icons/32x32/_area_move.png.i | Bin 1745 -> 0 bytes
.hg/store/data/src/icons/32x32/_cancel.png.i | Bin 947 -> 0 bytes
.hg/store/data/src/icons/32x32/_check.png.i | Bin 1013 -> 0 bytes
.hg/store/data/src/icons/32x32/_close.png.i | Bin 920 -> 0 bytes
.hg/store/data/src/icons/32x32/_combine.png.i | Bin 1543 -> 0 bytes
.hg/store/data/src/icons/32x32/_copy.png.i | Bin 1007 -> 0 bytes
.hg/store/data/src/icons/32x32/_cut.png.i | Bin 1306 -> 0 bytes
.hg/store/data/src/icons/32x32/_cut_history.png.i | Bin 1071 -> 0 bytes
.hg/store/data/src/icons/32x32/_d_b_project.png.i | Bin 1598 -> 0 bytes
.hg/store/data/src/icons/32x32/_database.png.i | Bin 1342 -> 0 bytes
.../data/src/icons/32x32/_database_convert.png.i | Bin 3589 -> 0 bytes
.../data/src/icons/32x32/_database_setup.png.i | Bin 4955 -> 0 bytes
.hg/store/data/src/icons/32x32/_del_image.png.i | Bin 2436 -> 0 bytes
.../data/src/icons/32x32/_delete_multiple.png.i | Bin 963 -> 0 bytes
.hg/store/data/src/icons/32x32/_delete_one.png.i | Bin 816 -> 0 bytes
.hg/store/data/src/icons/32x32/_device.png.i | Bin 669 -> 0 bytes
.hg/store/data/src/icons/32x32/_down.png.i | Bin 720 -> 0 bytes
.hg/store/data/src/icons/32x32/_edit_details.png.i | Bin 1736 -> 0 bytes
.hg/store/data/src/icons/32x32/_edit_text.png.i | Bin 1134 -> 0 bytes
.hg/store/data/src/icons/32x32/_empty.png.i | Bin 646 -> 0 bytes
.hg/store/data/src/icons/32x32/_error.png.i | Bin 1195 -> 0 bytes
.hg/store/data/src/icons/32x32/_folder_d_e_m.png.i | Bin 4116 -> 0 bytes
.hg/store/data/src/icons/32x32/_folder_map.png.i | Bin 5820 -> 0 bytes
.hg/store/data/src/icons/32x32/_font.png.i | Bin 687 -> 0 bytes
.hg/store/data/src/icons/32x32/_from_map.png.i | Bin 1859 -> 0 bytes
.hg/store/data/src/icons/32x32/_gis_project.png.i | Bin 1325 -> 0 bytes
.hg/store/data/src/icons/32x32/_gpx_project.png.i | Bin 1334 -> 0 bytes
.hg/store/data/src/icons/32x32/_grid.png.i | Bin 568 -> 0 bytes
.hg/store/data/src/icons/32x32/_grid_setup.png.i | Bin 2044 -> 0 bytes
.hg/store/data/src/icons/32x32/_grid_wizzard.png.i | Bin 1577 -> 0 bytes
.hg/store/data/src/icons/32x32/_help.png.i | Bin 1218 -> 0 bytes
.hg/store/data/src/icons/32x32/_image.png.i | Bin 1065 -> 0 bytes
.hg/store/data/src/icons/32x32/_info.png.i | Bin 991 -> 0 bytes
.hg/store/data/src/icons/32x32/_left.png.i | Bin 734 -> 0 bytes
.hg/store/data/src/icons/32x32/_line_move.png.i | Bin 1215 -> 0 bytes
.hg/store/data/src/icons/32x32/_link.png.i | Bin 1017 -> 0 bytes
.hg/store/data/src/icons/32x32/_load_g_i_s.png.i | Bin 2268 -> 0 bytes
.hg/store/data/src/icons/32x32/_load_view.png.i | Bin 1577 -> 0 bytes
.hg/store/data/src/icons/32x32/_lock.png.i | Bin 997 -> 0 bytes
.hg/store/data/src/icons/32x32/_map.png.i | Bin 1234 -> 0 bytes
.hg/store/data/src/icons/32x32/_map_room.png.i | Bin 1615 -> 0 bytes
.../data/src/icons/32x32/_mime_dem_v_r_t.png.i | Bin 2589 -> 0 bytes
.hg/store/data/src/icons/32x32/_mime_i_m_g.png.i | Bin 3408 -> 0 bytes
.hg/store/data/src/icons/32x32/_mime_j_n_x.png.i | Bin 3414 -> 0 bytes
.hg/store/data/src/icons/32x32/_mime_m_a_p.png.i | Bin 3778 -> 0 bytes
.hg/store/data/src/icons/32x32/_mime_r_m_a_p.png.i | Bin 3812 -> 0 bytes
.hg/store/data/src/icons/32x32/_mime_t_m_s.png.i | Bin 2745 -> 0 bytes
.hg/store/data/src/icons/32x32/_mime_v_r_t.png.i | Bin 4991 -> 0 bytes
.hg/store/data/src/icons/32x32/_mime_w_m_t_s.png.i | Bin 3639 -> 0 bytes
.hg/store/data/src/icons/32x32/_mouse_wheel.png.i | Bin 1292 -> 0 bytes
.hg/store/data/src/icons/32x32/_move.png.i | Bin 934 -> 0 bytes
.hg/store/data/src/icons/32x32/_night_day.png.i | Bin 1018 -> 0 bytes
.hg/store/data/src/icons/32x32/_no_fix.png.i | Bin 726 -> 0 bytes
.hg/store/data/src/icons/32x32/_off.png.i | Bin 1138 -> 0 bytes
.hg/store/data/src/icons/32x32/_opacity.png.i | Bin 844 -> 0 bytes
.hg/store/data/src/icons/32x32/_p_o_i_text.png.i | Bin 787 -> 0 bytes
.hg/store/data/src/icons/32x32/_paste.png.i | Bin 519 -> 0 bytes
.hg/store/data/src/icons/32x32/_path.png.i | Bin 601 -> 0 bytes
.hg/store/data/src/icons/32x32/_path_blue.png.i | Bin 601 -> 0 bytes
.hg/store/data/src/icons/32x32/_path_green.png.i | Bin 609 -> 0 bytes
.hg/store/data/src/icons/32x32/_path_orange.png.i | Bin 603 -> 0 bytes
.hg/store/data/src/icons/32x32/_pattern.png.i | Bin 1555 -> 0 bytes
.hg/store/data/src/icons/32x32/_point_hide.png.i | Bin 878 -> 0 bytes
.hg/store/data/src/icons/32x32/_point_move.png.i | Bin 1033 -> 0 bytes
.hg/store/data/src/icons/32x32/_point_show.png.i | Bin 707 -> 0 bytes
.hg/store/data/src/icons/32x32/_print.png.i | Bin 972 -> 0 bytes
.hg/store/data/src/icons/32x32/_q_map_shack.png.i | Bin 1615 -> 0 bytes
.hg/store/data/src/icons/32x32/_qms_project.png.i | Bin 1410 -> 0 bytes
.hg/store/data/src/icons/32x32/_redo.png.i | Bin 997 -> 0 bytes
.hg/store/data/src/icons/32x32/_reload_image.png.i | Bin 1277 -> 0 bytes
.hg/store/data/src/icons/32x32/_reset.png.i | Bin 1326 -> 0 bytes
.hg/store/data/src/icons/32x32/_reverse.png.i | Bin 1427 -> 0 bytes
.hg/store/data/src/icons/32x32/_right.png.i | Bin 724 -> 0 bytes
.hg/store/data/src/icons/32x32/_route.png.i | Bin 2444 -> 0 bytes
.../data/src/icons/32x32/_save_all_g_i_s.png.i | Bin 2239 -> 0 bytes
.hg/store/data/src/icons/32x32/_save_g_i_s.png.i | Bin 2037 -> 0 bytes
.../data/src/icons/32x32/_save_g_i_s_as.png.i | Bin 1409 -> 0 bytes
.hg/store/data/src/icons/32x32/_save_view.png.i | Bin 1534 -> 0 bytes
.hg/store/data/src/icons/32x32/_scale.png.i | Bin 571 -> 0 bytes
.../data/src/icons/32x32/_search_google.png.i | Bin 5947 -> 0 bytes
.hg/store/data/src/icons/32x32/_select_color.png.i | Bin 1747 -> 0 bytes
.hg/store/data/src/icons/32x32/_select_range.png.i | Bin 2488 -> 0 bytes
.hg/store/data/src/icons/32x32/_set_ele.png.i | Bin 1760 -> 0 bytes
.../src/icons/32x32/_setup_map_workspace.png.i | Bin 2085 -> 0 bytes
.hg/store/data/src/icons/32x32/_start.png.i | Bin 923 -> 0 bytes
.hg/store/data/src/icons/32x32/_tainted.png.i | Bin 2518 -> 0 bytes
.hg/store/data/src/icons/32x32/_text_bold.png.i | Bin 600 -> 0 bytes
.hg/store/data/src/icons/32x32/_text_center.png.i | Bin 428 -> 0 bytes
.hg/store/data/src/icons/32x32/_text_italic.png.i | Bin 443 -> 0 bytes
.../data/src/icons/32x32/_text_justified.png.i | Bin 366 -> 0 bytes
.hg/store/data/src/icons/32x32/_text_left.png.i | Bin 392 -> 0 bytes
.hg/store/data/src/icons/32x32/_text_right.png.i | Bin 424 -> 0 bytes
.../data/src/icons/32x32/_text_underlined.png.i | Bin 556 -> 0 bytes
.hg/store/data/src/icons/32x32/_time.png.i | Bin 1358 -> 0 bytes
.../data/src/icons/32x32/_time_zone_setup.png.i | Bin 2322 -> 0 bytes
.hg/store/data/src/icons/32x32/_to_bottom.png.i | Bin 725 -> 0 bytes
.hg/store/data/src/icons/32x32/_to_top.png.i | Bin 714 -> 0 bytes
.hg/store/data/src/icons/32x32/_tool_tip.png.i | Bin 1143 -> 0 bytes
.hg/store/data/src/icons/32x32/_track.png.i | Bin 897 -> 0 bytes
.hg/store/data/src/icons/32x32/_trk_cut.png.i | Bin 1572 -> 0 bytes
.hg/store/data/src/icons/32x32/_trk_profile.png.i | Bin 1067 -> 0 bytes
.hg/store/data/src/icons/32x32/_un_lock.png.i | Bin 1084 -> 0 bytes
.hg/store/data/src/icons/32x32/_undo.png.i | Bin 1002 -> 0 bytes
.hg/store/data/src/icons/32x32/_unit_setup.png.i | Bin 4444 -> 0 bytes
.hg/store/data/src/icons/32x32/_up.png.i | Bin 710 -> 0 bytes
.hg/store/data/src/icons/32x32/_vrt_builder.png.i | Bin 5001 -> 0 bytes
.hg/store/data/src/icons/32x32/_wpt_move.png.i | Bin 1063 -> 0 bytes
.hg/store/data/src/icons/32x32/_wpt_proj.png.i | Bin 2696 -> 0 bytes
.hg/store/data/src/icons/32x32/_wpt_prox.png.i | Bin 982 -> 0 bytes
.hg/store/data/src/icons/32x32/add.png.i | Bin 427 -> 0 bytes
.hg/store/data/src/icons/32x32/add_canvas.png.i | Bin 1418 -> 0 bytes
.hg/store/data/src/icons/32x32/cancel.png.i | Bin 977 -> 0 bytes
.hg/store/data/src/icons/32x32/check.png.i | Bin 1018 -> 0 bytes
.hg/store/data/src/icons/32x32/delete.png.i | Bin 819 -> 0 bytes
.hg/store/data/src/icons/32x32/delete_all.png.i | Bin 960 -> 0 bytes
.hg/store/data/src/icons/32x32/down.png.i | Bin 725 -> 0 bytes
.../data/src/icons/32x32/flip_direction.png.i | Bin 1292 -> 0 bytes
.hg/store/data/src/icons/32x32/font.png.i | Bin 687 -> 0 bytes
.hg/store/data/src/icons/32x32/from_map.png.i | Bin 1740 -> 0 bytes
.hg/store/data/src/icons/32x32/grid.png.i | Bin 568 -> 0 bytes
.hg/store/data/src/icons/32x32/grid_setup.png.i | Bin 2039 -> 0 bytes
.hg/store/data/src/icons/32x32/grid_wizard.png.i | Bin 1577 -> 0 bytes
.hg/store/data/src/icons/32x32/icons.svg.save.i | Bin 2269 -> 0 bytes
.hg/store/data/src/icons/32x32/jnx.png.i | Bin 1561 -> 0 bytes
.hg/store/data/src/icons/32x32/map.png.i | Bin 1626 -> 0 bytes
.hg/store/data/src/icons/32x32/mime__img.png.i | Bin 1578 -> 0 bytes
.hg/store/data/src/icons/32x32/mime__jnx.png.i | Bin 1582 -> 0 bytes
.hg/store/data/src/icons/32x32/mime__map.png.i | Bin 1868 -> 0 bytes
.hg/store/data/src/icons/32x32/mime__rmap.png.i | Bin 1770 -> 0 bytes
.hg/store/data/src/icons/32x32/mime__vrt.png.i | Bin 1440 -> 0 bytes
.hg/store/data/src/icons/32x32/night_day.png.i | Bin 1018 -> 0 bytes
.hg/store/data/src/icons/32x32/path_map.png.i | Bin 5791 -> 0 bytes
.hg/store/data/src/icons/32x32/poi_text.png.i | Bin 787 -> 0 bytes
.hg/store/data/src/icons/32x32/reset.png.i | Bin 1332 -> 0 bytes
.hg/store/data/src/icons/32x32/rmap.png.i | Bin 1769 -> 0 bytes
.hg/store/data/src/icons/32x32/scale.png.i | Bin 573 -> 0 bytes
.hg/store/data/src/icons/32x32/select_color.png.i | Bin 1752 -> 0 bytes
.hg/store/data/src/icons/32x32/to-top.png.i | Bin 710 -> 0 bytes
.hg/store/data/src/icons/32x32/to_bottom.png.i | Bin 719 -> 0 bytes
.hg/store/data/src/icons/32x32/tool_tip.png.i | Bin 1141 -> 0 bytes
.hg/store/data/src/icons/32x32/up.png.i | Bin 708 -> 0 bytes
.hg/store/data/src/icons/32x32/view.png.i | Bin 1439 -> 0 bytes
.hg/store/data/src/icons/32x32/wizzard.png.i | Bin 1322 -> 0 bytes
.hg/store/data/src/icons/3_d_fix.svg.i | Bin 1218 -> 0 bytes
.hg/store/data/src/icons/48x48/2_d_fix.png.i | Bin 1111 -> 0 bytes
.hg/store/data/src/icons/48x48/2_nav_project.png.i | Bin 1908 -> 0 bytes
.hg/store/data/src/icons/48x48/3_d_fix.png.i | Bin 1408 -> 0 bytes
.hg/store/data/src/icons/48x48/_add.png.i | Bin 457 -> 0 bytes
.hg/store/data/src/icons/48x48/_add_area.png.i | Bin 2109 -> 0 bytes
.hg/store/data/src/icons/48x48/_add_image.png.i | Bin 1613 -> 0 bytes
.../data/src/icons/48x48/_add_map_workspace.png.i | Bin 4539 -> 0 bytes
.hg/store/data/src/icons/48x48/_add_project.png.i | Bin 2864 -> 0 bytes
.hg/store/data/src/icons/48x48/_add_trk.png.i | Bin 1300 -> 0 bytes
.hg/store/data/src/icons/48x48/_add_wpt.png.i | Bin 1293 -> 0 bytes
.hg/store/data/src/icons/48x48/_apply.png.i | Bin 3303 -> 0 bytes
.hg/store/data/src/icons/48x48/_area.png.i | Bin 1958 -> 0 bytes
.hg/store/data/src/icons/48x48/_area_move.png.i | Bin 2879 -> 0 bytes
.hg/store/data/src/icons/48x48/_cancel.png.i | Bin 1084 -> 0 bytes
.hg/store/data/src/icons/48x48/_check.png.i | Bin 1457 -> 0 bytes
.hg/store/data/src/icons/48x48/_close.png.i | Bin 1298 -> 0 bytes
.hg/store/data/src/icons/48x48/_combine.png.i | Bin 2061 -> 0 bytes
.hg/store/data/src/icons/48x48/_copy.png.i | Bin 1267 -> 0 bytes
.hg/store/data/src/icons/48x48/_cut.png.i | Bin 2092 -> 0 bytes
.hg/store/data/src/icons/48x48/_cut_history.png.i | Bin 1633 -> 0 bytes
.hg/store/data/src/icons/48x48/_d_b_project.png.i | Bin 2310 -> 0 bytes
.hg/store/data/src/icons/48x48/_database.png.i | Bin 2011 -> 0 bytes
.../data/src/icons/48x48/_database_convert.png.i | Bin 5587 -> 0 bytes
.../data/src/icons/48x48/_database_setup.png.i | Bin 7961 -> 0 bytes
.hg/store/data/src/icons/48x48/_del_image.png.i | Bin 3197 -> 0 bytes
.../data/src/icons/48x48/_delete_multiple.png.i | Bin 1441 -> 0 bytes
.hg/store/data/src/icons/48x48/_delete_one.png.i | Bin 1198 -> 0 bytes
.hg/store/data/src/icons/48x48/_device.png.i | Bin 890 -> 0 bytes
.hg/store/data/src/icons/48x48/_down.png.i | Bin 1003 -> 0 bytes
.hg/store/data/src/icons/48x48/_edit_details.png.i | Bin 2630 -> 0 bytes
.hg/store/data/src/icons/48x48/_edit_text.png.i | Bin 1594 -> 0 bytes
.hg/store/data/src/icons/48x48/_empty.png.i | Bin 926 -> 0 bytes
.hg/store/data/src/icons/48x48/_error.png.i | Bin 1928 -> 0 bytes
.hg/store/data/src/icons/48x48/_folder_d_e_m.png.i | Bin 5508 -> 0 bytes
.hg/store/data/src/icons/48x48/_folder_map.png.i | Bin 9053 -> 0 bytes
.hg/store/data/src/icons/48x48/_font.png.i | Bin 869 -> 0 bytes
.hg/store/data/src/icons/48x48/_from_map.png.i | Bin 3097 -> 0 bytes
.hg/store/data/src/icons/48x48/_gis_project.png.i | Bin 2005 -> 0 bytes
.hg/store/data/src/icons/48x48/_gpx_project.png.i | Bin 1988 -> 0 bytes
.hg/store/data/src/icons/48x48/_grid.png.i | Bin 726 -> 0 bytes
.hg/store/data/src/icons/48x48/_grid_setup.png.i | Bin 3384 -> 0 bytes
.hg/store/data/src/icons/48x48/_grid_wizzard.png.i | Bin 2480 -> 0 bytes
.hg/store/data/src/icons/48x48/_help.png.i | Bin 1835 -> 0 bytes
.hg/store/data/src/icons/48x48/_image.png.i | Bin 1433 -> 0 bytes
.hg/store/data/src/icons/48x48/_info.png.i | Bin 1467 -> 0 bytes
.hg/store/data/src/icons/48x48/_left.png.i | Bin 1041 -> 0 bytes
.hg/store/data/src/icons/48x48/_line_move.png.i | Bin 1849 -> 0 bytes
.hg/store/data/src/icons/48x48/_link.png.i | Bin 1158 -> 0 bytes
.hg/store/data/src/icons/48x48/_load_g_i_s.png.i | Bin 3320 -> 0 bytes
.hg/store/data/src/icons/48x48/_load_view.png.i | Bin 2416 -> 0 bytes
.hg/store/data/src/icons/48x48/_lock.png.i | Bin 1437 -> 0 bytes
.hg/store/data/src/icons/48x48/_map.png.i | Bin 1988 -> 0 bytes
.hg/store/data/src/icons/48x48/_map_room.png.i | Bin 2577 -> 0 bytes
.../data/src/icons/48x48/_mime_dem_v_r_t.png.i | Bin 3788 -> 0 bytes
.hg/store/data/src/icons/48x48/_mime_i_m_g.png.i | Bin 5345 -> 0 bytes
.hg/store/data/src/icons/48x48/_mime_j_n_x.png.i | Bin 5416 -> 0 bytes
.hg/store/data/src/icons/48x48/_mime_m_a_p.png.i | Bin 5816 -> 0 bytes
.hg/store/data/src/icons/48x48/_mime_r_m_a_p.png.i | Bin 5942 -> 0 bytes
.hg/store/data/src/icons/48x48/_mime_t_m_s.png.i | Bin 4409 -> 0 bytes
.hg/store/data/src/icons/48x48/_mime_v_r_t.png.i | Bin 7816 -> 0 bytes
.hg/store/data/src/icons/48x48/_mime_w_m_t_s.png.i | Bin 6099 -> 0 bytes
.hg/store/data/src/icons/48x48/_mouse_wheel.png.i | Bin 1904 -> 0 bytes
.hg/store/data/src/icons/48x48/_move.png.i | Bin 1191 -> 0 bytes
.hg/store/data/src/icons/48x48/_night_day.png.i | Bin 1520 -> 0 bytes
.hg/store/data/src/icons/48x48/_no_fix.png.i | Bin 1020 -> 0 bytes
.hg/store/data/src/icons/48x48/_off.png.i | Bin 1696 -> 0 bytes
.hg/store/data/src/icons/48x48/_opacity.png.i | Bin 1233 -> 0 bytes
.hg/store/data/src/icons/48x48/_p_o_i_text.png.i | Bin 1164 -> 0 bytes
.hg/store/data/src/icons/48x48/_paste.png.i | Bin 595 -> 0 bytes
.hg/store/data/src/icons/48x48/_path.png.i | Bin 821 -> 0 bytes
.hg/store/data/src/icons/48x48/_path_blue.png.i | Bin 821 -> 0 bytes
.hg/store/data/src/icons/48x48/_path_green.png.i | Bin 818 -> 0 bytes
.hg/store/data/src/icons/48x48/_path_orange.png.i | Bin 798 -> 0 bytes
.hg/store/data/src/icons/48x48/_pattern.png.i | Bin 2325 -> 0 bytes
.hg/store/data/src/icons/48x48/_point_hide.png.i | Bin 1240 -> 0 bytes
.hg/store/data/src/icons/48x48/_point_move.png.i | Bin 1583 -> 0 bytes
.hg/store/data/src/icons/48x48/_point_show.png.i | Bin 934 -> 0 bytes
.hg/store/data/src/icons/48x48/_print.png.i | Bin 1227 -> 0 bytes
.hg/store/data/src/icons/48x48/_q_map_shack.png.i | Bin 2577 -> 0 bytes
.hg/store/data/src/icons/48x48/_qms_project.png.i | Bin 2173 -> 0 bytes
.hg/store/data/src/icons/48x48/_redo.png.i | Bin 1409 -> 0 bytes
.hg/store/data/src/icons/48x48/_reload_image.png.i | Bin 1788 -> 0 bytes
.hg/store/data/src/icons/48x48/_reset.png.i | Bin 1961 -> 0 bytes
.hg/store/data/src/icons/48x48/_reverse.png.i | Bin 2221 -> 0 bytes
.hg/store/data/src/icons/48x48/_right.png.i | Bin 977 -> 0 bytes
.hg/store/data/src/icons/48x48/_route.png.i | Bin 4444 -> 0 bytes
.../data/src/icons/48x48/_save_all_g_i_s.png.i | Bin 3144 -> 0 bytes
.hg/store/data/src/icons/48x48/_save_g_i_s.png.i | Bin 2790 -> 0 bytes
.../data/src/icons/48x48/_save_g_i_s_as.png.i | Bin 2075 -> 0 bytes
.hg/store/data/src/icons/48x48/_save_view.png.i | Bin 2261 -> 0 bytes
.hg/store/data/src/icons/48x48/_scale.png.i | Bin 578 -> 0 bytes
.../data/src/icons/48x48/_search_google.png.i | Bin 9555 -> 0 bytes
.hg/store/data/src/icons/48x48/_select_color.png.i | Bin 2678 -> 0 bytes
.hg/store/data/src/icons/48x48/_select_range.png.i | Bin 3275 -> 0 bytes
.hg/store/data/src/icons/48x48/_set_ele.png.i | Bin 2425 -> 0 bytes
.../src/icons/48x48/_setup_map_workspace.png.i | Bin 3572 -> 0 bytes
.hg/store/data/src/icons/48x48/_start.png.i | Bin 1329 -> 0 bytes
.hg/store/data/src/icons/48x48/_tainted.png.i | Bin 3997 -> 0 bytes
.hg/store/data/src/icons/48x48/_text_bold.png.i | Bin 807 -> 0 bytes
.hg/store/data/src/icons/48x48/_text_center.png.i | Bin 472 -> 0 bytes
.hg/store/data/src/icons/48x48/_text_italic.png.i | Bin 558 -> 0 bytes
.../data/src/icons/48x48/_text_justified.png.i | Bin 446 -> 0 bytes
.hg/store/data/src/icons/48x48/_text_left.png.i | Bin 468 -> 0 bytes
.hg/store/data/src/icons/48x48/_text_right.png.i | Bin 470 -> 0 bytes
.../data/src/icons/48x48/_text_underlined.png.i | Bin 694 -> 0 bytes
.hg/store/data/src/icons/48x48/_time.png.i | Bin 2057 -> 0 bytes
.../data/src/icons/48x48/_time_zone_setup.png.i | Bin 3912 -> 0 bytes
.hg/store/data/src/icons/48x48/_to_bottom.png.i | Bin 997 -> 0 bytes
.hg/store/data/src/icons/48x48/_to_top.png.i | Bin 967 -> 0 bytes
.hg/store/data/src/icons/48x48/_tool_tip.png.i | Bin 1652 -> 0 bytes
.hg/store/data/src/icons/48x48/_track.png.i | Bin 1335 -> 0 bytes
.hg/store/data/src/icons/48x48/_trk_cut.png.i | Bin 2487 -> 0 bytes
.hg/store/data/src/icons/48x48/_trk_profile.png.i | Bin 1424 -> 0 bytes
.hg/store/data/src/icons/48x48/_un_lock.png.i | Bin 1574 -> 0 bytes
.hg/store/data/src/icons/48x48/_undo.png.i | Bin 1435 -> 0 bytes
.hg/store/data/src/icons/48x48/_unit_setup.png.i | Bin 7484 -> 0 bytes
.hg/store/data/src/icons/48x48/_up.png.i | Bin 980 -> 0 bytes
.hg/store/data/src/icons/48x48/_vrt_builder.png.i | Bin 8747 -> 0 bytes
.hg/store/data/src/icons/48x48/_wpt_move.png.i | Bin 1602 -> 0 bytes
.hg/store/data/src/icons/48x48/_wpt_proj.png.i | Bin 4038 -> 0 bytes
.hg/store/data/src/icons/48x48/_wpt_prox.png.i | Bin 1406 -> 0 bytes
.hg/store/data/src/icons/48x48/grid_setup.png.i | Bin 3386 -> 0 bytes
.hg/store/data/src/icons/48x48/grid_wizard.png.i | Bin 2480 -> 0 bytes
.hg/store/data/src/icons/48x48/help.png.i | Bin 1870 -> 0 bytes
.hg/store/data/src/icons/48x48/path_map.png.i | Bin 9798 -> 0 bytes
.hg/store/data/src/icons/8x8/bullet__black.png.i | Bin 281 -> 0 bytes
.hg/store/data/src/icons/8x8/bullet__blue.png.i | Bin 276 -> 0 bytes
.hg/store/data/src/icons/8x8/bullet__brown.png.i | Bin 291 -> 0 bytes
.hg/store/data/src/icons/8x8/bullet__cyan.png.i | Bin 272 -> 0 bytes
.../data/src/icons/8x8/bullet__dark__blue.png.i | Bin 291 -> 0 bytes
.../data/src/icons/8x8/bullet__dark__cyan.png.i | Bin 299 -> 0 bytes
.../data/src/icons/8x8/bullet__dark__gray.png.i | Bin 297 -> 0 bytes
.../data/src/icons/8x8/bullet__dark__green.png.i | Bin 291 -> 0 bytes
.../data/src/icons/8x8/bullet__dark__magenta.png.i | Bin 299 -> 0 bytes
.../data/src/icons/8x8/bullet__dark__red.png.i | Bin 291 -> 0 bytes
.../data/src/icons/8x8/bullet__dark__yellow.png.i | Bin 297 -> 0 bytes
.hg/store/data/src/icons/8x8/bullet__gray.png.i | Bin 290 -> 0 bytes
.hg/store/data/src/icons/8x8/bullet__green.png.i | Bin 273 -> 0 bytes
.hg/store/data/src/icons/8x8/bullet__magenta.png.i | Bin 270 -> 0 bytes
.hg/store/data/src/icons/8x8/bullet__orange.png.i | Bin 257 -> 0 bytes
.hg/store/data/src/icons/8x8/bullet__red.png.i | Bin 276 -> 0 bytes
.hg/store/data/src/icons/8x8/bullet__white.png.i | Bin 275 -> 0 bytes
.hg/store/data/src/icons/8x8/bullet__yellow.png.i | Bin 272 -> 0 bytes
.hg/store/data/src/icons/_add.svg.i | Bin 1024 -> 0 bytes
.hg/store/data/src/icons/_add_area.svg.d | Bin 412573 -> 0 bytes
.hg/store/data/src/icons/_add_area.svg.i | Bin 64 -> 0 bytes
.hg/store/data/src/icons/_add_image.svg.i | Bin 1012 -> 0 bytes
.hg/store/data/src/icons/_add_map_workspace.svg.i | Bin 18943 -> 0 bytes
.hg/store/data/src/icons/_add_project.svg.i | Bin 2258 -> 0 bytes
.hg/store/data/src/icons/_add_trk.svg.i | Bin 1753 -> 0 bytes
.hg/store/data/src/icons/_add_wpt.svg.i | Bin 1282 -> 0 bytes
.hg/store/data/src/icons/_apply.svg.i | Bin 2520 -> 0 bytes
.hg/store/data/src/icons/_area.svg.d | Bin 412541 -> 0 bytes
.hg/store/data/src/icons/_area.svg.i | Bin 64 -> 0 bytes
.hg/store/data/src/icons/_area_move.svg.i | Bin 4028 -> 0 bytes
.hg/store/data/src/icons/_cancel.svg.i | Bin 1056 -> 0 bytes
.hg/store/data/src/icons/_check.svg.i | Bin 955 -> 0 bytes
.hg/store/data/src/icons/_close.svg.i | Bin 1194 -> 0 bytes
.hg/store/data/src/icons/_combine.svg.i | Bin 2238 -> 0 bytes
.hg/store/data/src/icons/_copy.svg.i | Bin 1412 -> 0 bytes
.hg/store/data/src/icons/_cut.svg.i | Bin 1664 -> 0 bytes
.hg/store/data/src/icons/_cut_history.svg.i | Bin 2032 -> 0 bytes
.hg/store/data/src/icons/_d_b_project.svg.i | Bin 2104 -> 0 bytes
.hg/store/data/src/icons/_database.svg.i | Bin 1855 -> 0 bytes
.hg/store/data/src/icons/_database_convert.svg.i | Bin 2809 -> 0 bytes
.hg/store/data/src/icons/_database_setup.svg.i | Bin 5298 -> 0 bytes
.hg/store/data/src/icons/_del_image.svg.i | Bin 2026 -> 0 bytes
.hg/store/data/src/icons/_delete_multiple.svg.i | Bin 1314 -> 0 bytes
.hg/store/data/src/icons/_delete_one.svg.i | Bin 1172 -> 0 bytes
.hg/store/data/src/icons/_device.svg.i | Bin 1397 -> 0 bytes
.hg/store/data/src/icons/_down.svg.i | Bin 1183 -> 0 bytes
.hg/store/data/src/icons/_edit_details.svg.i | Bin 1717 -> 0 bytes
.hg/store/data/src/icons/_edit_text.svg.i | Bin 1639 -> 0 bytes
.hg/store/data/src/icons/_empty.svg.i | Bin 1073 -> 0 bytes
.hg/store/data/src/icons/_error.svg.i | Bin 1105 -> 0 bytes
.hg/store/data/src/icons/_folder_d_e_m.svg.i | Bin 2952 -> 0 bytes
.hg/store/data/src/icons/_folder_map.svg.i | Bin 49785 -> 0 bytes
.hg/store/data/src/icons/_font.svg.i | Bin 1175 -> 0 bytes
.hg/store/data/src/icons/_from_map.svg.i | Bin 17865 -> 0 bytes
.hg/store/data/src/icons/_gis_project.svg.i | Bin 1163 -> 0 bytes
.hg/store/data/src/icons/_gpx_project.svg.i | Bin 1642 -> 0 bytes
.hg/store/data/src/icons/_grid.svg.i | Bin 1063 -> 0 bytes
.hg/store/data/src/icons/_grid_setup.svg.i | Bin 2693 -> 0 bytes
.hg/store/data/src/icons/_grid_wizzard.svg.i | Bin 1917 -> 0 bytes
.hg/store/data/src/icons/_help.svg.i | Bin 1556 -> 0 bytes
.hg/store/data/src/icons/_image.svg.i | Bin 1113 -> 0 bytes
.hg/store/data/src/icons/_info.svg.i | Bin 1279 -> 0 bytes
.hg/store/data/src/icons/_left.svg.i | Bin 1189 -> 0 bytes
.hg/store/data/src/icons/_line_move.svg.i | Bin 1602 -> 0 bytes
.hg/store/data/src/icons/_link.svg.i | Bin 1504 -> 0 bytes
.hg/store/data/src/icons/_load_g_i_s.svg.i | Bin 2671 -> 0 bytes
.hg/store/data/src/icons/_load_view.svg.i | Bin 1565 -> 0 bytes
.hg/store/data/src/icons/_lock.svg.i | Bin 1496 -> 0 bytes
.hg/store/data/src/icons/_map.svg.i | Bin 17011 -> 0 bytes
.hg/store/data/src/icons/_map_room.svg.i | Bin 16913 -> 0 bytes
.hg/store/data/src/icons/_mime_dem_v_r_t.svg.i | Bin 1813 -> 0 bytes
.hg/store/data/src/icons/_mime_i_m_g.svg.i | Bin 31302 -> 0 bytes
.hg/store/data/src/icons/_mime_j_n_x.svg.i | Bin 31305 -> 0 bytes
.hg/store/data/src/icons/_mime_m_a_p.svg.i | Bin 31266 -> 0 bytes
.hg/store/data/src/icons/_mime_r_m_a_p.svg.i | Bin 31310 -> 0 bytes
.hg/store/data/src/icons/_mime_t_m_s.svg.i | Bin 17726 -> 0 bytes
.hg/store/data/src/icons/_mime_v_r_t.svg.i | Bin 31934 -> 0 bytes
.hg/store/data/src/icons/_mime_w_m_t_s.svg.i | Bin 33947 -> 0 bytes
.hg/store/data/src/icons/_mouse_wheel.svg.i | Bin 1828 -> 0 bytes
.hg/store/data/src/icons/_move.svg.i | Bin 1199 -> 0 bytes
.hg/store/data/src/icons/_night_day.svg.i | Bin 1973 -> 0 bytes
.hg/store/data/src/icons/_no_fix.svg.i | Bin 1233 -> 0 bytes
.hg/store/data/src/icons/_off.svg.i | Bin 1273 -> 0 bytes
.hg/store/data/src/icons/_opacity.svg.i | Bin 1263 -> 0 bytes
.hg/store/data/src/icons/_p_o_i_text.svg.i | Bin 1596 -> 0 bytes
.hg/store/data/src/icons/_paste.svg.i | Bin 1041 -> 0 bytes
.hg/store/data/src/icons/_path.svg.i | Bin 1064 -> 0 bytes
.hg/store/data/src/icons/_path_blue.svg.i | Bin 1068 -> 0 bytes
.hg/store/data/src/icons/_path_green.svg.i | Bin 1070 -> 0 bytes
.hg/store/data/src/icons/_path_orange.svg.i | Bin 1073 -> 0 bytes
.hg/store/data/src/icons/_pattern.svg.i | Bin 1380 -> 0 bytes
.hg/store/data/src/icons/_point_hide.svg.i | Bin 1742 -> 0 bytes
.hg/store/data/src/icons/_point_move.svg.i | Bin 1484 -> 0 bytes
.hg/store/data/src/icons/_point_show.svg.i | Bin 1917 -> 0 bytes
.hg/store/data/src/icons/_print.svg.i | Bin 1139 -> 0 bytes
.hg/store/data/src/icons/_q_map_shack.svg.i | Bin 16913 -> 0 bytes
.hg/store/data/src/icons/_qms_project.svg.i | Bin 1632 -> 0 bytes
.hg/store/data/src/icons/_redo.svg.i | Bin 1024 -> 0 bytes
.hg/store/data/src/icons/_reload_image.svg.i | Bin 1735 -> 0 bytes
.hg/store/data/src/icons/_reset.svg.i | Bin 1301 -> 0 bytes
.hg/store/data/src/icons/_reverse.svg.i | Bin 1393 -> 0 bytes
.hg/store/data/src/icons/_right.svg.i | Bin 1181 -> 0 bytes
.hg/store/data/src/icons/_route.svg.i | Bin 7123 -> 0 bytes
.hg/store/data/src/icons/_save_all_g_i_s.svg.i | Bin 2738 -> 0 bytes
.hg/store/data/src/icons/_save_g_i_s.svg.i | Bin 2682 -> 0 bytes
.hg/store/data/src/icons/_save_g_i_s_as.svg.i | Bin 2066 -> 0 bytes
.hg/store/data/src/icons/_save_view.svg.i | Bin 1636 -> 0 bytes
.hg/store/data/src/icons/_scale.svg.i | Bin 1230 -> 0 bytes
.hg/store/data/src/icons/_search_google.svg.i | Bin 2651 -> 0 bytes
.hg/store/data/src/icons/_select_color.svg.i | Bin 1791 -> 0 bytes
.hg/store/data/src/icons/_select_range.svg.i | Bin 2464 -> 0 bytes
.hg/store/data/src/icons/_set_ele.svg.i | Bin 2589 -> 0 bytes
.../data/src/icons/_setup_map_workspace.svg.i | Bin 2810 -> 0 bytes
.hg/store/data/src/icons/_start.svg.i | Bin 1344 -> 0 bytes
.hg/store/data/src/icons/_tainted.svg.i | Bin 4236 -> 0 bytes
.hg/store/data/src/icons/_text_bold.svg.i | Bin 1019 -> 0 bytes
.hg/store/data/src/icons/_text_center.svg.i | Bin 1018 -> 0 bytes
.hg/store/data/src/icons/_text_italic.svg.i | Bin 1107 -> 0 bytes
.hg/store/data/src/icons/_text_justified.svg.i | Bin 1005 -> 0 bytes
.hg/store/data/src/icons/_text_left.svg.i | Bin 1002 -> 0 bytes
.hg/store/data/src/icons/_text_right.svg.i | Bin 1015 -> 0 bytes
.hg/store/data/src/icons/_text_underlined.svg.i | Bin 1166 -> 0 bytes
.hg/store/data/src/icons/_time.svg.i | Bin 2132 -> 0 bytes
.hg/store/data/src/icons/_time_zone_setup.svg.i | Bin 3582 -> 0 bytes
.hg/store/data/src/icons/_to_bottom.svg.i | Bin 1265 -> 0 bytes
.hg/store/data/src/icons/_to_top.svg.i | Bin 1270 -> 0 bytes
.hg/store/data/src/icons/_tool_tip.svg.i | Bin 1733 -> 0 bytes
.hg/store/data/src/icons/_track.svg.i | Bin 1509 -> 0 bytes
.hg/store/data/src/icons/_trk_cut.svg.i | Bin 1645 -> 0 bytes
.hg/store/data/src/icons/_trk_profile.svg.i | Bin 1203 -> 0 bytes
.hg/store/data/src/icons/_un_lock.svg.i | Bin 1512 -> 0 bytes
.hg/store/data/src/icons/_undo.svg.i | Bin 1024 -> 0 bytes
.hg/store/data/src/icons/_unit_setup.svg.i | Bin 5060 -> 0 bytes
.hg/store/data/src/icons/_up.svg.i | Bin 1181 -> 0 bytes
.hg/store/data/src/icons/_vrt_builder.svg.i | Bin 18022 -> 0 bytes
.hg/store/data/src/icons/_wpt_move.svg.i | Bin 1668 -> 0 bytes
.hg/store/data/src/icons/_wpt_proj.svg.i | Bin 3211 -> 0 bytes
.hg/store/data/src/icons/_wpt_prox.svg.i | Bin 1600 -> 0 bytes
.../data/src/icons/cache/32x32/_dist_icon.png.i | Bin 724 -> 0 bytes
.../data/src/icons/cache/32x32/_o_c_m_logo.png.i | Bin 1722 -> 0 bytes
.../src/icons/cache/32x32/_o_c_m_logo_small.png.i | Bin 1732 -> 0 bytes
.../data/src/icons/cache/32x32/_search_icon.png.i | Bin 1440 -> 0 bytes
.hg/store/data/src/icons/cache/32x32/bluepin.png.i | Bin 1379 -> 0 bytes
.hg/store/data/src/icons/cache/32x32/cito.png.i | Bin 2208 -> 0 bytes
.../data/src/icons/cache/32x32/corrected.png.i | Bin 2062 -> 0 bytes
.hg/store/data/src/icons/cache/32x32/dnf.png.i | Bin 1908 -> 0 bytes
.../data/src/icons/cache/32x32/down__icon.png.i | Bin 487 -> 0 bytes
.hg/store/data/src/icons/cache/32x32/earth.png.i | Bin 1793 -> 0 bytes
.hg/store/data/src/icons/cache/32x32/event.png.i | Bin 1195 -> 0 bytes
.hg/store/data/src/icons/cache/32x32/found.png.i | Bin 1983 -> 0 bytes
.hg/store/data/src/icons/cache/32x32/ftf.png.i | Bin 2166 -> 0 bytes
.../data/src/icons/cache/32x32/greenpin.png.i | Bin 1376 -> 0 bytes
.../data/src/icons/cache/32x32/halfstar.png.i | Bin 1449 -> 0 bytes
.../data/src/icons/cache/32x32/letterbox.png.i | Bin 2171 -> 0 bytes
.hg/store/data/src/icons/cache/32x32/log.png.i | Bin 1986 -> 0 bytes
.hg/store/data/src/icons/cache/32x32/maxicon.png.i | Bin 305 -> 0 bytes
.hg/store/data/src/icons/cache/32x32/mega.png.i | Bin 2149 -> 0 bytes
.hg/store/data/src/icons/cache/32x32/minicon.png.i | Bin 305 -> 0 bytes
.hg/store/data/src/icons/cache/32x32/multi.png.i | Bin 2110 -> 0 bytes
.../src/icons/cache/32x32/needs__maintenance.png.i | Bin 719 -> 0 bytes
.hg/store/data/src/icons/cache/32x32/other.png.i | Bin 925 -> 0 bytes
.hg/store/data/src/icons/cache/32x32/parking.png.i | Bin 1602 -> 0 bytes
.hg/store/data/src/icons/cache/32x32/pushpin.png.i | Bin 1273 -> 0 bytes
.hg/store/data/src/icons/cache/32x32/restore.png.i | Bin 329 -> 0 bytes
.hg/store/data/src/icons/cache/32x32/star.png.i | Bin 1441 -> 0 bytes
.../data/src/icons/cache/32x32/star__empty.png.i | Bin 1244 -> 0 bytes
.../data/src/icons/cache/32x32/traditional.png.i | Bin 1732 -> 0 bytes
.../data/src/icons/cache/32x32/trailhead.png.i | Bin 1899 -> 0 bytes
.../data/src/icons/cache/32x32/treasure.png.i | Bin 1814 -> 0 bytes
.hg/store/data/src/icons/cache/32x32/unknown.png.i | Bin 1932 -> 0 bytes
.../data/src/icons/cache/32x32/up__icon.png.i | Bin 408 -> 0 bytes
.hg/store/data/src/icons/cache/32x32/virtual.png.i | Bin 1614 -> 0 bytes
.../src/icons/cache/32x32/waypoint-flag-red.png.i | Bin 755 -> 0 bytes
.hg/store/data/src/icons/cache/32x32/webcam.png.i | Bin 1944 -> 0 bytes
.hg/store/data/src/icons/cache/32x32/wherigo.png.i | Bin 566 -> 0 bytes
.../data/src/icons/cache/32x32/write__note.png.i | Bin 725 -> 0 bytes
.hg/store/data/src/icons/cache/_apache-2.0.i | Bin 4019 -> 0 bytes
.../data/src/icons/cache/_c_o_p_y_r_i_g_h_t.i | Bin 294 -> 0 bytes
.hg/store/data/src/icons/cache/_dist_icon.svg.i | Bin 1759 -> 0 bytes
.hg/store/data/src/icons/cache/_o_c_m_logo.svg.i | Bin 15565 -> 0 bytes
.../data/src/icons/cache/_o_c_m_logo_small.svg.i | Bin 2198 -> 0 bytes
.hg/store/data/src/icons/cache/_search_icon.svg.i | Bin 1716 -> 0 bytes
.../attributes/dis___abandoned___structure.svg.i | Bin 1935 -> 0 bytes
.../cache/attributes/dis___abandoned__mines.svg.i | Bin 1748 -> 0 bytes
.../dis___access__or__parking__fee.svg.i | Bin 1523 -> 0 bytes
.../dis___available__at__all__times.svg.i | Bin 1548 -> 0 bytes
.../dis___available__during__winter.svg.i | Bin 3575 -> 0 bytes
.../icons/cache/attributes/dis___bicycles.svg.i | Bin 2700 -> 0 bytes
.../src/icons/cache/attributes/dis___boat.svg.i | Bin 2300 -> 0 bytes
.../icons/cache/attributes/dis___campfires.svg.i | Bin 3500 -> 0 bytes
.../attributes/dis___camping__available.svg.i | Bin 1575 -> 0 bytes
.../dis___cliff______falling__rocks.svg.i | Bin 3400 -> 0 bytes
.../cache/attributes/dis___climbing__gear.svg.i | Bin 2224 -> 0 bytes
.../attributes/dis___cross___country___skis.svg.i | Bin 2233 -> 0 bytes
.../attributes/dis___dangerous___animals.svg.i | Bin 2728 -> 0 bytes
.../cache/attributes/dis___dangerous__area.svg.i | Bin 7618 -> 0 bytes
.../attributes/dis___difficult__climbing.svg.i | Bin 2498 -> 0 bytes
.../src/icons/cache/attributes/dis___dogs.svg.i | Bin 1565 -> 0 bytes
.../attributes/dis___drinking__water__nearby.svg.i | Bin 2703 -> 0 bytes
.../cache/attributes/dis___field___puzzle.svg.i | Bin 12181 -> 0 bytes
.../attributes/dis___flashlight__required.svg.i | Bin 2996 -> 0 bytes
.../cache/attributes/dis___food___nearby.svg.i | Bin 2258 -> 0 bytes
.../cache/attributes/dis___fuel___nearby.svg.i | Bin 1832 -> 0 bytes
.../src/icons/cache/attributes/dis___horses.svg.i | Bin 4209 -> 0 bytes
.../src/icons/cache/attributes/dis___hunting.svg.i | Bin 2878 -> 0 bytes
.../attributes/dis___long___hike__(+10km).svg.i | Bin 1616 -> 0 bytes
.../attributes/dis___may__require__swimming.svg.i | Bin 2896 -> 0 bytes
.../attributes/dis___may__require__wading.svg.i | Bin 2903 -> 0 bytes
.../dis___medium__hike__(1km-10km).svg.i | Bin 1618 -> 0 bytes
.../icons/cache/attributes/dis___motorcycles.svg.i | Bin 2664 -> 0 bytes
.../attributes/dis___needs__maintenance.svg.i | Bin 1577 -> 0 bytes
.../cache/attributes/dis___night___cache.svg.i | Bin 14024 -> 0 bytes
.../attributes/dis___off-road__vehicles.svg.i | Bin 1924 -> 0 bytes
.../cache/attributes/dis___park__and___grab.svg.i | Bin 12966 -> 0 bytes
.../attributes/dis___parking__available.svg.i | Bin 1541 -> 0 bytes
.../attributes/dis___picnic__tables__nearby.svg.i | Bin 1532 -> 0 bytes
.../cache/attributes/dis___poison__plants.svg.i | Bin 2635 -> 0 bytes
.../dis___public__restrooms__nearby.svg.i | Bin 2135 -> 0 bytes
.../attributes/dis___public__transportation.svg.i | Bin 1998 -> 0 bytes
.../src/icons/cache/attributes/dis___quads.svg.i | Bin 2096 -> 0 bytes
.../attributes/dis___recommended__at__night.svg.i | Bin 2588 -> 0 bytes
.../attributes/dis___recommended__for__kids.svg.i | Bin 4756 -> 0 bytes
.../cache/attributes/dis___scenic__view.svg.i | Bin 1696 -> 0 bytes
.../icons/cache/attributes/dis___scuba__gear.svg.i | Bin 4823 -> 0 bytes
.../dis___short__hike__(less__than__1km).svg.i | Bin 1605 -> 0 bytes
.../attributes/dis___significant___hike.svg.i | Bin 2161 -> 0 bytes
.../icons/cache/attributes/dis___snowmobiles.svg.i | Bin 1986 -> 0 bytes
.../icons/cache/attributes/dis___snowshoes.svg.i | Bin 2463 -> 0 bytes
.../dis___special___tool___required.svg.i | Bin 4694 -> 0 bytes
.../cache/attributes/dis___stealth__required.svg.i | Bin 2368 -> 0 bytes
.../attributes/dis___stroller__accessible.svg.i | Bin 1894 -> 0 bytes
.../dis___takes__less__than__an__hour.svg.i | Bin 5602 -> 0 bytes
.../cache/attributes/dis___telephone__nearby.svg.i | Bin 2555 -> 0 bytes
.../src/icons/cache/attributes/dis___thorns.svg.i | Bin 2100 -> 0 bytes
.../src/icons/cache/attributes/dis___ticks.svg.i | Bin 2674 -> 0 bytes
.../attributes/dis___truck___driver___r_v.svg.i | Bin 1991 -> 0 bytes
.../attributes/dis___u_v___light___required.svg.i | Bin 1713 -> 0 bytes
.../attributes/dis___watch__for__livestock.svg.i | Bin 5019 -> 0 bytes
.../attributes/dis___wheelchair__accessible.svg.i | Bin 2359 -> 0 bytes
.../cache/attributes/dis___wireless___beacon.svg.i | Bin 1960 -> 0 bytes
.../attributes/no___abandoned___structure.svg.i | Bin 1992 -> 0 bytes
.../no___available__at__all__times.svg.i | Bin 1604 -> 0 bytes
.../no___available__during__winter.svg.i | Bin 3598 -> 0 bytes
.../src/icons/cache/attributes/no___bicycles.svg.i | Bin 2733 -> 0 bytes
.../icons/cache/attributes/no___campfires.svg.i | Bin 3552 -> 0 bytes
.../cache/attributes/no___camping__available.svg.i | Bin 1636 -> 0 bytes
.../attributes/no___difficult__climbing.svg.i | Bin 2554 -> 0 bytes
.../src/icons/cache/attributes/no___dogs.svg.i | Bin 1622 -> 0 bytes
.../attributes/no___drinking__water__nearby.svg.i | Bin 2771 -> 0 bytes
.../cache/attributes/no___food___nearby.svg.i | Bin 2320 -> 0 bytes
.../cache/attributes/no___fuel___nearby.svg.i | Bin 1880 -> 0 bytes
.../src/icons/cache/attributes/no___horses.svg.i | Bin 4303 -> 0 bytes
.../attributes/no___long___hike__(+10km).svg.i | Bin 1670 -> 0 bytes
.../attributes/no___medium__hike__(1km-10km).svg.i | Bin 1667 -> 0 bytes
.../icons/cache/attributes/no___motorcycles.svg.i | Bin 2722 -> 0 bytes
.../cache/attributes/no___night___cache.svg.i | Bin 14110 -> 0 bytes
.../cache/attributes/no___off-road__vehicles.svg.i | Bin 1983 -> 0 bytes
.../cache/attributes/no___park__and___grab.svg.i | Bin 13162 -> 0 bytes
.../cache/attributes/no___parking__available.svg.i | Bin 1609 -> 0 bytes
.../attributes/no___picnic__tables__nearby.svg.i | Bin 1602 -> 0 bytes
.../cache/attributes/no___poison__plants.svg.i | Bin 2699 -> 0 bytes
.../no___public__restrooms__nearby.svg.i | Bin 2191 -> 0 bytes
.../src/icons/cache/attributes/no___quads.svg.i | Bin 2151 -> 0 bytes
.../attributes/no___recommended__at__night.svg.i | Bin 2574 -> 0 bytes
.../attributes/no___recommended__for__kids.svg.i | Bin 4809 -> 0 bytes
.../no___short__hike__(less__than__1km).svg.i | Bin 1660 -> 0 bytes
.../cache/attributes/no___significant___hike.svg.i | Bin 2225 -> 0 bytes
.../icons/cache/attributes/no___snowmobiles.svg.i | Bin 2061 -> 0 bytes
.../cache/attributes/no___stealth__required.svg.i | Bin 2372 -> 0 bytes
.../attributes/no___stroller__accessible.svg.i | Bin 1970 -> 0 bytes
.../no___takes__less__than__an__hour.svg.i | Bin 5620 -> 0 bytes
.../cache/attributes/no___telephone__nearby.svg.i | Bin 2815 -> 0 bytes
.../attributes/no___truck___driver___r_v.svg.i | Bin 2347 -> 0 bytes
.../attributes/no___wheelchair__accessible.svg.i | Bin 2437 -> 0 bytes
.../attributes/yes___abandoned___structure.svg.i | Bin 1934 -> 0 bytes
.../cache/attributes/yes___abandoned__mines.svg.i | Bin 1725 -> 0 bytes
.../yes___access__or__parking__fee.svg.i | Bin 1484 -> 0 bytes
.../yes___available__at__all__times.svg.i | Bin 1501 -> 0 bytes
.../yes___available__during__winter.svg.i | Bin 3575 -> 0 bytes
.../icons/cache/attributes/yes___bicycles.svg.i | Bin 2642 -> 0 bytes
.../src/icons/cache/attributes/yes___boat.svg.i | Bin 2246 -> 0 bytes
.../icons/cache/attributes/yes___campfires.svg.i | Bin 3462 -> 0 bytes
.../attributes/yes___camping__available.svg.i | Bin 1553 -> 0 bytes
.../yes___cliff______falling__rocks.svg.i | Bin 3358 -> 0 bytes
.../cache/attributes/yes___climbing__gear.svg.i | Bin 2205 -> 0 bytes
.../attributes/yes___cross___country___skis.svg.i | Bin 2209 -> 0 bytes
.../attributes/yes___dangerous___animals.svg.i | Bin 2690 -> 0 bytes
.../cache/attributes/yes___dangerous__area.svg.i | Bin 7583 -> 0 bytes
.../attributes/yes___difficult__climbing.svg.i | Bin 2464 -> 0 bytes
.../src/icons/cache/attributes/yes___dogs.svg.i | Bin 1556 -> 0 bytes
.../attributes/yes___drinking__water__nearby.svg.i | Bin 2671 -> 0 bytes
.../cache/attributes/yes___field___puzzle.svg.i | Bin 16326 -> 0 bytes
.../attributes/yes___flashlight__required.svg.i | Bin 3012 -> 0 bytes
.../cache/attributes/yes___food___nearby.svg.i | Bin 2219 -> 0 bytes
.../cache/attributes/yes___fuel___nearby.svg.i | Bin 1793 -> 0 bytes
.../src/icons/cache/attributes/yes___horses.svg.i | Bin 4207 -> 0 bytes
.../src/icons/cache/attributes/yes___hunting.svg.i | Bin 2900 -> 0 bytes
.../attributes/yes___long___hike__(+10km).svg.i | Bin 1550 -> 0 bytes
.../attributes/yes___may__require__swimming.svg.i | Bin 2845 -> 0 bytes
.../attributes/yes___may__require__wading.svg.i | Bin 2893 -> 0 bytes
.../yes___medium__hike__(1km-10km).svg.i | Bin 1550 -> 0 bytes
.../icons/cache/attributes/yes___motorcycles.svg.i | Bin 2626 -> 0 bytes
.../attributes/yes___needs__maintenance.svg.i | Bin 1554 -> 0 bytes
.../cache/attributes/yes___night___cache.svg.i | Bin 13907 -> 0 bytes
.../attributes/yes___off-road__vehicles.svg.i | Bin 1879 -> 0 bytes
.../cache/attributes/yes___park__and___grab.svg.i | Bin 12983 -> 0 bytes
.../attributes/yes___parking__available.svg.i | Bin 1506 -> 0 bytes
.../attributes/yes___picnic__tables__nearby.svg.i | Bin 1507 -> 0 bytes
.../cache/attributes/yes___poison__plants.svg.i | Bin 2593 -> 0 bytes
.../yes___public__restrooms__nearby.svg.i | Bin 2100 -> 0 bytes
.../attributes/yes___public__transportation.svg.i | Bin 1938 -> 0 bytes
.../src/icons/cache/attributes/yes___quads.svg.i | Bin 2062 -> 0 bytes
.../attributes/yes___recommended__at__night.svg.i | Bin 2536 -> 0 bytes
.../attributes/yes___recommended__for__kids.svg.i | Bin 4716 -> 0 bytes
.../cache/attributes/yes___scenic__view.svg.i | Bin 1678 -> 0 bytes
.../icons/cache/attributes/yes___scuba__gear.svg.i | Bin 4791 -> 0 bytes
.../yes___short__hike__(less__than__1km).svg.i | Bin 1538 -> 0 bytes
.../attributes/yes___significant___hike.svg.i | Bin 2138 -> 0 bytes
.../icons/cache/attributes/yes___snowmobiles.svg.i | Bin 1966 -> 0 bytes
.../icons/cache/attributes/yes___snowshoes.svg.i | Bin 2525 -> 0 bytes
.../yes___special___tool___required.svg.i | Bin 4974 -> 0 bytes
.../cache/attributes/yes___stealth__required.svg.i | Bin 2288 -> 0 bytes
.../attributes/yes___stroller__accessible.svg.i | Bin 1872 -> 0 bytes
.../yes___takes__less__than__an__hour.svg.i | Bin 5485 -> 0 bytes
.../cache/attributes/yes___telephone__nearby.svg.i | Bin 2724 -> 0 bytes
.../src/icons/cache/attributes/yes___thorns.svg.i | Bin 2075 -> 0 bytes
.../src/icons/cache/attributes/yes___ticks.svg.i | Bin 2896 -> 0 bytes
.../attributes/yes___truck___driver___r_v.svg.i | Bin 2252 -> 0 bytes
.../attributes/yes___u_v___light___required.svg.i | Bin 1728 -> 0 bytes
.../attributes/yes___watch__for__livestock.svg.i | Bin 4996 -> 0 bytes
.../attributes/yes___wheelchair__accessible.svg.i | Bin 2340 -> 0 bytes
.../cache/attributes/yes___wireless___beacon.svg.i | Bin 1950 -> 0 bytes
.hg/store/data/src/icons/cache/bluepin.svg.i | Bin 1939 -> 0 bytes
.hg/store/data/src/icons/cache/cito.svg.i | Bin 24345 -> 0 bytes
.hg/store/data/src/icons/cache/corrected.svg.i | Bin 3731 -> 0 bytes
.hg/store/data/src/icons/cache/dnf.svg.i | Bin 2116 -> 0 bytes
.hg/store/data/src/icons/cache/down__icon.svg.i | Bin 1165 -> 0 bytes
.hg/store/data/src/icons/cache/earth.svg.i | Bin 21199 -> 0 bytes
.hg/store/data/src/icons/cache/event.svg.i | Bin 1996 -> 0 bytes
.hg/store/data/src/icons/cache/found.svg.i | Bin 2046 -> 0 bytes
.hg/store/data/src/icons/cache/ftf.svg.i | Bin 2383 -> 0 bytes
.hg/store/data/src/icons/cache/greenpin.svg.i | Bin 1940 -> 0 bytes
.hg/store/data/src/icons/cache/halfstar.svg.i | Bin 1664 -> 0 bytes
.hg/store/data/src/icons/cache/letterbox.svg.i | Bin 11884 -> 0 bytes
.hg/store/data/src/icons/cache/log.svg.i | Bin 2200 -> 0 bytes
.hg/store/data/src/icons/cache/makeicons.i | Bin 177 -> 0 bytes
.hg/store/data/src/icons/cache/maxicon.svg.i | Bin 1015 -> 0 bytes
.hg/store/data/src/icons/cache/mega.svg.i | Bin 2604 -> 0 bytes
.hg/store/data/src/icons/cache/minicon.svg.i | Bin 998 -> 0 bytes
.hg/store/data/src/icons/cache/multi.svg.i | Bin 2900 -> 0 bytes
.../data/src/icons/cache/needs__maintenance.svg.i | Bin 1405 -> 0 bytes
.hg/store/data/src/icons/cache/other.svg.i | Bin 1595 -> 0 bytes
.hg/store/data/src/icons/cache/parking.svg.i | Bin 2077 -> 0 bytes
.hg/store/data/src/icons/cache/pushpin.svg.i | Bin 1883 -> 0 bytes
.hg/store/data/src/icons/cache/restore.svg.i | Bin 1163 -> 0 bytes
.hg/store/data/src/icons/cache/star.svg.i | Bin 1422 -> 0 bytes
.hg/store/data/src/icons/cache/star__empty.svg.i | Bin 1255 -> 0 bytes
.hg/store/data/src/icons/cache/traditional.svg.i | Bin 2198 -> 0 bytes
.hg/store/data/src/icons/cache/trailhead.svg.i | Bin 6161 -> 0 bytes
.hg/store/data/src/icons/cache/treasure.svg.i | Bin 3460 -> 0 bytes
.hg/store/data/src/icons/cache/unknown.svg.i | Bin 1892 -> 0 bytes
.hg/store/data/src/icons/cache/up__icon.svg.i | Bin 1167 -> 0 bytes
.hg/store/data/src/icons/cache/virtual.svg.i | Bin 2715 -> 0 bytes
.../data/src/icons/cache/waypoint-flag-red.svg.i | Bin 1790 -> 0 bytes
.hg/store/data/src/icons/cache/webcam.svg.i | Bin 14161 -> 0 bytes
.hg/store/data/src/icons/cache/wherigo.svg.i | Bin 1398 -> 0 bytes
.hg/store/data/src/icons/cache/write__note.svg.i | Bin 1401 -> 0 bytes
.hg/store/data/src/icons/icons.svg.d | Bin 217424 -> 0 bytes
.hg/store/data/src/icons/icons.svg.i | Bin 1152 -> 0 bytes
.hg/store/data/src/icons/icons.svg.save.d | Bin 157199 -> 0 bytes
.hg/store/data/src/icons/icons.svg.save.i | Bin 64 -> 0 bytes
.hg/store/data/src/icons/makeicons.i | Bin 491 -> 0 bytes
.../data/src/icons/waypoints/32x32/_box_blue.png.i | Bin 503 -> 0 bytes
.../src/icons/waypoints/32x32/_box_green.png.i | Bin 494 -> 0 bytes
.../data/src/icons/waypoints/32x32/_box_red.png.i | Bin 500 -> 0 bytes
.../data/src/icons/waypoints/32x32/_default.png.i | Bin 7444 -> 0 bytes
.../src/icons/waypoints/32x32/_diamond_blue.png.i | Bin 394 -> 0 bytes
.../src/icons/waypoints/32x32/_diamond_green.png.i | Bin 501 -> 0 bytes
.../src/icons/waypoints/32x32/_diamond_red.png.i | Bin 392 -> 0 bytes
.../src/icons/waypoints/32x32/_flag_blue.png.i | Bin 764 -> 0 bytes
.../src/icons/waypoints/32x32/_flag_green.png.i | Bin 815 -> 0 bytes
.../data/src/icons/waypoints/32x32/_flag_red.png.i | Bin 757 -> 0 bytes
.../data/src/icons/waypoints/32x32/_pin_blue.png.i | Bin 1380 -> 0 bytes
.../src/icons/waypoints/32x32/_pin_green.png.i | Bin 1482 -> 0 bytes
.../data/src/icons/waypoints/32x32/_pin_red.png.i | Bin 1373 -> 0 bytes
.../src/icons/waypoints/32x32/_residence.png.i | Bin 1905 -> 0 bytes
.../data/src/icons/waypoints/32x32/_waypoint.png.i | Bin 598 -> 0 bytes
.hg/store/data/src/icons/waypoints/_box_blue.svg.i | Bin 1035 -> 0 bytes
.../data/src/icons/waypoints/_box_green.svg.i | Bin 1032 -> 0 bytes
.hg/store/data/src/icons/waypoints/_box_red.svg.i | Bin 1042 -> 0 bytes
.hg/store/data/src/icons/waypoints/_default.svg.i | Bin 3319 -> 0 bytes
.../data/src/icons/waypoints/_diamond_blue.svg.i | Bin 986 -> 0 bytes
.../data/src/icons/waypoints/_diamond_green.svg.i | Bin 984 -> 0 bytes
.../data/src/icons/waypoints/_diamond_red.svg.i | Bin 985 -> 0 bytes
.../data/src/icons/waypoints/_flag_blue.svg.i | Bin 1130 -> 0 bytes
.../data/src/icons/waypoints/_flag_green.svg.i | Bin 1127 -> 0 bytes
.hg/store/data/src/icons/waypoints/_flag_red.svg.i | Bin 1127 -> 0 bytes
.hg/store/data/src/icons/waypoints/_pin_blue.svg.i | Bin 1953 -> 0 bytes
.../data/src/icons/waypoints/_pin_green.svg.i | Bin 1954 -> 0 bytes
.hg/store/data/src/icons/waypoints/_pin_red.svg.i | Bin 1568 -> 0 bytes
.../data/src/icons/waypoints/_residence.svg.i | Bin 1432 -> 0 bytes
.hg/store/data/src/icons/waypoints/_waypoint.svg.i | Bin 1353 -> 0 bytes
.hg/store/data/src/icons/waypoints/makeicons.i | Bin 177 -> 0 bytes
.hg/store/data/src/locale/qmapshack__cs.ts.i | Bin 77887 -> 0 bytes
.hg/store/data/src/locale/qmapshack__de.ts.i | Bin 92088 -> 0 bytes
.hg/store/data/src/locale/qmapshack__es.ts.i | Bin 70184 -> 0 bytes
.hg/store/data/src/locale/qmapshack__fr.ts.i | Bin 31012 -> 0 bytes
.hg/store/data/src/main.cpp.i | Bin 4585 -> 0 bytes
.hg/store/data/src/map/_c_grid.cpp.i | Bin 3158 -> 0 bytes
.hg/store/data/src/map/_c_grid.h.i | Bin 986 -> 0 bytes
.hg/store/data/src/map/_c_map.cpp.i | Bin 11996 -> 0 bytes
.hg/store/data/src/map/_c_map.h.i | Bin 5865 -> 0 bytes
.hg/store/data/src/map/_c_map_draw.cpp.i | Bin 6600 -> 0 bytes
.hg/store/data/src/map/_c_map_draw.h.i | Bin 5288 -> 0 bytes
.hg/store/data/src/map/_c_map_i_m_g.cpp.i | Bin 29001 -> 0 bytes
.hg/store/data/src/map/_c_map_i_m_g.h.i | Bin 12269 -> 0 bytes
.hg/store/data/src/map/_c_map_item.cpp.i | Bin 9322 -> 0 bytes
.hg/store/data/src/map/_c_map_item.h.i | Bin 3582 -> 0 bytes
.hg/store/data/src/map/_c_map_j_n_x.cpp.i | Bin 7872 -> 0 bytes
.hg/store/data/src/map/_c_map_j_n_x.h.i | Bin 2037 -> 0 bytes
.hg/store/data/src/map/_c_map_list.cpp.i | Bin 4319 -> 0 bytes
.hg/store/data/src/map/_c_map_list.h.i | Bin 2679 -> 0 bytes
.hg/store/data/src/map/_c_map_m_a_p.cpp.i | Bin 2631 -> 0 bytes
.hg/store/data/src/map/_c_map_m_a_p.h.i | Bin 2736 -> 0 bytes
.hg/store/data/src/map/_c_map_path_setup.cpp.i | Bin 3515 -> 0 bytes
.hg/store/data/src/map/_c_map_path_setup.h.i | Bin 1269 -> 0 bytes
.hg/store/data/src/map/_c_map_prop_setup.cpp.i | Bin 4654 -> 0 bytes
.hg/store/data/src/map/_c_map_prop_setup.h.i | Bin 2217 -> 0 bytes
.hg/store/data/src/map/_c_map_r_m_a_p.cpp.i | Bin 6839 -> 0 bytes
.hg/store/data/src/map/_c_map_r_m_a_p.h.i | Bin 1849 -> 0 bytes
.hg/store/data/src/map/_c_map_t_m_s.cpp.i | Bin 8384 -> 0 bytes
.hg/store/data/src/map/_c_map_t_m_s.h.i | Bin 2789 -> 0 bytes
.hg/store/data/src/map/_c_map_v_r_t.cpp.i | Bin 12414 -> 0 bytes
.hg/store/data/src/map/_c_map_v_r_t.h.i | Bin 2579 -> 0 bytes
.hg/store/data/src/map/_c_map_vrt_builder.cpp.i | Bin 2109 -> 0 bytes
.hg/store/data/src/map/_c_map_vrt_builder.h.i | Bin 1314 -> 0 bytes
.../data/src/map/_c_map_w_m_t_s.cpp.autosave.i | Bin 622 -> 0 bytes
.hg/store/data/src/map/_c_map_w_m_t_s.cpp.i | Bin 14190 -> 0 bytes
.hg/store/data/src/map/_c_map_w_m_t_s.h.i | Bin 3769 -> 0 bytes
.hg/store/data/src/map/_i_map.cpp.i | Bin 4396 -> 0 bytes
.hg/store/data/src/map/_i_map.h.i | Bin 9101 -> 0 bytes
.hg/store/data/src/map/_i_map_list.ui.i | Bin 4127 -> 0 bytes
.hg/store/data/src/map/_i_map_path_setup.ui.i | Bin 4069 -> 0 bytes
.hg/store/data/src/map/_i_map_prop.cpp.i | Bin 744 -> 0 bytes
.hg/store/data/src/map/_i_map_prop.h.i | Bin 894 -> 0 bytes
.hg/store/data/src/map/_i_map_prop.ui.i | Bin 1724 -> 0 bytes
.hg/store/data/src/map/_i_map_prop_setup.cpp.i | Bin 898 -> 0 bytes
.hg/store/data/src/map/_i_map_prop_setup.h.i | Bin 1137 -> 0 bytes
.hg/store/data/src/map/_i_map_prop_setup.ui.i | Bin 3307 -> 0 bytes
.hg/store/data/src/map/_i_map_vrt_builder.ui.i | Bin 1206 -> 0 bytes
.hg/store/data/src/map/cache/_c_disk_cache.cpp.i | Bin 2706 -> 0 bytes
.hg/store/data/src/map/cache/_c_disk_cache.h.i | Bin 1362 -> 0 bytes
.hg/store/data/src/map/cache/_i_disk_cache.cpp.i | Bin 728 -> 0 bytes
.hg/store/data/src/map/cache/_i_disk_cache.h.i | Bin 1036 -> 0 bytes
.../data/src/map/garmin/_c_garmin_point.cpp.i | Bin 1947 -> 0 bytes
.hg/store/data/src/map/garmin/_c_garmin_point.h.i | Bin 1504 -> 0 bytes
.../data/src/map/garmin/_c_garmin_polygon.cpp.i | Bin 5517 -> 0 bytes
.../data/src/map/garmin/_c_garmin_polygon.h.i | Bin 3119 -> 0 bytes
.../data/src/map/garmin/_c_garmin_str_tbl6.cpp.i | Bin 1827 -> 0 bytes
.../data/src/map/garmin/_c_garmin_str_tbl6.h.i | Bin 1166 -> 0 bytes
.../data/src/map/garmin/_c_garmin_str_tbl8.cpp.i | Bin 1286 -> 0 bytes
.../data/src/map/garmin/_c_garmin_str_tbl8.h.i | Bin 942 -> 0 bytes
.../src/map/garmin/_c_garmin_str_tbl_utf8.cpp.i | Bin 1249 -> 0 bytes
.../data/src/map/garmin/_c_garmin_str_tbl_utf8.h.i | Bin 949 -> 0 bytes
.hg/store/data/src/map/garmin/_c_garmin_typ.cpp.i | Bin 8665 -> 0 bytes
.hg/store/data/src/map/garmin/_c_garmin_typ.h.i | Bin 3855 -> 0 bytes
.hg/store/data/src/map/garmin/_garmin.h.i | Bin 859 -> 0 bytes
.../data/src/map/garmin/_i_garmin_str_tbl.cpp.i | Bin 1997 -> 0 bytes
.../data/src/map/garmin/_i_garmin_str_tbl.h.i | Bin 1557 -> 0 bytes
.hg/store/data/src/map/mapsforge/types.cpp.i | Bin 972 -> 0 bytes
.hg/store/data/src/map/mapsforge/types.h.i | Bin 958 -> 0 bytes
.hg/store/data/src/map/wmts/_c_disk_cache.cpp.i | Bin 2277 -> 0 bytes
.hg/store/data/src/map/wmts/_c_disk_cache.h.i | Bin 1161 -> 0 bytes
.hg/store/data/src/map/wmts/_i_disk_cache.cpp.i | Bin 561 -> 0 bytes
.hg/store/data/src/map/wmts/_i_disk_cache.h.i | Bin 799 -> 0 bytes
.hg/store/data/src/mouse/_c_mouse_edit_area.cpp.i | Bin 3194 -> 0 bytes
.hg/store/data/src/mouse/_c_mouse_edit_area.h.i | Bin 1665 -> 0 bytes
.hg/store/data/src/mouse/_c_mouse_edit_line.cpp.i | Bin 10872 -> 0 bytes
.hg/store/data/src/mouse/_c_mouse_edit_line.h.i | Bin 3208 -> 0 bytes
.hg/store/data/src/mouse/_c_mouse_edit_trk.cpp.i | Bin 3091 -> 0 bytes
.hg/store/data/src/mouse/_c_mouse_edit_trk.h.i | Bin 1488 -> 0 bytes
.hg/store/data/src/mouse/_c_mouse_move_wpt.cpp.i | Bin 2799 -> 0 bytes
.hg/store/data/src/mouse/_c_mouse_move_wpt.h.i | Bin 1797 -> 0 bytes
.hg/store/data/src/mouse/_c_mouse_normal.cpp.i | Bin 13103 -> 0 bytes
.hg/store/data/src/mouse/_c_mouse_normal.h.i | Bin 4099 -> 0 bytes
.hg/store/data/src/mouse/_c_mouse_range_trk.cpp.i | Bin 4756 -> 0 bytes
.hg/store/data/src/mouse/_c_mouse_range_trk.h.i | Bin 1877 -> 0 bytes
.../data/src/mouse/_c_scr_opt_edit_line.cpp.i | Bin 854 -> 0 bytes
.hg/store/data/src/mouse/_c_scr_opt_edit_line.h.i | Bin 851 -> 0 bytes
.hg/store/data/src/mouse/_c_scr_opt_point.cpp.i | Bin 1450 -> 0 bytes
.hg/store/data/src/mouse/_c_scr_opt_point.h.i | Bin 979 -> 0 bytes
.hg/store/data/src/mouse/_c_scr_opt_range.cpp.i | Bin 965 -> 0 bytes
.hg/store/data/src/mouse/_c_scr_opt_range.h.i | Bin 855 -> 0 bytes
.../data/src/mouse/_c_scr_opt_range_trk.cpp.i | Bin 1396 -> 0 bytes
.hg/store/data/src/mouse/_c_scr_opt_range_trk.h.i | Bin 1190 -> 0 bytes
.../data/src/mouse/_c_scr_opt_unclutter.cpp.i | Bin 4388 -> 0 bytes
.hg/store/data/src/mouse/_c_scr_opt_unclutter.h.i | Bin 2320 -> 0 bytes
.hg/store/data/src/mouse/_c_scr_opt_wpt.cpp.i | Bin 888 -> 0 bytes
.hg/store/data/src/mouse/_c_scr_opt_wpt.h.i | Bin 815 -> 0 bytes
.hg/store/data/src/mouse/_i_mouse.cpp.i | Bin 1883 -> 0 bytes
.hg/store/data/src/mouse/_i_mouse.h.i | Bin 3232 -> 0 bytes
.hg/store/data/src/mouse/_i_mouse_edit_line.cpp.i | Bin 13763 -> 0 bytes
.hg/store/data/src/mouse/_i_mouse_edit_line.h.i | Bin 3527 -> 0 bytes
.hg/store/data/src/mouse/_i_scr_opt.cpp.i | Bin 2176 -> 0 bytes
.hg/store/data/src/mouse/_i_scr_opt.h.i | Bin 2266 -> 0 bytes
.hg/store/data/src/mouse/_i_scr_opt_edit_line.ui.i | Bin 964 -> 0 bytes
.hg/store/data/src/mouse/_i_scr_opt_point.ui.i | Bin 1593 -> 0 bytes
.hg/store/data/src/mouse/_i_scr_opt_range.ui.i | Bin 687 -> 0 bytes
.hg/store/data/src/mouse/_i_scr_opt_range_trk.ui.i | Bin 1618 -> 0 bytes
.hg/store/data/src/mouse/_i_scr_opt_wpt.ui.i | Bin 1140 -> 0 bytes
.hg/store/data/src/pics/about.png.i | Bin 27220 -> 0 bytes
.hg/store/data/src/pics/compass.png.i | Bin 9949 -> 0 bytes
.hg/store/data/src/pics/compass.svg.i | Bin 2315 -> 0 bytes
.hg/store/data/src/pics/no_map256x256.png.i | Bin 19694 -> 0 bytes
.hg/store/data/src/pics/splash.png.d | Bin 376706 -> 0 bytes
.hg/store/data/src/pics/splash.png.i | Bin 64 -> 0 bytes
.hg/store/data/src/pics/timezones.png.i | Bin 80488 -> 0 bytes
.hg/store/data/src/plot/_c_plot.cpp.i | Bin 1769 -> 0 bytes
.hg/store/data/src/plot/_c_plot.h.i | Bin 1227 -> 0 bytes
.hg/store/data/src/plot/_c_plot_axis.cpp.i | Bin 3803 -> 0 bytes
.hg/store/data/src/plot/_c_plot_axis.h.i | Bin 3267 -> 0 bytes
.hg/store/data/src/plot/_c_plot_axis_time.cpp.i | Bin 1249 -> 0 bytes
.hg/store/data/src/plot/_c_plot_axis_time.h.i | Bin 1166 -> 0 bytes
.hg/store/data/src/plot/_c_plot_data.cpp.i | Bin 1634 -> 0 bytes
.hg/store/data/src/plot/_c_plot_data.h.i | Bin 2055 -> 0 bytes
.hg/store/data/src/plot/_c_plot_distance.cpp.i | Bin 2250 -> 0 bytes
.hg/store/data/src/plot/_c_plot_distance.h.i | Bin 1246 -> 0 bytes
.hg/store/data/src/plot/_c_plot_profile.cpp.i | Bin 3964 -> 0 bytes
.hg/store/data/src/plot/_c_plot_profile.h.i | Bin 1873 -> 0 bytes
.hg/store/data/src/plot/_c_plot_speed.cpp.i | Bin 2224 -> 0 bytes
.hg/store/data/src/plot/_c_plot_speed.h.i | Bin 1240 -> 0 bytes
.hg/store/data/src/plot/_c_plot_track.cpp.i | Bin 5105 -> 0 bytes
.hg/store/data/src/plot/_c_plot_track.h.i | Bin 2122 -> 0 bytes
.hg/store/data/src/plot/_i_plot.cpp.i | Bin 9118 -> 0 bytes
.hg/store/data/src/plot/_i_plot.h.i | Bin 4369 -> 0 bytes
.hg/store/data/src/plot/_i_track.cpp.i | Bin 2183 -> 0 bytes
.hg/store/data/src/plot/_i_track.h.i | Bin 1352 -> 0 bytes
.hg/store/data/src/qlgt/_c_import_database.cpp.i | Bin 1875 -> 0 bytes
.hg/store/data/src/qlgt/_c_import_database.h.i | Bin 1062 -> 0 bytes
.hg/store/data/src/qlgt/_c_qlb.cpp.i | Bin 1698 -> 0 bytes
.hg/store/data/src/qlgt/_c_qlb.h.i | Bin 2185 -> 0 bytes
.hg/store/data/src/qlgt/_c_qlgt_db.cpp.i | Bin 7136 -> 0 bytes
.hg/store/data/src/qlgt/_c_qlgt_db.h.i | Bin 1885 -> 0 bytes
.hg/store/data/src/qlgt/_c_qlgt_diary.cpp.i | Bin 2582 -> 0 bytes
.hg/store/data/src/qlgt/_c_qlgt_diary.h.i | Bin 1181 -> 0 bytes
.hg/store/data/src/qlgt/_c_qlgt_folder.cpp.i | Bin 1364 -> 0 bytes
.hg/store/data/src/qlgt/_c_qlgt_folder.h.i | Bin 1077 -> 0 bytes
.hg/store/data/src/qlgt/_c_qlgt_route.cpp.i | Bin 2860 -> 0 bytes
.hg/store/data/src/qlgt/_c_qlgt_route.h.i | Bin 1618 -> 0 bytes
.hg/store/data/src/qlgt/_c_qlgt_track.cpp.i | Bin 4360 -> 0 bytes
.hg/store/data/src/qlgt/_c_qlgt_track.h.i | Bin 5922 -> 0 bytes
.hg/store/data/src/qlgt/_c_qlgt_wpt.cpp.i | Bin 3910 -> 0 bytes
.hg/store/data/src/qlgt/_c_qlgt_wpt.h.i | Bin 2191 -> 0 bytes
.hg/store/data/src/qlgt/_c_qms_db.cpp.i | Bin 5102 -> 0 bytes
.hg/store/data/src/qlgt/_c_qms_db.h.i | Bin 2382 -> 0 bytes
.hg/store/data/src/qlgt/_i_import_database.ui.i | Bin 1074 -> 0 bytes
.hg/store/data/src/qlgt/_i_item.cpp.i | Bin 813 -> 0 bytes
.hg/store/data/src/qlgt/_i_item.h.i | Bin 1297 -> 0 bytes
.hg/store/data/src/qlgt/_i_qlgt_overlay.cpp.i | Bin 2650 -> 0 bytes
.hg/store/data/src/qlgt/_i_qlgt_overlay.h.i | Bin 1339 -> 0 bytes
.hg/store/data/src/qlgt/converter.cpp.i | Bin 4976 -> 0 bytes
.hg/store/data/src/resources.qrc.i | Bin 13598 -> 0 bytes
.hg/store/data/src/resources.rc.i | Bin 112 -> 0 bytes
.hg/store/data/src/units/_c_time_zone_setup.cpp.i | Bin 1024 -> 0 bytes
.hg/store/data/src/units/_c_time_zone_setup.h.i | Bin 914 -> 0 bytes
.hg/store/data/src/units/_c_unit_imperial.cpp.i | Bin 1500 -> 0 bytes
.hg/store/data/src/units/_c_unit_imperial.h.i | Bin 1080 -> 0 bytes
.hg/store/data/src/units/_c_unit_metric.cpp.i | Bin 1492 -> 0 bytes
.hg/store/data/src/units/_c_unit_metric.h.i | Bin 1086 -> 0 bytes
.hg/store/data/src/units/_c_unit_nautic.cpp.i | Bin 1357 -> 0 bytes
.hg/store/data/src/units/_c_unit_nautic.h.i | Bin 1085 -> 0 bytes
.hg/store/data/src/units/_c_units_setup.cpp.i | Bin 895 -> 0 bytes
.hg/store/data/src/units/_c_units_setup.h.i | Bin 855 -> 0 bytes
.hg/store/data/src/units/_i_time_zone_setup.ui.i | Bin 1043 -> 0 bytes
.hg/store/data/src/units/_i_unit.cpp.i | Bin 6605 -> 0 bytes
.hg/store/data/src/units/_i_unit.h.i | Bin 3836 -> 0 bytes
.hg/store/data/src/units/_i_units_setup.ui.i | Bin 719 -> 0 bytes
.hg/store/data/src/version.h.i | Bin 756 -> 0 bytes
.hg/store/data/templates/header.h.i | Bin 570 -> 0 bytes
.hg/store/data/templates/source.cpp.i | Bin 542 -> 0 bytes
.hg/store/fncache | 1333 ---------------
.hg/store/phaseroots | 0
.hg/store/undo | 0
.hg/store/undo.backup.fncache | 1332 ---------------
.hg/store/undo.backup.phaseroots | 1 -
.hg/store/undo.backupfiles | Bin 39 -> 0 bytes
.hg/store/undo.phaseroots | 1 -
.hg/strip-backup/0b6003b46efb-amend-backup.hg | Bin 9979 -> 0 bytes
.hg/strip-backup/0f0b575a1262-amend-backup.hg | Bin 4270 -> 0 bytes
.hg/strip-backup/24c62e27d1de-amend-backup.hg | Bin 2033 -> 0 bytes
.hg/strip-backup/3c021f1e06e9-amend-backup.hg | Bin 6125 -> 0 bytes
.hg/strip-backup/3ccda84eee0e-amend-backup.hg | Bin 3715 -> 0 bytes
.hg/strip-backup/3ecf812bbbc8-amend-backup.hg | Bin 4727 -> 0 bytes
.hg/strip-backup/544c0ced457b-amend-backup.hg | Bin 3816 -> 0 bytes
.hg/strip-backup/56c4f41494a8-amend-backup.hg | Bin 4572 -> 0 bytes
.hg/strip-backup/5fbc4f4870b6-amend-backup.hg | Bin 11599 -> 0 bytes
.hg/strip-backup/7bbcc4457124-amend-backup.hg | Bin 9313 -> 0 bytes
.hg/strip-backup/8bac0b86bb20-amend-backup.hg | Bin 8448 -> 0 bytes
.hg/strip-backup/978bd08f88e4-amend-backup.hg | Bin 4837 -> 0 bytes
.hg/strip-backup/9c07d44d56bf-amend-backup.hg | Bin 30956 -> 0 bytes
.hg/strip-backup/9d434cc76a02-amend-backup.hg | Bin 4254 -> 0 bytes
.hg/strip-backup/9e48deeea8af-amend-backup.hg | Bin 10257 -> 0 bytes
.hg/strip-backup/a29a2f488ee7-amend-backup.hg | Bin 11083 -> 0 bytes
.hg/strip-backup/a95a3c2b5131-amend-backup.hg | Bin 903 -> 0 bytes
.hg/strip-backup/a9c335f06a1a-amend-backup.hg | Bin 1851 -> 0 bytes
.hg/strip-backup/c4d53ff7e5ba-amend-backup.hg | Bin 898 -> 0 bytes
.hg/strip-backup/ccf43c735898-amend-backup.hg | Bin 8116 -> 0 bytes
.hg/strip-backup/d1262b768bcd-amend-backup.hg | Bin 1231 -> 0 bytes
.hg/strip-backup/d64801f027e8-amend-backup.hg | Bin 3645 -> 0 bytes
.hg/strip-backup/ddafd5824cd1-amend-backup.hg | Bin 4525 -> 0 bytes
.hg/strip-backup/e9bd49cb6174-amend-backup.hg | Bin 9889 -> 0 bytes
.hg/strip-backup/ee7c8b1a072e-amend-backup.hg | Bin 3922 -> 0 bytes
.hg/strip-backup/efe0aa4113af-amend-backup.hg | Bin 8316 -> 0 bytes
.hg/undo.bookmarks | 0
.hg/undo.branch | 1 -
.hg/undo.desc | 3 -
.hg/undo.dirstate | Bin 50367 -> 0 bytes
CMakeLists.txt | 102 --
GpxExamples/COPYRIGHT | 19 -
GpxExamples/qlandkarte.gpx | Bin 3185 -> 3185 bytes
1492 files changed, 27599 deletions(-)
diff --git a/.hg/00changelog.i b/.hg/00changelog.i
deleted file mode 100644
index d3a8311..0000000
Binary files a/.hg/00changelog.i and /dev/null differ
diff --git a/.hg/Trashcan/2014-08-10_14-17-09_parent_rev_212_41i_1d.bak b/.hg/Trashcan/2014-08-10_14-17-09_parent_rev_212_41i_1d.bak
deleted file mode 100644
index eebb3d1..0000000
--- a/.hg/Trashcan/2014-08-10_14-17-09_parent_rev_212_41i_1d.bak
+++ /dev/null
@@ -1,60 +0,0 @@
-diff --git a/src/helpers/IWptIconDialog.ui b/src/helpers/IWptIconDialog.ui
---- a/src/helpers/IWptIconDialog.ui
-+++ b/src/helpers/IWptIconDialog.ui
-@@ -24,16 +24,6 @@
- </property>
- </widget>
- </item>
-- <item>
-- <widget class="QDialogButtonBox" name="buttonBox">
-- <property name="orientation">
-- <enum>Qt::Horizontal</enum>
-- </property>
-- <property name="standardButtons">
-- <set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
-- </property>
-- </widget>
-- </item>
- </layout>
- </widget>
- <resources/>
-@@ -37,38 +27,5 @@
- </layout>
- </widget>
- <resources/>
-- <connections>
-- <connection>
-- <sender>buttonBox</sender>
-- <signal>accepted()</signal>
-- <receiver>IWptIconDialog</receiver>
-- <slot>accept()</slot>
-- <hints>
-- <hint type="sourcelabel">
-- <x>248</x>
-- <y>254</y>
-- </hint>
-- <hint type="destinationlabel">
-- <x>157</x>
-- <y>274</y>
-- </hint>
-- </hints>
-- </connection>
-- <connection>
-- <sender>buttonBox</sender>
-- <signal>rejected()</signal>
-- <receiver>IWptIconDialog</receiver>
-- <slot>reject()</slot>
-- <hints>
-- <hint type="sourcelabel">
-- <x>316</x>
-- <y>260</y>
-- </hint>
-- <hint type="destinationlabel">
-- <x>286</x>
-- <y>274</y>
-- </hint>
-- </hints>
-- </connection>
-- </connections>
-+ <connections/>
- </ui>
diff --git a/.hg/Trashcan/2014-08-10_14-17-09_parent_rev_212_5C3Eit.bak b/.hg/Trashcan/2014-08-10_14-17-09_parent_rev_212_5C3Eit.bak
deleted file mode 100644
index 4d368f0..0000000
--- a/.hg/Trashcan/2014-08-10_14-17-09_parent_rev_212_5C3Eit.bak
+++ /dev/null
@@ -1,124 +0,0 @@
-diff --git a/src/gis/CGisListWks.cpp b/src/gis/CGisListWks.cpp
---- a/src/gis/CGisListWks.cpp
-+++ b/src/gis/CGisListWks.cpp
-@@ -351,6 +351,15 @@
- int y2 = e->pos().y();
- int off = y2 > y1 ? 1 : 0;
-
-+ IGisProject * prj1 = dynamic_cast<IGisProject*>(currentItem());
-+ IGisProject * prj2 = dynamic_cast<IGisProject*>(itemAt(e->pos()));
-+ if(prj1 && prj2)
-+ {
-+ QTreeWidget::dropEvent(e);
-+ emit sigChanged();
-+ return;
-+ }
-+
- CGisItemWpt * wpt1 = dynamic_cast<CGisItemWpt*>(currentItem());
- CGisItemWpt * wpt2 = dynamic_cast<CGisItemWpt*>(itemAt(e->pos()));
-
-@@ -454,7 +463,10 @@
- }
-
- IGisItem * gisItem = dynamic_cast<IGisItem*>(item);
-- project->insertCopyOfItem(gisItem, -1, lastResult);
-+ if(gisItem)
-+ {
-+ project->insertCopyOfItem(gisItem, -1, lastResult);
-+ }
- }
- }
- emit sigChanged();
-diff --git a/src/gis/prj/IGisProject.h b/src/gis/prj/IGisProject.h
---- a/src/gis/prj/IGisProject.h
-+++ b/src/gis/prj/IGisProject.h
-@@ -77,4 +77,7 @@
-
- void edit();
-
-+ /**
-+ @brief Save the project using it's native format.
-+ */
- virtual void save() = 0;
-@@ -80,4 +83,7 @@
- virtual void save() = 0;
-+ /**
-+ @brief Save the project selecting one of the available formats.
-+ */
- virtual void saveAs() = 0;
-
- virtual void setFilename(const QString& fn){filename = fn;}
-@@ -81,5 +87,5 @@
- virtual void saveAs() = 0;
-
- virtual void setFilename(const QString& fn){filename = fn;}
-- virtual QString getFilename(){return filename;}
-+ virtual QString getFilename() const {return filename;}
-
-@@ -85,8 +91,8 @@
-
-- type_e getType(){return type;}
-+ type_e getType() const {return type;}
-
- /**
- @brief Get unique project key.
- @return A MD5 hash string
- */
- const QString& getKey(){genKey(); return key;}
-@@ -87,14 +93,14 @@
-
- /**
- @brief Get unique project key.
- @return A MD5 hash string
- */
- const QString& getKey(){genKey(); return key;}
-- const QString& getName(){return metadata.name;}
-- const QDateTime& getTime(){return metadata.time;}
-- const QString& getKeywords(){return metadata.keywords;}
-- const QString& getDescription(){return metadata.desc;}
-- const QList<IGisItem::link_t>& getLinks(){return metadata.links;}
-+ const QString& getName() const {return metadata.name;}
-+ const QDateTime& getTime() const {return metadata.time;}
-+ const QString& getKeywords() const {return metadata.keywords;}
-+ const QString& getDescription() const {return metadata.desc;}
-+ const QList<IGisItem::link_t>& getLinks() const {return metadata.links;}
-
-
- void setName(const QString& str);
-@@ -106,7 +112,7 @@
- @brief Get a short metadata summary
- @return Informational string.
- */
-- virtual QString getInfo();
-+ virtual QString getInfo() const;
- /**
- @brief Get a temporary pointer to the item with matching key
- @param key
-@@ -137,6 +143,18 @@
- */
- void editItemByKey(const IGisItem::key_t &key);
-
-+ /**
-+ @brief Add a copy if the gven item to the project
-+
-+ Befor the item is inserted the method will use it's key to find a duplicat item.
-+ If there is an item with the same item key a copy option dialog is shown. Depending
-+ the result the action is performed or aborted. The result will be copied into
-+ lastResult to repeat the same decision on subsequent items.
-+
-+ @param item pointer to item
-+ @param off the offset into the tree widget, -1 for none
-+ @param lastResult a reference to hold the last result of the copy option dialog
-+ */
- void insertCopyOfItem(IGisItem *item, int off, int &lastResult);
-
- /**
-@@ -146,7 +164,7 @@
-
- @return True if project is valid
- */
-- bool isValid(){return valid;}
-+ bool isValid() const {return valid;}
-
- void drawItem(QPainter& p, const QRectF& viewport, QList<QRectF>& blockedAreas, QSet<QString> &seenKeys, CGisDraw * gis);
- void drawLabel(QPainter& p, const QRectF& viewport, QList<QRectF>& blockedAreas, QSet<QString> &seenKeys, const QFontMetricsF& fm, CGisDraw * gis);
diff --git a/.hg/Trashcan/2014-08-10_14-17-09_parent_rev_212_5yS1bt.bak b/.hg/Trashcan/2014-08-10_14-17-09_parent_rev_212_5yS1bt.bak
deleted file mode 100644
index bd677c7..0000000
--- a/.hg/Trashcan/2014-08-10_14-17-09_parent_rev_212_5yS1bt.bak
+++ /dev/null
@@ -1,329 +0,0 @@
-diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
---- a/src/CMakeLists.txt
-+++ b/src/CMakeLists.txt
-@@ -20,6 +20,7 @@
- helpers/CInputDialog.cpp
- helpers/CPositionDialog.cpp
- helpers/CWptIconDialog.cpp
-+ helpers/CTextEditWidget.cpp
- canvas/CCanvas.cpp
- canvas/CCanvasSetup.cpp
- canvas/IDrawContext.cpp
-@@ -93,6 +94,7 @@
- helpers/CInputDialog.h
- helpers/CPositionDialog.h
- helpers/CWptIconDialog.h
-+ helpers/CTextEditWidget.h
- canvas/CCanvas.h
- canvas/CCanvasSetup.h
- canvas/IDrawContext.h
-@@ -160,6 +162,7 @@
- helpers/IInputDialog.ui
- helpers/IPositionDialog.ui
- helpers/IWptIconDialog.ui
-+ helpers/ITextEditWidget.ui
- canvas/ICanvasSetup.ui
- dem/IDemList.ui
- dem/IDemPathSetup.ui
-diff --git a/src/gis/CGisListWks.cpp b/src/gis/CGisListWks.cpp
---- a/src/gis/CGisListWks.cpp
-+++ b/src/gis/CGisListWks.cpp
-@@ -39,8 +39,6 @@
- menuItem = new QMenu(this);
- actionEditDetails = menuItem->addAction(QIcon("://icons/32x32/EditDetails.png"),tr("Edit..."), this, SLOT(slotEditItem()));
- actionDelete = menuItem->addAction(QIcon("://icons/48x48/DeleteOne.png"),tr("Delete"), this, SLOT(slotDeleteItem()));
--
-- actionEditDetails->setEnabled(false);
- }
-
- CGisListWks::~CGisListWks()
-@@ -143,7 +141,14 @@
-
- void CGisListWks::slotEditItem()
- {
--
-+ IGisItem::mutexItems.lock();
-+ IGisItem * gisItem = dynamic_cast<IGisItem*>(currentItem());
-+ if(gisItem != 0)
-+ {
-+ QString key = gisItem->getKey();
-+ CGisWidget::self().editItemByKey(key);
-+ }
-+ IGisItem::mutexItems.unlock();
- }
-
- void CGisListWks::slotDeleteItem()
-diff --git a/src/gis/CGisWidget.cpp b/src/gis/CGisWidget.cpp
---- a/src/gis/CGisWidget.cpp
-+++ b/src/gis/CGisWidget.cpp
-@@ -33,7 +33,9 @@
- pSelf = this;
- setupUi(this);
-
-- treeWks->header()->setSectionResizeMode(0,QHeaderView::ResizeToContents);
-+// treeWks->header()->setSectionResizeMode(0,QHeaderView::Interactive);
-+ treeWks->header()->setSectionResizeMode(1,QHeaderView::ResizeToContents);
-+// treeWks->header()->setCascadingSectionResizes(true);
-
-
- connect(treeWks, SIGNAL(sigChanged()), SIGNAL(sigChanged()));
-diff --git a/src/gis/IGisWidget.ui b/src/gis/IGisWidget.ui
---- a/src/gis/IGisWidget.ui
-+++ b/src/gis/IGisWidget.ui
-@@ -43,8 +43,5 @@
- <height>22</height>
- </size>
- </property>
-- <attribute name="headerVisible">
-- <bool>false</bool>
-- </attribute>
- <column>
- <property name="text">
-@@ -49,7 +46,7 @@
- <column>
- <property name="text">
-- <string notr="true">1</string>
-+ <string notr="true">Name</string>
- </property>
- </column>
- <column>
- <property name="text">
-@@ -52,8 +49,8 @@
- </property>
- </column>
- <column>
- <property name="text">
-- <string>2</string>
-+ <string>State</string>
- </property>
- </column>
- </widget>
-diff --git a/src/gis/wpt/CDetailsWpt.cpp b/src/gis/wpt/CDetailsWpt.cpp
---- a/src/gis/wpt/CDetailsWpt.cpp
-+++ b/src/gis/wpt/CDetailsWpt.cpp
-@@ -23,6 +23,7 @@
- #include "helpers/CInputDialog.h"
- #include "helpers/CPositionDialog.h"
- #include "helpers/CWptIconDialog.h"
-+#include "helpers/CTextEditWidget.h"
-
-
- #include <QtWidgets>
-@@ -38,6 +39,8 @@
- connect(labelElevation, SIGNAL(linkActivated(QString)), this, SLOT(slotLinkActivated(QString)));
- connect(labelProximity, SIGNAL(linkActivated(QString)), this, SLOT(slotLinkActivated(QString)));
- connect(toolIcon, SIGNAL(clicked()), this, SLOT(slotChangeIcon()));
-+ connect(toolEditCmt, SIGNAL(clicked()), this, SLOT(slotChangeCmt()));
-+ connect(toolEditDesc, SIGNAL(clicked()), this, SLOT(slotChangeDesc()));
- }
-
- CDetailsWpt::~CDetailsWpt()
-@@ -151,3 +154,25 @@
- setupGui();
- }
- }
-+
-+void CDetailsWpt::slotChangeCmt()
-+{
-+ CTextEditWidget dlg(0);
-+ dlg.setHtml(wpt.getComment());
-+ if(dlg.exec() == QDialog::Accepted)
-+ {
-+ wpt.setComment(dlg.getHtml());
-+ setupGui();
-+ }
-+}
-+
-+void CDetailsWpt::slotChangeDesc()
-+{
-+ CTextEditWidget dlg(0);
-+ dlg.setHtml(wpt.getDescription());
-+ if(dlg.exec() == QDialog::Accepted)
-+ {
-+ wpt.setDescription(dlg.getHtml());
-+ setupGui();
-+ }
-+}
-diff --git a/src/gis/wpt/CDetailsWpt.h b/src/gis/wpt/CDetailsWpt.h
---- a/src/gis/wpt/CDetailsWpt.h
-+++ b/src/gis/wpt/CDetailsWpt.h
-@@ -34,6 +34,8 @@
- private slots:
- void slotLinkActivated(const QString& link);
- void slotChangeIcon();
-+ void slotChangeCmt();
-+ void slotChangeDesc();
-
- private:
- void setupGui();
-diff --git a/src/gis/wpt/CGisItemWpt.h b/src/gis/wpt/CGisItemWpt.h
---- a/src/gis/wpt/CGisItemWpt.h
-+++ b/src/gis/wpt/CGisItemWpt.h
-@@ -35,6 +35,8 @@
- void setElevation(qint32 val);
- void setProximity(qreal val);
- void setIcon(const QString& name);
-+ void setComment(const QString& str);
-+ void setDescription(const QString& str);
-
- const QString& getName(){return wpt.name;}
- QString getInfo();
-diff --git a/src/gis/wpt/IScrOptWpt.ui b/src/gis/wpt/IScrOptWpt.ui
---- a/src/gis/wpt/IScrOptWpt.ui
-+++ b/src/gis/wpt/IScrOptWpt.ui
-@@ -88,9 +88,15 @@
- </item>
- <item>
- <widget class="QLabel" name="label">
-+ <property name="maximumSize">
-+ <size>
-+ <width>400</width>
-+ <height>16777215</height>
-+ </size>
-+ </property>
- <property name="text">
- <string>TextLabel</string>
- </property>
- <property name="textFormat">
- <enum>Qt::AutoText</enum>
- </property>
-@@ -91,9 +97,12 @@
- <property name="text">
- <string>TextLabel</string>
- </property>
- <property name="textFormat">
- <enum>Qt::AutoText</enum>
- </property>
-+ <property name="wordWrap">
-+ <bool>true</bool>
-+ </property>
- </widget>
- </item>
- </layout>
-diff --git a/src/helpers/IWptIconDialog.ui b/src/helpers/IWptIconDialog.ui
---- a/src/helpers/IWptIconDialog.ui
-+++ b/src/helpers/IWptIconDialog.ui
-@@ -24,16 +24,6 @@
- </property>
- </widget>
- </item>
-- <item>
-- <widget class="QDialogButtonBox" name="buttonBox">
-- <property name="orientation">
-- <enum>Qt::Horizontal</enum>
-- </property>
-- <property name="standardButtons">
-- <set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
-- </property>
-- </widget>
-- </item>
- </layout>
- </widget>
- <resources/>
-@@ -37,38 +27,5 @@
- </layout>
- </widget>
- <resources/>
-- <connections>
-- <connection>
-- <sender>buttonBox</sender>
-- <signal>accepted()</signal>
-- <receiver>IWptIconDialog</receiver>
-- <slot>accept()</slot>
-- <hints>
-- <hint type="sourcelabel">
-- <x>248</x>
-- <y>254</y>
-- </hint>
-- <hint type="destinationlabel">
-- <x>157</x>
-- <y>274</y>
-- </hint>
-- </hints>
-- </connection>
-- <connection>
-- <sender>buttonBox</sender>
-- <signal>rejected()</signal>
-- <receiver>IWptIconDialog</receiver>
-- <slot>reject()</slot>
-- <hints>
-- <hint type="sourcelabel">
-- <x>316</x>
-- <y>260</y>
-- </hint>
-- <hint type="destinationlabel">
-- <x>286</x>
-- <y>274</y>
-- </hint>
-- </hints>
-- </connection>
-- </connections>
-+ <connections/>
- </ui>
-diff --git a/src/resources.qrc b/src/resources.qrc
---- a/src/resources.qrc
-+++ b/src/resources.qrc
-@@ -68,6 +68,19 @@
- <file>icons/16x16/EditDetails.png</file>
- <file>icons/16x16/EditText.png</file>
- <file>icons/16x16/TimeZoneSetup.png</file>
-+ <file>icons/16x16/Undo.png</file>
-+ <file>icons/16x16/Redo.png</file>
-+ <file>icons/16x16/Cut.png</file>
-+ <file>icons/16x16/Copy.png</file>
-+ <file>icons/16x16/Paste.png</file>
-+ <file>icons/16x16/TextLeft.png</file>
-+ <file>icons/16x16/TextRight.png</file>
-+ <file>icons/16x16/TextCenter.png</file>
-+ <file>icons/16x16/TextJustified.png</file>
-+ <file>icons/16x16/TextBold.png</file>
-+ <file>icons/16x16/TextUnderlined.png</file>
-+ <file>icons/16x16/TextItalic.png</file>
-+
- <file>icons/32x32/2DFix.png</file>
- <file>icons/32x32/3DFix.png</file>
- <file>icons/32x32/Add.png</file>
-@@ -118,6 +131,21 @@
- <file>icons/32x32/EditDetails.png</file>
- <file>icons/32x32/EditText.png</file>
- <file>icons/32x32/TimeZoneSetup.png</file>
-+ <file>icons/32x32/Undo.png</file>
-+ <file>icons/32x32/Redo.png</file>
-+ <file>icons/32x32/Cut.png</file>
-+ <file>icons/32x32/Copy.png</file>
-+ <file>icons/32x32/Paste.png</file>
-+ <file>icons/32x32/TextLeft.png</file>
-+ <file>icons/32x32/TextRight.png</file>
-+ <file>icons/32x32/TextCenter.png</file>
-+ <file>icons/32x32/TextJustified.png</file>
-+ <file>icons/32x32/TextBold.png</file>
-+ <file>icons/32x32/TextUnderlined.png</file>
-+ <file>icons/32x32/TextItalic.png</file>
-+
-+
-+
- <file>icons/48x48/2DFix.png</file>
- <file>icons/48x48/3DFix.png</file>
- <file>icons/48x48/Add.png</file>
-@@ -168,6 +196,21 @@
- <file>icons/48x48/EditDetails.png</file>
- <file>icons/48x48/EditText.png</file>
- <file>icons/48x48/TimeZoneSetup.png</file>
-+ <file>icons/48x48/Undo.png</file>
-+ <file>icons/48x48/Redo.png</file>
-+ <file>icons/48x48/Cut.png</file>
-+ <file>icons/48x48/Copy.png</file>
-+ <file>icons/48x48/Paste.png</file>
-+ <file>icons/48x48/TextLeft.png</file>
-+ <file>icons/48x48/TextRight.png</file>
-+ <file>icons/48x48/TextCenter.png</file>
-+ <file>icons/48x48/TextJustified.png</file>
-+ <file>icons/48x48/TextBold.png</file>
-+ <file>icons/48x48/TextUnderlined.png</file>
-+ <file>icons/48x48/TextItalic.png</file>
-+
-+
-+
- <file>icons/cache/32x32/bluepin.png</file>
- <file>icons/cache/32x32/cito.png</file>
- <file>icons/cache/32x32/corrected.png</file>
diff --git a/.hg/Trashcan/2014-08-10_14-17-09_parent_rev_212_63JmLB.bak b/.hg/Trashcan/2014-08-10_14-17-09_parent_rev_212_63JmLB.bak
deleted file mode 100644
index d8349c2..0000000
--- a/.hg/Trashcan/2014-08-10_14-17-09_parent_rev_212_63JmLB.bak
+++ /dev/null
@@ -1,86 +0,0 @@
-diff --git a/src/gis/CGisWidget.cpp b/src/gis/CGisWidget.cpp
---- a/src/gis/CGisWidget.cpp
-+++ b/src/gis/CGisWidget.cpp
-@@ -33,7 +33,9 @@
- pSelf = this;
- setupUi(this);
-
-- treeWks->header()->setSectionResizeMode(0,QHeaderView::ResizeToContents);
-+// treeWks->header()->setSectionResizeMode(0,QHeaderView::Interactive);
-+ treeWks->header()->setSectionResizeMode(1,QHeaderView::ResizeToContents);
-+// treeWks->header()->setCascadingSectionResizes(true);
-
-
- connect(treeWks, SIGNAL(sigChanged()), SIGNAL(sigChanged()));
-diff --git a/src/gis/wpt/CDetailsWpt.h b/src/gis/wpt/CDetailsWpt.h
---- a/src/gis/wpt/CDetailsWpt.h
-+++ b/src/gis/wpt/CDetailsWpt.h
-@@ -34,6 +34,8 @@
- private slots:
- void slotLinkActivated(const QString& link);
- void slotChangeIcon();
-+ void slotChangeCmt();
-+ void slotChangeDesc();
-
- private:
- void setupGui();
-diff --git a/src/helpers/IWptIconDialog.ui b/src/helpers/IWptIconDialog.ui
---- a/src/helpers/IWptIconDialog.ui
-+++ b/src/helpers/IWptIconDialog.ui
-@@ -24,16 +24,6 @@
- </property>
- </widget>
- </item>
-- <item>
-- <widget class="QDialogButtonBox" name="buttonBox">
-- <property name="orientation">
-- <enum>Qt::Horizontal</enum>
-- </property>
-- <property name="standardButtons">
-- <set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
-- </property>
-- </widget>
-- </item>
- </layout>
- </widget>
- <resources/>
-@@ -37,38 +27,5 @@
- </layout>
- </widget>
- <resources/>
-- <connections>
-- <connection>
-- <sender>buttonBox</sender>
-- <signal>accepted()</signal>
-- <receiver>IWptIconDialog</receiver>
-- <slot>accept()</slot>
-- <hints>
-- <hint type="sourcelabel">
-- <x>248</x>
-- <y>254</y>
-- </hint>
-- <hint type="destinationlabel">
-- <x>157</x>
-- <y>274</y>
-- </hint>
-- </hints>
-- </connection>
-- <connection>
-- <sender>buttonBox</sender>
-- <signal>rejected()</signal>
-- <receiver>IWptIconDialog</receiver>
-- <slot>reject()</slot>
-- <hints>
-- <hint type="sourcelabel">
-- <x>316</x>
-- <y>260</y>
-- </hint>
-- <hint type="destinationlabel">
-- <x>286</x>
-- <y>274</y>
-- </hint>
-- </hints>
-- </connection>
-- </connections>
-+ <connections/>
- </ui>
diff --git a/.hg/Trashcan/2014-08-10_14-17-09_parent_rev_212_6f2vC4.bak b/.hg/Trashcan/2014-08-10_14-17-09_parent_rev_212_6f2vC4.bak
deleted file mode 100644
index e69de29..0000000
diff --git a/.hg/Trashcan/2014-08-10_14-17-09_parent_rev_212_8xXTxE.bak b/.hg/Trashcan/2014-08-10_14-17-09_parent_rev_212_8xXTxE.bak
deleted file mode 100644
index 9def1c5..0000000
--- a/.hg/Trashcan/2014-08-10_14-17-09_parent_rev_212_8xXTxE.bak
+++ /dev/null
@@ -1,93 +0,0 @@
-diff --git a/src/gis/prj/IGisProject.h b/src/gis/prj/IGisProject.h
---- a/src/gis/prj/IGisProject.h
-+++ b/src/gis/prj/IGisProject.h
-@@ -77,4 +77,7 @@
-
- void edit();
-
-+ /**
-+ @brief Save the project using it's native format.
-+ */
- virtual void save() = 0;
-@@ -80,4 +83,7 @@
- virtual void save() = 0;
-+ /**
-+ @brief Save the project selecting one of the available formats.
-+ */
- virtual void saveAs() = 0;
-
- virtual void setFilename(const QString& fn){filename = fn;}
-@@ -81,5 +87,5 @@
- virtual void saveAs() = 0;
-
- virtual void setFilename(const QString& fn){filename = fn;}
-- virtual QString getFilename(){return filename;}
-+ virtual QString getFilename() const {return filename;}
-
-@@ -85,8 +91,8 @@
-
-- type_e getType(){return type;}
-+ type_e getType() const {return type;}
-
- /**
- @brief Get unique project key.
- @return A MD5 hash string
- */
- const QString& getKey(){genKey(); return key;}
-@@ -87,14 +93,14 @@
-
- /**
- @brief Get unique project key.
- @return A MD5 hash string
- */
- const QString& getKey(){genKey(); return key;}
-- const QString& getName(){return metadata.name;}
-- const QDateTime& getTime(){return metadata.time;}
-- const QString& getKeywords(){return metadata.keywords;}
-- const QString& getDescription(){return metadata.desc;}
-- const QList<IGisItem::link_t>& getLinks(){return metadata.links;}
-+ const QString& getName() const {return metadata.name;}
-+ const QDateTime& getTime() const {return metadata.time;}
-+ const QString& getKeywords() const {return metadata.keywords;}
-+ const QString& getDescription() const {return metadata.desc;}
-+ const QList<IGisItem::link_t>& getLinks() const {return metadata.links;}
-
-
- void setName(const QString& str);
-@@ -106,7 +112,7 @@
- @brief Get a short metadata summary
- @return Informational string.
- */
-- virtual QString getInfo();
-+ virtual QString getInfo() const;
- /**
- @brief Get a temporary pointer to the item with matching key
- @param key
-@@ -137,6 +143,18 @@
- */
- void editItemByKey(const IGisItem::key_t &key);
-
-+ /**
-+ @brief Add a copy if the gven item to the project
-+
-+ Befor the item is inserted the method will use it's key to find a duplicat item.
-+ If there is an item with the same item key a copy option dialog is shown. Depending
-+ the result the action is performed or aborted. The result will be copied into
-+ lastResult to repeat the same decision on subsequent items.
-+
-+ @param item pointer to item
-+ @param off the offset into the tree widget, -1 for none
-+ @param lastResult a reference to hold the last result of the copy option dialog
-+ */
- void insertCopyOfItem(IGisItem *item, int off, int &lastResult);
-
- /**
-@@ -146,7 +164,7 @@
-
- @return True if project is valid
- */
-- bool isValid(){return valid;}
-+ bool isValid() const {return valid;}
-
- void drawItem(QPainter& p, const QRectF& viewport, QList<QRectF>& blockedAreas, QSet<QString> &seenKeys, CGisDraw * gis);
- void drawLabel(QPainter& p, const QRectF& viewport, QList<QRectF>& blockedAreas, QSet<QString> &seenKeys, const QFontMetricsF& fm, CGisDraw * gis);
diff --git a/.hg/Trashcan/2014-08-10_14-17-09_parent_rev_212_E5WdFy.bak b/.hg/Trashcan/2014-08-10_14-17-09_parent_rev_212_E5WdFy.bak
deleted file mode 100644
index e69de29..0000000
diff --git a/.hg/Trashcan/2014-08-10_14-17-09_parent_rev_212_EUeX2W.bak b/.hg/Trashcan/2014-08-10_14-17-09_parent_rev_212_EUeX2W.bak
deleted file mode 100644
index 4cdee7d..0000000
--- a/.hg/Trashcan/2014-08-10_14-17-09_parent_rev_212_EUeX2W.bak
+++ /dev/null
@@ -1,63 +0,0 @@
-diff --git a/src/gis/CGisListWks.cpp b/src/gis/CGisListWks.cpp
---- a/src/gis/CGisListWks.cpp
-+++ b/src/gis/CGisListWks.cpp
-@@ -351,6 +351,15 @@
- int y2 = e->pos().y();
- int off = y2 > y1 ? 1 : 0;
-
-+ IGisProject * prj1 = dynamic_cast<IGisProject*>(currentItem());
-+ IGisProject * prj2 = dynamic_cast<IGisProject*>(itemAt(e->pos()));
-+ if(prj1 && prj2)
-+ {
-+ QTreeWidget::dropEvent(e);
-+ emit sigChanged();
-+ return;
-+ }
-+
- CGisItemWpt * wpt1 = dynamic_cast<CGisItemWpt*>(currentItem());
- CGisItemWpt * wpt2 = dynamic_cast<CGisItemWpt*>(itemAt(e->pos()));
-
-@@ -454,7 +463,10 @@
- }
-
- IGisItem * gisItem = dynamic_cast<IGisItem*>(item);
-- project->insertCopyOfItem(gisItem, -1, lastResult);
-+ if(gisItem)
-+ {
-+ project->insertCopyOfItem(gisItem, -1, lastResult);
-+ }
- }
- }
- emit sigChanged();
-diff --git a/src/gis/IGisItem.cpp b/src/gis/IGisItem.cpp
---- a/src/gis/IGisItem.cpp
-+++ b/src/gis/IGisItem.cpp
-@@ -190,7 +190,7 @@
- }
- }
-
--QString IGisItem::getNameEx()
-+QString IGisItem::getNameEx() const
- {
- QString str = getName();
- IGisProject * project = dynamic_cast<IGisProject*>(parent());
-@@ -350,8 +350,8 @@
- }
- }
-
--bool IGisItem::isReadOnly()
-+bool IGisItem::isReadOnly() const
- {
- return !(flags & eFlagWriteAllowed);
- }
-
-@@ -354,8 +354,8 @@
- {
- return !(flags & eFlagWriteAllowed);
- }
-
--bool IGisItem::isTainted()
-+bool IGisItem::isTainted() const
- {
- return (flags & eFlagTainted);
- }
diff --git a/.hg/Trashcan/2014-08-10_14-17-09_parent_rev_212_H2s6va.bak b/.hg/Trashcan/2014-08-10_14-17-09_parent_rev_212_H2s6va.bak
deleted file mode 100644
index ae0a6b9..0000000
--- a/.hg/Trashcan/2014-08-10_14-17-09_parent_rev_212_H2s6va.bak
+++ /dev/null
@@ -1,350 +0,0 @@
-diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
---- a/src/CMakeLists.txt
-+++ b/src/CMakeLists.txt
-@@ -20,6 +20,7 @@
- helpers/CInputDialog.cpp
- helpers/CPositionDialog.cpp
- helpers/CWptIconDialog.cpp
-+ helpers/CTextEditWidget.cpp
- canvas/CCanvas.cpp
- canvas/CCanvasSetup.cpp
- canvas/IDrawContext.cpp
-@@ -93,6 +94,7 @@
- helpers/CInputDialog.h
- helpers/CPositionDialog.h
- helpers/CWptIconDialog.h
-+ helpers/CTextEditWidget.h
- canvas/CCanvas.h
- canvas/CCanvasSetup.h
- canvas/IDrawContext.h
-@@ -160,6 +162,7 @@
- helpers/IInputDialog.ui
- helpers/IPositionDialog.ui
- helpers/IWptIconDialog.ui
-+ helpers/ITextEditWidget.ui
- canvas/ICanvasSetup.ui
- dem/IDemList.ui
- dem/IDemPathSetup.ui
-diff --git a/src/gis/CGisListWks.cpp b/src/gis/CGisListWks.cpp
---- a/src/gis/CGisListWks.cpp
-+++ b/src/gis/CGisListWks.cpp
-@@ -39,8 +39,6 @@
- menuItem = new QMenu(this);
- actionEditDetails = menuItem->addAction(QIcon("://icons/32x32/EditDetails.png"),tr("Edit..."), this, SLOT(slotEditItem()));
- actionDelete = menuItem->addAction(QIcon("://icons/48x48/DeleteOne.png"),tr("Delete"), this, SLOT(slotDeleteItem()));
--
-- actionEditDetails->setEnabled(false);
- }
-
- CGisListWks::~CGisListWks()
-@@ -143,7 +141,14 @@
-
- void CGisListWks::slotEditItem()
- {
--
-+ IGisItem::mutexItems.lock();
-+ IGisItem * gisItem = dynamic_cast<IGisItem*>(currentItem());
-+ if(gisItem != 0)
-+ {
-+ QString key = gisItem->getKey();
-+ CGisWidget::self().editItemByKey(key);
-+ }
-+ IGisItem::mutexItems.unlock();
- }
-
- void CGisListWks::slotDeleteItem()
-diff --git a/src/gis/CGisWidget.cpp b/src/gis/CGisWidget.cpp
---- a/src/gis/CGisWidget.cpp
-+++ b/src/gis/CGisWidget.cpp
-@@ -33,7 +33,9 @@
- pSelf = this;
- setupUi(this);
-
-- treeWks->header()->setSectionResizeMode(0,QHeaderView::ResizeToContents);
-+// treeWks->header()->setSectionResizeMode(0,QHeaderView::Interactive);
-+ treeWks->header()->setSectionResizeMode(1,QHeaderView::ResizeToContents);
-+// treeWks->header()->setCascadingSectionResizes(true);
-
-
- connect(treeWks, SIGNAL(sigChanged()), SIGNAL(sigChanged()));
-diff --git a/src/gis/IGisItem.cpp b/src/gis/IGisItem.cpp
---- a/src/gis/IGisItem.cpp
-+++ b/src/gis/IGisItem.cpp
-@@ -278,7 +278,7 @@
- }
- }
-
--void IGisItem::removeHtml(QString &str)
-+QString IGisItem::removeHtml(const QString &str)
- {
- QTextDocument html;
- html.setHtml(str);
-@@ -282,5 +282,5 @@
- {
- QTextDocument html;
- html.setHtml(str);
-- str = html.toPlainText();
-+ return html.toPlainText();
- }
-diff --git a/src/gis/IGisItem.h b/src/gis/IGisItem.h
---- a/src/gis/IGisItem.h
-+++ b/src/gis/IGisItem.h
-@@ -115,6 +115,8 @@
-
- virtual void edit(){}
-
-+ static QString removeHtml(const QString &str);
-+
- protected:
- friend class CGisProject;
- struct wpt_t;
-@@ -125,7 +127,7 @@
- QString color2str(const QColor &color);
- void splitLineToViewport(const QPolygonF& line, const QRectF& extViewport, QList<QPolygonF>& lines);
- void drawArrows(const QPolygonF &line, const QRectF &extViewport, QPainter& p);
-- void removeHtml(QString &str);
-+
-
-
- struct color_t
-diff --git a/src/gis/IGisWidget.ui b/src/gis/IGisWidget.ui
---- a/src/gis/IGisWidget.ui
-+++ b/src/gis/IGisWidget.ui
-@@ -43,8 +43,5 @@
- <height>22</height>
- </size>
- </property>
-- <attribute name="headerVisible">
-- <bool>false</bool>
-- </attribute>
- <column>
- <property name="text">
-@@ -49,7 +46,7 @@
- <column>
- <property name="text">
-- <string notr="true">1</string>
-+ <string notr="true">Name</string>
- </property>
- </column>
- <column>
- <property name="text">
-@@ -52,8 +49,8 @@
- </property>
- </column>
- <column>
- <property name="text">
-- <string>2</string>
-+ <string>State</string>
- </property>
- </column>
- </widget>
-diff --git a/src/gis/wpt/CDetailsWpt.cpp b/src/gis/wpt/CDetailsWpt.cpp
---- a/src/gis/wpt/CDetailsWpt.cpp
-+++ b/src/gis/wpt/CDetailsWpt.cpp
-@@ -23,6 +23,7 @@
- #include "helpers/CInputDialog.h"
- #include "helpers/CPositionDialog.h"
- #include "helpers/CWptIconDialog.h"
-+#include "helpers/CTextEditWidget.h"
-
-
- #include <QtWidgets>
-@@ -38,6 +39,8 @@
- connect(labelElevation, SIGNAL(linkActivated(QString)), this, SLOT(slotLinkActivated(QString)));
- connect(labelProximity, SIGNAL(linkActivated(QString)), this, SLOT(slotLinkActivated(QString)));
- connect(toolIcon, SIGNAL(clicked()), this, SLOT(slotChangeIcon()));
-+ connect(toolEditCmt, SIGNAL(clicked()), this, SLOT(slotChangeCmt()));
-+ connect(toolEditDesc, SIGNAL(clicked()), this, SLOT(slotChangeDesc()));
- }
-
- CDetailsWpt::~CDetailsWpt()
-@@ -151,3 +154,25 @@
- setupGui();
- }
- }
-+
-+void CDetailsWpt::slotChangeCmt()
-+{
-+ CTextEditWidget dlg(0);
-+ dlg.setHtml(wpt.getComment());
-+ if(dlg.exec() == QDialog::Accepted)
-+ {
-+ wpt.setComment(dlg.getHtml());
-+ setupGui();
-+ }
-+}
-+
-+void CDetailsWpt::slotChangeDesc()
-+{
-+ CTextEditWidget dlg(0);
-+ dlg.setHtml(wpt.getDescription());
-+ if(dlg.exec() == QDialog::Accepted)
-+ {
-+ wpt.setDescription(dlg.getHtml());
-+ setupGui();
-+ }
-+}
-diff --git a/src/gis/wpt/CDetailsWpt.h b/src/gis/wpt/CDetailsWpt.h
---- a/src/gis/wpt/CDetailsWpt.h
-+++ b/src/gis/wpt/CDetailsWpt.h
-@@ -34,6 +34,8 @@
- private slots:
- void slotLinkActivated(const QString& link);
- void slotChangeIcon();
-+ void slotChangeCmt();
-+ void slotChangeDesc();
-
- private:
- void setupGui();
-diff --git a/src/gis/wpt/CGisItemWpt.cpp b/src/gis/wpt/CGisItemWpt.cpp
---- a/src/gis/wpt/CGisItemWpt.cpp
-+++ b/src/gis/wpt/CGisItemWpt.cpp
-@@ -18,8 +18,9 @@
-
- #include "gis/wpt/CGisItemWpt.h"
- #include "gis/wpt/CDetailsWpt.h"
-+#include "gis/wpt/CScrOptWpt.h"
- #include "gis/CGisProject.h"
- #include "gis/CGisDraw.h"
- #include "gis/WptIcons.h"
- #include "canvas/CCanvas.h"
- #include "mouse/IMouse.h"
-@@ -21,9 +22,8 @@
- #include "gis/CGisProject.h"
- #include "gis/CGisDraw.h"
- #include "gis/WptIcons.h"
- #include "canvas/CCanvas.h"
- #include "mouse/IMouse.h"
--#include "gis/wpt/CScrOptWpt.h"
- #include "units/IUnit.h"
- #include "GeoMath.h"
-
-@@ -88,7 +88,7 @@
-
- QString CGisItemWpt::getInfo()
- {
-- QString str = getName();
-+ QString str = "<p>" + getName() + "</p>";
-
- if(geocache.hasData)
- {
-@@ -97,10 +97,10 @@
-
- if(wpt.time.isValid())
- {
-- if(!str.isEmpty()) str += "\n";
-+ if(!str.isEmpty()) str += "<br/>\n";
-
- str += IUnit::datetime2string(wpt.time, QPointF(wpt.lon*DEG_TO_RAD, wpt.lat*DEG_TO_RAD));
- }
-
- if(wpt.ele != NOINT)
- {
-@@ -101,10 +101,10 @@
-
- str += IUnit::datetime2string(wpt.time, QPointF(wpt.lon*DEG_TO_RAD, wpt.lat*DEG_TO_RAD));
- }
-
- if(wpt.ele != NOINT)
- {
-- if(!str.isEmpty()) str += "\n";
-+ if(!str.isEmpty()) str += "<br/>\n";
- QString val, unit;
- IUnit::self().meter2elevation(wpt.ele, val, unit);
- str += QObject::tr("Elevation: %1 %2").arg(val).arg(unit);
-@@ -112,9 +112,9 @@
-
- if(proximity != NOFLOAT)
- {
-- if(!str.isEmpty()) str += "\n";
-+ if(!str.isEmpty()) str += "<br/>\n";
- QString val, unit;
- IUnit::self().meter2distance(proximity, val, unit);
- str += QObject::tr("Proximity: %1 %2").arg(val).arg(unit);
- }
-
-@@ -116,7 +116,8 @@
- QString val, unit;
- IUnit::self().meter2distance(proximity, val, unit);
- str += QObject::tr("Proximity: %1 %2").arg(val).arg(unit);
- }
-
-- if(wpt.desc.count())
-+ QString desc = removeHtml(wpt.desc);
-+ if(desc.count())
- {
-@@ -122,3 +123,3 @@
- {
-- if(!str.isEmpty()) str += "\n";
-+ if(!str.isEmpty()) str += "<br/>\n";
-
-@@ -124,3 +125,3 @@
-
-- if(wpt.desc.count() < 200)
-+ if(desc.count() < 200)
- {
-@@ -126,5 +127,5 @@
- {
-- str += wpt.desc;
-+ str += desc;
- }
- else
- {
-@@ -128,8 +129,8 @@
- }
- else
- {
-- str += wpt.desc.left(197) + "...";
-+ str += desc.left(197) + "...";
- }
- }
- else
- {
-@@ -132,7 +133,7 @@
- }
- }
- else
- {
-- QString cmt = wpt.cmt;
-+ QString cmt = removeHtml(wpt.cmt);
- if(cmt.count())
- {
-@@ -137,6 +138,6 @@
- if(cmt.count())
- {
-- if(!str.isEmpty()) str += "\n";
-+ if(!str.isEmpty()) str += "<br/>\n";
-
- if(cmt.count() < 200)
- {
-@@ -148,6 +149,9 @@
- }
- }
- }
-+
-+ qDebug() << "-----------------------";
-+ qDebug() << str;
- return str;
- }
-
-@@ -207,6 +211,20 @@
- setIcon();
- }
-
-+void CGisItemWpt::setComment(const QString& str)
-+{
-+ setText(1,"*");
-+ wpt.cmt = str;
-+ setToolTip(0,getInfo());
-+}
-+
-+void CGisItemWpt::setDescription(const QString& str)
-+{
-+ setText(1,"*");
-+ wpt.desc = str;
-+ setToolTip(0,getInfo());
-+}
-+
- void CGisItemWpt::save(QDomNode& gpx)
- {
- QDomDocument doc = gpx.ownerDocument();
diff --git a/.hg/Trashcan/2014-08-10_14-17-09_parent_rev_212_HGPpdo.bak b/.hg/Trashcan/2014-08-10_14-17-09_parent_rev_212_HGPpdo.bak
deleted file mode 100644
index 5b57ce9..0000000
--- a/.hg/Trashcan/2014-08-10_14-17-09_parent_rev_212_HGPpdo.bak
+++ /dev/null
@@ -1,77 +0,0 @@
-diff --git a/src/gis/IGisItem.cpp b/src/gis/IGisItem.cpp
---- a/src/gis/IGisItem.cpp
-+++ b/src/gis/IGisItem.cpp
-@@ -451,6 +451,11 @@
- QPolygonF subline;
- const int size = line.size();
-
-+ if(line.isEmpty())
-+ {
-+ return;
-+ }
-+
- pt = line[0];
- subline << pt;
-
-diff --git a/src/gis/trk/CGisItemTrk.cpp b/src/gis/trk/CGisItemTrk.cpp
---- a/src/gis/trk/CGisItemTrk.cpp
-+++ b/src/gis/trk/CGisItemTrk.cpp
-@@ -563,6 +563,7 @@
- }
-
-
-+#define WINDOW 25
-
- void CGisItemTrk::deriveSecondaryData()
- {
-@@ -723,9 +724,9 @@
- while(n>0)
- {
- trkpt_t & trkpt2 = seg.pts[n];
-- if((trkpt2.flags & trkpt_t::eHidden) || (trkpt2.ele == NOINT))
-+ if((trkpt2.flags & trkpt_t::eHidden) || (trkpt2.ele == NOINT) || (!trkpt2.time.isValid()))
- {
- n--;
- continue;
- }
-
-@@ -727,9 +728,9 @@
- {
- n--;
- continue;
- }
-
-- if(trkpt.distance - trkpt2.distance >= 25)
-+ if(trkpt.distance - trkpt2.distance >= WINDOW)
- {
- d1 = trkpt2.distance;
- e1 = trkpt2.ele;
-@@ -752,7 +753,7 @@
- continue;
- }
-
-- if(trkpt2.distance - trkpt.distance >= 25)
-+ if(trkpt2.distance - trkpt.distance >= WINDOW)
- {
- d2 = trkpt2.distance;
- e2 = trkpt2.ele;
-@@ -768,7 +769,8 @@
-
- if((t2 - t1) > 0)
- {
-- trkpt.speed = (d2 - d1) / (t2 - t1);
-+ trkpt.speed = (d2 - d1) / (t2 - t1);
-+ trkpt.rateAscent = (e2 - e1) / (t2 - t1);
- }
- else
- {
-@@ -772,7 +774,8 @@
- }
- else
- {
-- trkpt.speed = NOFLOAT;
-+ trkpt.speed = NOFLOAT;
-+ trkpt.rateAscent = NOFLOAT;
- }
- }
- }
diff --git a/.hg/Trashcan/2014-08-10_14-17-09_parent_rev_212_IPn_yT.bak b/.hg/Trashcan/2014-08-10_14-17-09_parent_rev_212_IPn_yT.bak
deleted file mode 100644
index 0063cea..0000000
--- a/.hg/Trashcan/2014-08-10_14-17-09_parent_rev_212_IPn_yT.bak
+++ /dev/null
@@ -1,239 +0,0 @@
-diff --git a/src/gis/CGisListWks.cpp b/src/gis/CGisListWks.cpp
---- a/src/gis/CGisListWks.cpp
-+++ b/src/gis/CGisListWks.cpp
-@@ -351,6 +351,15 @@
- int y2 = e->pos().y();
- int off = y2 > y1 ? 1 : 0;
-
-+ IGisProject * prj1 = dynamic_cast<IGisProject*>(currentItem());
-+ IGisProject * prj2 = dynamic_cast<IGisProject*>(itemAt(e->pos()));
-+ if(prj1 && prj2)
-+ {
-+ QTreeWidget::dropEvent(e);
-+ emit sigChanged();
-+ return;
-+ }
-+
- CGisItemWpt * wpt1 = dynamic_cast<CGisItemWpt*>(currentItem());
- CGisItemWpt * wpt2 = dynamic_cast<CGisItemWpt*>(itemAt(e->pos()));
-
-@@ -454,7 +463,10 @@
- }
-
- IGisItem * gisItem = dynamic_cast<IGisItem*>(item);
-- project->insertCopyOfItem(gisItem, -1, lastResult);
-+ if(gisItem)
-+ {
-+ project->insertCopyOfItem(gisItem, -1, lastResult);
-+ }
- }
- }
- emit sigChanged();
-diff --git a/src/gis/IGisItem.cpp b/src/gis/IGisItem.cpp
---- a/src/gis/IGisItem.cpp
-+++ b/src/gis/IGisItem.cpp
-@@ -190,7 +190,7 @@
- }
- }
-
--QString IGisItem::getNameEx()
-+QString IGisItem::getNameEx() const
- {
- QString str = getName();
- IGisProject * project = dynamic_cast<IGisProject*>(parent());
-@@ -350,8 +350,8 @@
- }
- }
-
--bool IGisItem::isReadOnly()
-+bool IGisItem::isReadOnly() const
- {
- return !(flags & eFlagWriteAllowed);
- }
-
-@@ -354,8 +354,8 @@
- {
- return !(flags & eFlagWriteAllowed);
- }
-
--bool IGisItem::isTainted()
-+bool IGisItem::isTainted() const
- {
- return (flags & eFlagTainted);
- }
-diff --git a/src/gis/IGisItem.h b/src/gis/IGisItem.h
---- a/src/gis/IGisItem.h
-+++ b/src/gis/IGisItem.h
-@@ -174,7 +174,7 @@
- @brief Get name of this item extended by the project name
- @return A string object.
- */
-- virtual QString getNameEx();
-+ virtual QString getNameEx() const;
-
- /**
- @brief Get a short string with the items properties to be displayed in tool tips or similar
-@@ -198,7 +198,7 @@
-
- @return
- */
-- virtual const QRectF& getBoundingRect(){return boundingRect;}
-+ virtual const QRectF& getBoundingRect() const {return boundingRect;}
-
- /**
- @brief Get screen option object to display and handle actions for this item.
-@@ -226,9 +226,9 @@
- @brief Query if this item is read only
- @return True if it is read only.
- */
-- bool isReadOnly();
-+ bool isReadOnly() const;
-
- /**
- @brief Query if the item is imported and was changed
- @return True if content was changed.
- */
-@@ -230,9 +230,9 @@
-
- /**
- @brief Query if the item is imported and was changed
- @return True if content was changed.
- */
-- bool isTainted();
-+ bool isTainted() const;
- /**
- @brief Set the read only mode.
-
-@@ -255,7 +255,7 @@
-
- @return True if the item has user focus. The default implementation is always false.
- */
-- virtual bool hasUserFocus(){return false;}
-+ virtual bool hasUserFocus() const {return false;}
-
-
- /**
-diff --git a/src/gis/prj/IGisProject.cpp b/src/gis/prj/IGisProject.cpp
---- a/src/gis/prj/IGisProject.cpp
-+++ b/src/gis/prj/IGisProject.cpp
-@@ -136,7 +136,7 @@
- }
- }
-
--QString IGisProject::getInfo()
-+QString IGisProject::getInfo() const
- {
- QString str = metadata.name.isEmpty() ? text(CGisListWks::eColumnName) : metadata.name;
- str = "<div style='font-weight: bold;'>" + str + "</div>";
-diff --git a/src/gis/prj/IGisProject.h b/src/gis/prj/IGisProject.h
---- a/src/gis/prj/IGisProject.h
-+++ b/src/gis/prj/IGisProject.h
-@@ -77,4 +77,7 @@
-
- void edit();
-
-+ /**
-+ @brief Save the project using it's native format.
-+ */
- virtual void save() = 0;
-@@ -80,4 +83,7 @@
- virtual void save() = 0;
-+ /**
-+ @brief Save the project selecting one of the available formats.
-+ */
- virtual void saveAs() = 0;
-
- virtual void setFilename(const QString& fn){filename = fn;}
-@@ -81,5 +87,5 @@
- virtual void saveAs() = 0;
-
- virtual void setFilename(const QString& fn){filename = fn;}
-- virtual QString getFilename(){return filename;}
-+ virtual QString getFilename() const {return filename;}
-
-@@ -85,8 +91,8 @@
-
-- type_e getType(){return type;}
-+ type_e getType() const {return type;}
-
- /**
- @brief Get unique project key.
- @return A MD5 hash string
- */
- const QString& getKey(){genKey(); return key;}
-@@ -87,14 +93,14 @@
-
- /**
- @brief Get unique project key.
- @return A MD5 hash string
- */
- const QString& getKey(){genKey(); return key;}
-- const QString& getName(){return metadata.name;}
-- const QDateTime& getTime(){return metadata.time;}
-- const QString& getKeywords(){return metadata.keywords;}
-- const QString& getDescription(){return metadata.desc;}
-- const QList<IGisItem::link_t>& getLinks(){return metadata.links;}
-+ const QString& getName() const {return metadata.name;}
-+ const QDateTime& getTime() const {return metadata.time;}
-+ const QString& getKeywords() const {return metadata.keywords;}
-+ const QString& getDescription() const {return metadata.desc;}
-+ const QList<IGisItem::link_t>& getLinks() const {return metadata.links;}
-
-
- void setName(const QString& str);
-@@ -106,7 +112,7 @@
- @brief Get a short metadata summary
- @return Informational string.
- */
-- virtual QString getInfo();
-+ virtual QString getInfo() const;
- /**
- @brief Get a temporary pointer to the item with matching key
- @param key
-@@ -137,6 +143,18 @@
- */
- void editItemByKey(const IGisItem::key_t &key);
-
-+ /**
-+ @brief Add a copy if the gven item to the project
-+
-+ Befor the item is inserted the method will use it's key to find a duplicat item.
-+ If there is an item with the same item key a copy option dialog is shown. Depending
-+ the result the action is performed or aborted. The result will be copied into
-+ lastResult to repeat the same decision on subsequent items.
-+
-+ @param item pointer to item
-+ @param off the offset into the tree widget, -1 for none
-+ @param lastResult a reference to hold the last result of the copy option dialog
-+ */
- void insertCopyOfItem(IGisItem *item, int off, int &lastResult);
-
- /**
-@@ -146,7 +164,7 @@
-
- @return True if project is valid
- */
-- bool isValid(){return valid;}
-+ bool isValid() const {return valid;}
-
- void drawItem(QPainter& p, const QRectF& viewport, QList<QRectF>& blockedAreas, QSet<QString> &seenKeys, CGisDraw * gis);
- void drawLabel(QPainter& p, const QRectF& viewport, QList<QRectF>& blockedAreas, QSet<QString> &seenKeys, const QFontMetricsF& fm, CGisDraw * gis);
-diff --git a/src/gis/trk/CDetailsTrk.cpp b/src/gis/trk/CDetailsTrk.cpp
---- a/src/gis/trk/CDetailsTrk.cpp
-+++ b/src/gis/trk/CDetailsTrk.cpp
-@@ -344,6 +344,7 @@
- {
- trk.setComment(dlg.getHtml());
- }
-+ setupGui();
- }
- else if(url.toString() == "description")
- {
-@@ -353,6 +354,7 @@
- {
- trk.setDescription(dlg.getHtml());
- }
-+ setupGui();
- }
- else if(url.toString() == "links")
- {
diff --git a/.hg/Trashcan/2014-08-10_14-17-09_parent_rev_212_KAC_3x.bak b/.hg/Trashcan/2014-08-10_14-17-09_parent_rev_212_KAC_3x.bak
deleted file mode 100644
index 10fe5f6..0000000
--- a/.hg/Trashcan/2014-08-10_14-17-09_parent_rev_212_KAC_3x.bak
+++ /dev/null
@@ -1,122 +0,0 @@
-diff --git a/src/gis/IGisItem.cpp b/src/gis/IGisItem.cpp
---- a/src/gis/IGisItem.cpp
-+++ b/src/gis/IGisItem.cpp
-@@ -451,6 +451,11 @@
- QPolygonF subline;
- const int size = line.size();
-
-+ if(line.isEmpty())
-+ {
-+ return;
-+ }
-+
- pt = line[0];
- subline << pt;
-
-diff --git a/src/gis/trk/CGisItemTrk.cpp b/src/gis/trk/CGisItemTrk.cpp
---- a/src/gis/trk/CGisItemTrk.cpp
-+++ b/src/gis/trk/CGisItemTrk.cpp
-@@ -563,6 +563,7 @@
- }
-
-
-+#define WINDOW 25
-
- void CGisItemTrk::deriveSecondaryData()
- {
-@@ -723,9 +724,9 @@
- while(n>0)
- {
- trkpt_t & trkpt2 = seg.pts[n];
-- if((trkpt2.flags & trkpt_t::eHidden) || (trkpt2.ele == NOINT))
-+ if((trkpt2.flags & trkpt_t::eHidden) || (trkpt2.ele == NOINT) || (!trkpt2.time.isValid()))
- {
- n--;
- continue;
- }
-
-@@ -727,9 +728,9 @@
- {
- n--;
- continue;
- }
-
-- if(trkpt.distance - trkpt2.distance >= 25)
-+ if(trkpt.distance - trkpt2.distance >= WINDOW)
- {
- d1 = trkpt2.distance;
- e1 = trkpt2.ele;
-@@ -752,7 +753,7 @@
- continue;
- }
-
-- if(trkpt2.distance - trkpt.distance >= 25)
-+ if(trkpt2.distance - trkpt.distance >= WINDOW)
- {
- d2 = trkpt2.distance;
- e2 = trkpt2.ele;
-@@ -768,7 +769,8 @@
-
- if((t2 - t1) > 0)
- {
-- trkpt.speed = (d2 - d1) / (t2 - t1);
-+ trkpt.speed = (d2 - d1) / (t2 - t1);
-+ trkpt.rateAscent = (e2 - e1) / (t2 - t1);
- }
- else
- {
-@@ -772,7 +774,8 @@
- }
- else
- {
-- trkpt.speed = NOFLOAT;
-+ trkpt.speed = NOFLOAT;
-+ trkpt.rateAscent = NOFLOAT;
- }
- }
- }
-diff --git a/src/gis/trk/CGisItemTrk.h b/src/gis/trk/CGisItemTrk.h
---- a/src/gis/trk/CGisItemTrk.h
-+++ b/src/gis/trk/CGisItemTrk.h
-@@ -482,6 +482,8 @@
- slope1 = NOFLOAT;
- slope2 = NOFLOAT;
- speed = NOFLOAT;
-+ rateAscent = NOFLOAT;
-+ rateDescent = NOFLOAT;
- }
-
- enum flag_e
-@@ -513,6 +515,10 @@
- qreal elapsedSeconds;
- /// the seconds since the start of the track with moving speed
- qreal elapsedSecondsMoving;
-+
-+ qreal rateAscent;
-+
-+ qreal rateDescent;
- };
-
- struct trkseg_t
-diff --git a/src/plot/CPlotSpeed.cpp b/src/plot/CPlotSpeed.cpp
---- a/src/plot/CPlotSpeed.cpp
-+++ b/src/plot/CPlotSpeed.cpp
-@@ -20,7 +20,8 @@
- #include "plot/CPlotSpeed.h"
-
- CPlotSpeed::CPlotSpeed(QWidget *parent)
-- : IPlot(0, CPlotData::eAxisLinear, eModeNormal, parent)
-+// : IPlot(0, CPlotData::eAxisLinear, eModeNormal, parent)
-+ : IPlot(0, CPlotData::eAxisTime, eModeNormal, parent)
- {
- }
-
-@@ -79,7 +80,7 @@
-
- if(trkpt.speed != NOFLOAT)
- {
-- lineSpeed << QPointF(type == CPlotData::eAxisLinear ? trkpt.distance : (qreal)trkpt.time.toTime_t(), trkpt.speed * speedfactor);
-+ lineSpeed << QPointF(type == CPlotData::eAxisLinear ? trkpt.distance : (qreal)trkpt.time.toTime_t(), trkpt.rateAscent * 3600/*trkpt.speed * speedfactor*/);
- }
- }
- }
diff --git a/.hg/Trashcan/2014-08-10_14-17-09_parent_rev_212_M_J4ty.bak b/.hg/Trashcan/2014-08-10_14-17-09_parent_rev_212_M_J4ty.bak
deleted file mode 100644
index 2b012af..0000000
--- a/.hg/Trashcan/2014-08-10_14-17-09_parent_rev_212_M_J4ty.bak
+++ /dev/null
@@ -1,100 +0,0 @@
-diff --git a/src/gis/IGisItem.cpp b/src/gis/IGisItem.cpp
---- a/src/gis/IGisItem.cpp
-+++ b/src/gis/IGisItem.cpp
-@@ -451,6 +451,11 @@
- QPolygonF subline;
- const int size = line.size();
-
-+ if(line.isEmpty())
-+ {
-+ return;
-+ }
-+
- pt = line[0];
- subline << pt;
-
-diff --git a/src/gis/trk/CGisItemTrk.cpp b/src/gis/trk/CGisItemTrk.cpp
---- a/src/gis/trk/CGisItemTrk.cpp
-+++ b/src/gis/trk/CGisItemTrk.cpp
-@@ -563,6 +563,7 @@
- }
-
-
-+#define WINDOW 25
-
- void CGisItemTrk::deriveSecondaryData()
- {
-@@ -723,9 +724,9 @@
- while(n>0)
- {
- trkpt_t & trkpt2 = seg.pts[n];
-- if((trkpt2.flags & trkpt_t::eHidden) || (trkpt2.ele == NOINT))
-+ if((trkpt2.flags & trkpt_t::eHidden) || (trkpt2.ele == NOINT) || (!trkpt2.time.isValid()))
- {
- n--;
- continue;
- }
-
-@@ -727,9 +728,9 @@
- {
- n--;
- continue;
- }
-
-- if(trkpt.distance - trkpt2.distance >= 25)
-+ if(trkpt.distance - trkpt2.distance >= WINDOW)
- {
- d1 = trkpt2.distance;
- e1 = trkpt2.ele;
-@@ -752,7 +753,7 @@
- continue;
- }
-
-- if(trkpt2.distance - trkpt.distance >= 25)
-+ if(trkpt2.distance - trkpt.distance >= WINDOW)
- {
- d2 = trkpt2.distance;
- e2 = trkpt2.ele;
-@@ -768,7 +769,8 @@
-
- if((t2 - t1) > 0)
- {
-- trkpt.speed = (d2 - d1) / (t2 - t1);
-+ trkpt.speed = (d2 - d1) / (t2 - t1);
-+ trkpt.rateAscent = (e2 - e1) / (t2 - t1);
- }
- else
- {
-@@ -772,7 +774,8 @@
- }
- else
- {
-- trkpt.speed = NOFLOAT;
-+ trkpt.speed = NOFLOAT;
-+ trkpt.rateAscent = NOFLOAT;
- }
- }
- }
-diff --git a/src/gis/trk/CGisItemTrk.h b/src/gis/trk/CGisItemTrk.h
---- a/src/gis/trk/CGisItemTrk.h
-+++ b/src/gis/trk/CGisItemTrk.h
-@@ -482,6 +482,8 @@
- slope1 = NOFLOAT;
- slope2 = NOFLOAT;
- speed = NOFLOAT;
-+ rateAscent = NOFLOAT;
-+ rateDescent = NOFLOAT;
- }
-
- enum flag_e
-@@ -513,6 +515,10 @@
- qreal elapsedSeconds;
- /// the seconds since the start of the track with moving speed
- qreal elapsedSecondsMoving;
-+
-+ qreal rateAscent;
-+
-+ qreal rateDescent;
- };
-
- struct trkseg_t
diff --git a/.hg/Trashcan/2014-08-10_14-17-09_parent_rev_212_Mwh9Qb.bak b/.hg/Trashcan/2014-08-10_14-17-09_parent_rev_212_Mwh9Qb.bak
deleted file mode 100644
index 8d5ba4e..0000000
--- a/.hg/Trashcan/2014-08-10_14-17-09_parent_rev_212_Mwh9Qb.bak
+++ /dev/null
@@ -1,156 +0,0 @@
-diff --git a/src/gis/CGisListWks.cpp b/src/gis/CGisListWks.cpp
---- a/src/gis/CGisListWks.cpp
-+++ b/src/gis/CGisListWks.cpp
-@@ -351,6 +351,15 @@
- int y2 = e->pos().y();
- int off = y2 > y1 ? 1 : 0;
-
-+ IGisProject * prj1 = dynamic_cast<IGisProject*>(currentItem());
-+ IGisProject * prj2 = dynamic_cast<IGisProject*>(itemAt(e->pos()));
-+ if(prj1 && prj2)
-+ {
-+ QTreeWidget::dropEvent(e);
-+ emit sigChanged();
-+ return;
-+ }
-+
- CGisItemWpt * wpt1 = dynamic_cast<CGisItemWpt*>(currentItem());
- CGisItemWpt * wpt2 = dynamic_cast<CGisItemWpt*>(itemAt(e->pos()));
-
-@@ -454,7 +463,10 @@
- }
-
- IGisItem * gisItem = dynamic_cast<IGisItem*>(item);
-- project->insertCopyOfItem(gisItem, -1, lastResult);
-+ if(gisItem)
-+ {
-+ project->insertCopyOfItem(gisItem, -1, lastResult);
-+ }
- }
- }
- emit sigChanged();
-diff --git a/src/gis/IGisItem.cpp b/src/gis/IGisItem.cpp
---- a/src/gis/IGisItem.cpp
-+++ b/src/gis/IGisItem.cpp
-@@ -190,7 +190,7 @@
- }
- }
-
--QString IGisItem::getNameEx()
-+QString IGisItem::getNameEx() const
- {
- QString str = getName();
- IGisProject * project = dynamic_cast<IGisProject*>(parent());
-@@ -350,8 +350,8 @@
- }
- }
-
--bool IGisItem::isReadOnly()
-+bool IGisItem::isReadOnly() const
- {
- return !(flags & eFlagWriteAllowed);
- }
-
-@@ -354,8 +354,8 @@
- {
- return !(flags & eFlagWriteAllowed);
- }
-
--bool IGisItem::isTainted()
-+bool IGisItem::isTainted() const
- {
- return (flags & eFlagTainted);
- }
-diff --git a/src/gis/prj/IGisProject.h b/src/gis/prj/IGisProject.h
---- a/src/gis/prj/IGisProject.h
-+++ b/src/gis/prj/IGisProject.h
-@@ -77,4 +77,7 @@
-
- void edit();
-
-+ /**
-+ @brief Save the project using it's native format.
-+ */
- virtual void save() = 0;
-@@ -80,4 +83,7 @@
- virtual void save() = 0;
-+ /**
-+ @brief Save the project selecting one of the available formats.
-+ */
- virtual void saveAs() = 0;
-
- virtual void setFilename(const QString& fn){filename = fn;}
-@@ -81,5 +87,5 @@
- virtual void saveAs() = 0;
-
- virtual void setFilename(const QString& fn){filename = fn;}
-- virtual QString getFilename(){return filename;}
-+ virtual QString getFilename() const {return filename;}
-
-@@ -85,8 +91,8 @@
-
-- type_e getType(){return type;}
-+ type_e getType() const {return type;}
-
- /**
- @brief Get unique project key.
- @return A MD5 hash string
- */
- const QString& getKey(){genKey(); return key;}
-@@ -87,14 +93,14 @@
-
- /**
- @brief Get unique project key.
- @return A MD5 hash string
- */
- const QString& getKey(){genKey(); return key;}
-- const QString& getName(){return metadata.name;}
-- const QDateTime& getTime(){return metadata.time;}
-- const QString& getKeywords(){return metadata.keywords;}
-- const QString& getDescription(){return metadata.desc;}
-- const QList<IGisItem::link_t>& getLinks(){return metadata.links;}
-+ const QString& getName() const {return metadata.name;}
-+ const QDateTime& getTime() const {return metadata.time;}
-+ const QString& getKeywords() const {return metadata.keywords;}
-+ const QString& getDescription() const {return metadata.desc;}
-+ const QList<IGisItem::link_t>& getLinks() const {return metadata.links;}
-
-
- void setName(const QString& str);
-@@ -106,7 +112,7 @@
- @brief Get a short metadata summary
- @return Informational string.
- */
-- virtual QString getInfo();
-+ virtual QString getInfo() const;
- /**
- @brief Get a temporary pointer to the item with matching key
- @param key
-@@ -137,6 +143,18 @@
- */
- void editItemByKey(const IGisItem::key_t &key);
-
-+ /**
-+ @brief Add a copy if the gven item to the project
-+
-+ Befor the item is inserted the method will use it's key to find a duplicat item.
-+ If there is an item with the same item key a copy option dialog is shown. Depending
-+ the result the action is performed or aborted. The result will be copied into
-+ lastResult to repeat the same decision on subsequent items.
-+
-+ @param item pointer to item
-+ @param off the offset into the tree widget, -1 for none
-+ @param lastResult a reference to hold the last result of the copy option dialog
-+ */
- void insertCopyOfItem(IGisItem *item, int off, int &lastResult);
-
- /**
-@@ -146,7 +164,7 @@
-
- @return True if project is valid
- */
-- bool isValid(){return valid;}
-+ bool isValid() const {return valid;}
-
- void drawItem(QPainter& p, const QRectF& viewport, QList<QRectF>& blockedAreas, QSet<QString> &seenKeys, CGisDraw * gis);
- void drawLabel(QPainter& p, const QRectF& viewport, QList<QRectF>& blockedAreas, QSet<QString> &seenKeys, const QFontMetricsF& fm, CGisDraw * gis);
diff --git a/.hg/Trashcan/2014-08-10_14-17-09_parent_rev_212_Nvr8BO.bak b/.hg/Trashcan/2014-08-10_14-17-09_parent_rev_212_Nvr8BO.bak
deleted file mode 100644
index 460bcf9..0000000
--- a/.hg/Trashcan/2014-08-10_14-17-09_parent_rev_212_Nvr8BO.bak
+++ /dev/null
@@ -1,362 +0,0 @@
-diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
---- a/src/CMakeLists.txt
-+++ b/src/CMakeLists.txt
-@@ -20,6 +20,7 @@
- helpers/CInputDialog.cpp
- helpers/CPositionDialog.cpp
- helpers/CWptIconDialog.cpp
-+ helpers/CTextEditWidget.cpp
- canvas/CCanvas.cpp
- canvas/CCanvasSetup.cpp
- canvas/IDrawContext.cpp
-@@ -93,6 +94,7 @@
- helpers/CInputDialog.h
- helpers/CPositionDialog.h
- helpers/CWptIconDialog.h
-+ helpers/CTextEditWidget.h
- canvas/CCanvas.h
- canvas/CCanvasSetup.h
- canvas/IDrawContext.h
-@@ -160,6 +162,7 @@
- helpers/IInputDialog.ui
- helpers/IPositionDialog.ui
- helpers/IWptIconDialog.ui
-+ helpers/ITextEditWidget.ui
- canvas/ICanvasSetup.ui
- dem/IDemList.ui
- dem/IDemPathSetup.ui
-diff --git a/src/gis/CGisListWks.cpp b/src/gis/CGisListWks.cpp
---- a/src/gis/CGisListWks.cpp
-+++ b/src/gis/CGisListWks.cpp
-@@ -39,8 +39,6 @@
- menuItem = new QMenu(this);
- actionEditDetails = menuItem->addAction(QIcon("://icons/32x32/EditDetails.png"),tr("Edit..."), this, SLOT(slotEditItem()));
- actionDelete = menuItem->addAction(QIcon("://icons/48x48/DeleteOne.png"),tr("Delete"), this, SLOT(slotDeleteItem()));
--
-- actionEditDetails->setEnabled(false);
- }
-
- CGisListWks::~CGisListWks()
-@@ -143,7 +141,14 @@
-
- void CGisListWks::slotEditItem()
- {
--
-+ IGisItem::mutexItems.lock();
-+ IGisItem * gisItem = dynamic_cast<IGisItem*>(currentItem());
-+ if(gisItem != 0)
-+ {
-+ QString key = gisItem->getKey();
-+ CGisWidget::self().editItemByKey(key);
-+ }
-+ IGisItem::mutexItems.unlock();
- }
-
- void CGisListWks::slotDeleteItem()
-diff --git a/src/gis/CGisWidget.cpp b/src/gis/CGisWidget.cpp
---- a/src/gis/CGisWidget.cpp
-+++ b/src/gis/CGisWidget.cpp
-@@ -33,7 +33,9 @@
- pSelf = this;
- setupUi(this);
-
-- treeWks->header()->setSectionResizeMode(0,QHeaderView::ResizeToContents);
-+// treeWks->header()->setSectionResizeMode(0,QHeaderView::Interactive);
-+ treeWks->header()->setSectionResizeMode(1,QHeaderView::ResizeToContents);
-+// treeWks->header()->setCascadingSectionResizes(true);
-
-
- connect(treeWks, SIGNAL(sigChanged()), SIGNAL(sigChanged()));
-diff --git a/src/gis/IGisItem.cpp b/src/gis/IGisItem.cpp
---- a/src/gis/IGisItem.cpp
-+++ b/src/gis/IGisItem.cpp
-@@ -278,7 +278,7 @@
- }
- }
-
--void IGisItem::removeHtml(QString &str)
-+QString IGisItem::removeHtml(const QString &str)
- {
- QTextDocument html;
- html.setHtml(str);
-@@ -282,5 +282,5 @@
- {
- QTextDocument html;
- html.setHtml(str);
-- str = html.toPlainText();
-+ return html.toPlainText();
- }
-diff --git a/src/gis/IGisItem.h b/src/gis/IGisItem.h
---- a/src/gis/IGisItem.h
-+++ b/src/gis/IGisItem.h
-@@ -115,6 +115,8 @@
-
- virtual void edit(){}
-
-+ static QString removeHtml(const QString &str);
-+
- protected:
- friend class CGisProject;
- struct wpt_t;
-@@ -125,7 +127,7 @@
- QString color2str(const QColor &color);
- void splitLineToViewport(const QPolygonF& line, const QRectF& extViewport, QList<QPolygonF>& lines);
- void drawArrows(const QPolygonF &line, const QRectF &extViewport, QPainter& p);
-- void removeHtml(QString &str);
-+
-
-
- struct color_t
-diff --git a/src/gis/IGisWidget.ui b/src/gis/IGisWidget.ui
---- a/src/gis/IGisWidget.ui
-+++ b/src/gis/IGisWidget.ui
-@@ -43,8 +43,5 @@
- <height>22</height>
- </size>
- </property>
-- <attribute name="headerVisible">
-- <bool>false</bool>
-- </attribute>
- <column>
- <property name="text">
-@@ -49,7 +46,7 @@
- <column>
- <property name="text">
-- <string notr="true">1</string>
-+ <string notr="true">Name</string>
- </property>
- </column>
- <column>
- <property name="text">
-@@ -52,8 +49,8 @@
- </property>
- </column>
- <column>
- <property name="text">
-- <string>2</string>
-+ <string>State</string>
- </property>
- </column>
- </widget>
-diff --git a/src/gis/wpt/CDetailsWpt.cpp b/src/gis/wpt/CDetailsWpt.cpp
---- a/src/gis/wpt/CDetailsWpt.cpp
-+++ b/src/gis/wpt/CDetailsWpt.cpp
-@@ -23,6 +23,7 @@
- #include "helpers/CInputDialog.h"
- #include "helpers/CPositionDialog.h"
- #include "helpers/CWptIconDialog.h"
-+#include "helpers/CTextEditWidget.h"
-
-
- #include <QtWidgets>
-@@ -38,6 +39,8 @@
- connect(labelElevation, SIGNAL(linkActivated(QString)), this, SLOT(slotLinkActivated(QString)));
- connect(labelProximity, SIGNAL(linkActivated(QString)), this, SLOT(slotLinkActivated(QString)));
- connect(toolIcon, SIGNAL(clicked()), this, SLOT(slotChangeIcon()));
-+ connect(toolEditCmt, SIGNAL(clicked()), this, SLOT(slotChangeCmt()));
-+ connect(toolEditDesc, SIGNAL(clicked()), this, SLOT(slotChangeDesc()));
- }
-
- CDetailsWpt::~CDetailsWpt()
-@@ -151,3 +154,25 @@
- setupGui();
- }
- }
-+
-+void CDetailsWpt::slotChangeCmt()
-+{
-+ CTextEditWidget dlg(0);
-+ dlg.setHtml(wpt.getComment());
-+ if(dlg.exec() == QDialog::Accepted)
-+ {
-+ wpt.setComment(dlg.getHtml());
-+ setupGui();
-+ }
-+}
-+
-+void CDetailsWpt::slotChangeDesc()
-+{
-+ CTextEditWidget dlg(0);
-+ dlg.setHtml(wpt.getDescription());
-+ if(dlg.exec() == QDialog::Accepted)
-+ {
-+ wpt.setDescription(dlg.getHtml());
-+ setupGui();
-+ }
-+}
-diff --git a/src/gis/wpt/CDetailsWpt.h b/src/gis/wpt/CDetailsWpt.h
---- a/src/gis/wpt/CDetailsWpt.h
-+++ b/src/gis/wpt/CDetailsWpt.h
-@@ -34,6 +34,8 @@
- private slots:
- void slotLinkActivated(const QString& link);
- void slotChangeIcon();
-+ void slotChangeCmt();
-+ void slotChangeDesc();
-
- private:
- void setupGui();
-diff --git a/src/gis/wpt/CGisItemWpt.cpp b/src/gis/wpt/CGisItemWpt.cpp
---- a/src/gis/wpt/CGisItemWpt.cpp
-+++ b/src/gis/wpt/CGisItemWpt.cpp
-@@ -18,8 +18,9 @@
-
- #include "gis/wpt/CGisItemWpt.h"
- #include "gis/wpt/CDetailsWpt.h"
-+#include "gis/wpt/CScrOptWpt.h"
- #include "gis/CGisProject.h"
- #include "gis/CGisDraw.h"
- #include "gis/WptIcons.h"
- #include "canvas/CCanvas.h"
- #include "mouse/IMouse.h"
-@@ -21,9 +22,8 @@
- #include "gis/CGisProject.h"
- #include "gis/CGisDraw.h"
- #include "gis/WptIcons.h"
- #include "canvas/CCanvas.h"
- #include "mouse/IMouse.h"
--#include "gis/wpt/CScrOptWpt.h"
- #include "units/IUnit.h"
- #include "GeoMath.h"
-
-@@ -88,7 +88,7 @@
-
- QString CGisItemWpt::getInfo()
- {
-- QString str = getName();
-+ QString str = "<p>" + getName() + "</p>";
-
- if(geocache.hasData)
- {
-@@ -97,10 +97,10 @@
-
- if(wpt.time.isValid())
- {
-- if(!str.isEmpty()) str += "\n";
-+ if(!str.isEmpty()) str += "<br/>\n";
-
- str += IUnit::datetime2string(wpt.time, QPointF(wpt.lon*DEG_TO_RAD, wpt.lat*DEG_TO_RAD));
- }
-
- if(wpt.ele != NOINT)
- {
-@@ -101,10 +101,10 @@
-
- str += IUnit::datetime2string(wpt.time, QPointF(wpt.lon*DEG_TO_RAD, wpt.lat*DEG_TO_RAD));
- }
-
- if(wpt.ele != NOINT)
- {
-- if(!str.isEmpty()) str += "\n";
-+ if(!str.isEmpty()) str += "<br/>\n";
- QString val, unit;
- IUnit::self().meter2elevation(wpt.ele, val, unit);
- str += QObject::tr("Elevation: %1 %2").arg(val).arg(unit);
-@@ -112,9 +112,9 @@
-
- if(proximity != NOFLOAT)
- {
-- if(!str.isEmpty()) str += "\n";
-+ if(!str.isEmpty()) str += "<br/>\n";
- QString val, unit;
- IUnit::self().meter2distance(proximity, val, unit);
- str += QObject::tr("Proximity: %1 %2").arg(val).arg(unit);
- }
-
-@@ -116,7 +116,8 @@
- QString val, unit;
- IUnit::self().meter2distance(proximity, val, unit);
- str += QObject::tr("Proximity: %1 %2").arg(val).arg(unit);
- }
-
-- if(wpt.desc.count())
-+ QString desc = removeHtml(wpt.desc);
-+ if(desc.count())
- {
-@@ -122,3 +123,3 @@
- {
-- if(!str.isEmpty()) str += "\n";
-+ if(!str.isEmpty()) str += "<br/>\n";
-
-@@ -124,3 +125,3 @@
-
-- if(wpt.desc.count() < 200)
-+ if(desc.count() < 200)
- {
-@@ -126,5 +127,5 @@
- {
-- str += wpt.desc;
-+ str += desc;
- }
- else
- {
-@@ -128,8 +129,8 @@
- }
- else
- {
-- str += wpt.desc.left(197) + "...";
-+ str += desc.left(197) + "...";
- }
- }
- else
- {
-@@ -132,7 +133,7 @@
- }
- }
- else
- {
-- QString cmt = wpt.cmt;
-+ QString cmt = removeHtml(wpt.cmt);
- if(cmt.count())
- {
-@@ -137,6 +138,6 @@
- if(cmt.count())
- {
-- if(!str.isEmpty()) str += "\n";
-+ if(!str.isEmpty()) str += "<br/>\n";
-
- if(cmt.count() < 200)
- {
-@@ -148,6 +149,9 @@
- }
- }
- }
-+
-+ qDebug() << "-----------------------";
-+ qDebug() << str;
- return str;
- }
-
-@@ -207,6 +211,20 @@
- setIcon();
- }
-
-+void CGisItemWpt::setComment(const QString& str)
-+{
-+ setText(1,"*");
-+ wpt.cmt = str;
-+ setToolTip(0,getInfo());
-+}
-+
-+void CGisItemWpt::setDescription(const QString& str)
-+{
-+ setText(1,"*");
-+ wpt.desc = str;
-+ setToolTip(0,getInfo());
-+}
-+
- void CGisItemWpt::save(QDomNode& gpx)
- {
- QDomDocument doc = gpx.ownerDocument();
-diff --git a/src/gis/wpt/CGisItemWpt.h b/src/gis/wpt/CGisItemWpt.h
---- a/src/gis/wpt/CGisItemWpt.h
-+++ b/src/gis/wpt/CGisItemWpt.h
-@@ -35,6 +35,8 @@
- void setElevation(qint32 val);
- void setProximity(qreal val);
- void setIcon(const QString& name);
-+ void setComment(const QString& str);
-+ void setDescription(const QString& str);
-
- const QString& getName(){return wpt.name;}
- QString getInfo();
diff --git a/.hg/Trashcan/2014-08-10_14-17-09_parent_rev_212_O2w2no.bak b/.hg/Trashcan/2014-08-10_14-17-09_parent_rev_212_O2w2no.bak
deleted file mode 100644
index 571aa8f..0000000
--- a/.hg/Trashcan/2014-08-10_14-17-09_parent_rev_212_O2w2no.bak
+++ /dev/null
@@ -1,27 +0,0 @@
-diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
---- a/src/CMakeLists.txt
-+++ b/src/CMakeLists.txt
-@@ -20,6 +20,7 @@
- helpers/CInputDialog.cpp
- helpers/CPositionDialog.cpp
- helpers/CWptIconDialog.cpp
-+ helpers/CTextEditWidget.cpp
- canvas/CCanvas.cpp
- canvas/CCanvasSetup.cpp
- canvas/IDrawContext.cpp
-@@ -93,6 +94,7 @@
- helpers/CInputDialog.h
- helpers/CPositionDialog.h
- helpers/CWptIconDialog.h
-+ helpers/CTextEditWidget.h
- canvas/CCanvas.h
- canvas/CCanvasSetup.h
- canvas/IDrawContext.h
-@@ -160,6 +162,7 @@
- helpers/IInputDialog.ui
- helpers/IPositionDialog.ui
- helpers/IWptIconDialog.ui
-+ helpers/ITextEditWidget.ui
- canvas/ICanvasSetup.ui
- dem/IDemList.ui
- dem/IDemPathSetup.ui
diff --git a/.hg/Trashcan/2014-08-10_14-17-09_parent_rev_212_Ozaask.bak b/.hg/Trashcan/2014-08-10_14-17-09_parent_rev_212_Ozaask.bak
deleted file mode 100644
index 32fcfb1..0000000
--- a/.hg/Trashcan/2014-08-10_14-17-09_parent_rev_212_Ozaask.bak
+++ /dev/null
@@ -1,186 +0,0 @@
-diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
---- a/src/CMakeLists.txt
-+++ b/src/CMakeLists.txt
-@@ -20,6 +20,7 @@
- helpers/CInputDialog.cpp
- helpers/CPositionDialog.cpp
- helpers/CWptIconDialog.cpp
-+ helpers/CTextEditWidget.cpp
- canvas/CCanvas.cpp
- canvas/CCanvasSetup.cpp
- canvas/IDrawContext.cpp
-@@ -93,6 +94,7 @@
- helpers/CInputDialog.h
- helpers/CPositionDialog.h
- helpers/CWptIconDialog.h
-+ helpers/CTextEditWidget.h
- canvas/CCanvas.h
- canvas/CCanvasSetup.h
- canvas/IDrawContext.h
-@@ -160,6 +162,7 @@
- helpers/IInputDialog.ui
- helpers/IPositionDialog.ui
- helpers/IWptIconDialog.ui
-+ helpers/ITextEditWidget.ui
- canvas/ICanvasSetup.ui
- dem/IDemList.ui
- dem/IDemPathSetup.ui
-diff --git a/src/gis/CGisListWks.cpp b/src/gis/CGisListWks.cpp
---- a/src/gis/CGisListWks.cpp
-+++ b/src/gis/CGisListWks.cpp
-@@ -39,8 +39,6 @@
- menuItem = new QMenu(this);
- actionEditDetails = menuItem->addAction(QIcon("://icons/32x32/EditDetails.png"),tr("Edit..."), this, SLOT(slotEditItem()));
- actionDelete = menuItem->addAction(QIcon("://icons/48x48/DeleteOne.png"),tr("Delete"), this, SLOT(slotDeleteItem()));
--
-- actionEditDetails->setEnabled(false);
- }
-
- CGisListWks::~CGisListWks()
-@@ -143,7 +141,14 @@
-
- void CGisListWks::slotEditItem()
- {
--
-+ IGisItem::mutexItems.lock();
-+ IGisItem * gisItem = dynamic_cast<IGisItem*>(currentItem());
-+ if(gisItem != 0)
-+ {
-+ QString key = gisItem->getKey();
-+ CGisWidget::self().editItemByKey(key);
-+ }
-+ IGisItem::mutexItems.unlock();
- }
-
- void CGisListWks::slotDeleteItem()
-diff --git a/src/gis/CGisWidget.cpp b/src/gis/CGisWidget.cpp
---- a/src/gis/CGisWidget.cpp
-+++ b/src/gis/CGisWidget.cpp
-@@ -33,7 +33,9 @@
- pSelf = this;
- setupUi(this);
-
-- treeWks->header()->setSectionResizeMode(0,QHeaderView::ResizeToContents);
-+// treeWks->header()->setSectionResizeMode(0,QHeaderView::Interactive);
-+ treeWks->header()->setSectionResizeMode(1,QHeaderView::ResizeToContents);
-+// treeWks->header()->setCascadingSectionResizes(true);
-
-
- connect(treeWks, SIGNAL(sigChanged()), SIGNAL(sigChanged()));
-diff --git a/src/gis/IGisItem.cpp b/src/gis/IGisItem.cpp
---- a/src/gis/IGisItem.cpp
-+++ b/src/gis/IGisItem.cpp
-@@ -278,7 +278,7 @@
- }
- }
-
--void IGisItem::removeHtml(QString &str)
-+QString IGisItem::removeHtml(const QString &str)
- {
- QTextDocument html;
- html.setHtml(str);
-@@ -282,5 +282,5 @@
- {
- QTextDocument html;
- html.setHtml(str);
-- str = html.toPlainText();
-+ return html.toPlainText();
- }
-diff --git a/src/gis/IGisItem.h b/src/gis/IGisItem.h
---- a/src/gis/IGisItem.h
-+++ b/src/gis/IGisItem.h
-@@ -115,6 +115,8 @@
-
- virtual void edit(){}
-
-+ static QString removeHtml(const QString &str);
-+
- protected:
- friend class CGisProject;
- struct wpt_t;
-@@ -125,7 +127,7 @@
- QString color2str(const QColor &color);
- void splitLineToViewport(const QPolygonF& line, const QRectF& extViewport, QList<QPolygonF>& lines);
- void drawArrows(const QPolygonF &line, const QRectF &extViewport, QPainter& p);
-- void removeHtml(QString &str);
-+
-
-
- struct color_t
-diff --git a/src/gis/IGisWidget.ui b/src/gis/IGisWidget.ui
---- a/src/gis/IGisWidget.ui
-+++ b/src/gis/IGisWidget.ui
-@@ -43,8 +43,5 @@
- <height>22</height>
- </size>
- </property>
-- <attribute name="headerVisible">
-- <bool>false</bool>
-- </attribute>
- <column>
- <property name="text">
-@@ -49,7 +46,7 @@
- <column>
- <property name="text">
-- <string notr="true">1</string>
-+ <string notr="true">Name</string>
- </property>
- </column>
- <column>
- <property name="text">
-@@ -52,8 +49,8 @@
- </property>
- </column>
- <column>
- <property name="text">
-- <string>2</string>
-+ <string>State</string>
- </property>
- </column>
- </widget>
-diff --git a/src/gis/wpt/CDetailsWpt.cpp b/src/gis/wpt/CDetailsWpt.cpp
---- a/src/gis/wpt/CDetailsWpt.cpp
-+++ b/src/gis/wpt/CDetailsWpt.cpp
-@@ -23,6 +23,7 @@
- #include "helpers/CInputDialog.h"
- #include "helpers/CPositionDialog.h"
- #include "helpers/CWptIconDialog.h"
-+#include "helpers/CTextEditWidget.h"
-
-
- #include <QtWidgets>
-@@ -38,6 +39,8 @@
- connect(labelElevation, SIGNAL(linkActivated(QString)), this, SLOT(slotLinkActivated(QString)));
- connect(labelProximity, SIGNAL(linkActivated(QString)), this, SLOT(slotLinkActivated(QString)));
- connect(toolIcon, SIGNAL(clicked()), this, SLOT(slotChangeIcon()));
-+ connect(toolEditCmt, SIGNAL(clicked()), this, SLOT(slotChangeCmt()));
-+ connect(toolEditDesc, SIGNAL(clicked()), this, SLOT(slotChangeDesc()));
- }
-
- CDetailsWpt::~CDetailsWpt()
-@@ -151,3 +154,25 @@
- setupGui();
- }
- }
-+
-+void CDetailsWpt::slotChangeCmt()
-+{
-+ CTextEditWidget dlg(0);
-+ dlg.setHtml(wpt.getComment());
-+ if(dlg.exec() == QDialog::Accepted)
-+ {
-+ wpt.setComment(dlg.getHtml());
-+ setupGui();
-+ }
-+}
-+
-+void CDetailsWpt::slotChangeDesc()
-+{
-+ CTextEditWidget dlg(0);
-+ dlg.setHtml(wpt.getDescription());
-+ if(dlg.exec() == QDialog::Accepted)
-+ {
-+ wpt.setDescription(dlg.getHtml());
-+ setupGui();
-+ }
-+}
diff --git a/.hg/Trashcan/2014-08-10_14-17-09_parent_rev_212_PVfnen.bak b/.hg/Trashcan/2014-08-10_14-17-09_parent_rev_212_PVfnen.bak
deleted file mode 100644
index 36cc09c..0000000
--- a/.hg/Trashcan/2014-08-10_14-17-09_parent_rev_212_PVfnen.bak
+++ /dev/null
@@ -1,109 +0,0 @@
-diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
---- a/src/CMakeLists.txt
-+++ b/src/CMakeLists.txt
-@@ -20,6 +20,7 @@
- helpers/CInputDialog.cpp
- helpers/CPositionDialog.cpp
- helpers/CWptIconDialog.cpp
-+ helpers/CTextEditWidget.cpp
- canvas/CCanvas.cpp
- canvas/CCanvasSetup.cpp
- canvas/IDrawContext.cpp
-@@ -93,6 +94,7 @@
- helpers/CInputDialog.h
- helpers/CPositionDialog.h
- helpers/CWptIconDialog.h
-+ helpers/CTextEditWidget.h
- canvas/CCanvas.h
- canvas/CCanvasSetup.h
- canvas/IDrawContext.h
-@@ -160,6 +162,7 @@
- helpers/IInputDialog.ui
- helpers/IPositionDialog.ui
- helpers/IWptIconDialog.ui
-+ helpers/ITextEditWidget.ui
- canvas/ICanvasSetup.ui
- dem/IDemList.ui
- dem/IDemPathSetup.ui
-diff --git a/src/gis/CGisListWks.cpp b/src/gis/CGisListWks.cpp
---- a/src/gis/CGisListWks.cpp
-+++ b/src/gis/CGisListWks.cpp
-@@ -39,8 +39,6 @@
- menuItem = new QMenu(this);
- actionEditDetails = menuItem->addAction(QIcon("://icons/32x32/EditDetails.png"),tr("Edit..."), this, SLOT(slotEditItem()));
- actionDelete = menuItem->addAction(QIcon("://icons/48x48/DeleteOne.png"),tr("Delete"), this, SLOT(slotDeleteItem()));
--
-- actionEditDetails->setEnabled(false);
- }
-
- CGisListWks::~CGisListWks()
-@@ -143,7 +141,14 @@
-
- void CGisListWks::slotEditItem()
- {
--
-+ IGisItem::mutexItems.lock();
-+ IGisItem * gisItem = dynamic_cast<IGisItem*>(currentItem());
-+ if(gisItem != 0)
-+ {
-+ QString key = gisItem->getKey();
-+ CGisWidget::self().editItemByKey(key);
-+ }
-+ IGisItem::mutexItems.unlock();
- }
-
- void CGisListWks::slotDeleteItem()
-diff --git a/src/gis/CGisWidget.cpp b/src/gis/CGisWidget.cpp
---- a/src/gis/CGisWidget.cpp
-+++ b/src/gis/CGisWidget.cpp
-@@ -33,7 +33,9 @@
- pSelf = this;
- setupUi(this);
-
-- treeWks->header()->setSectionResizeMode(0,QHeaderView::ResizeToContents);
-+// treeWks->header()->setSectionResizeMode(0,QHeaderView::Interactive);
-+ treeWks->header()->setSectionResizeMode(1,QHeaderView::ResizeToContents);
-+// treeWks->header()->setCascadingSectionResizes(true);
-
-
- connect(treeWks, SIGNAL(sigChanged()), SIGNAL(sigChanged()));
-diff --git a/src/gis/IGisItem.cpp b/src/gis/IGisItem.cpp
---- a/src/gis/IGisItem.cpp
-+++ b/src/gis/IGisItem.cpp
-@@ -278,7 +278,7 @@
- }
- }
-
--void IGisItem::removeHtml(QString &str)
-+QString IGisItem::removeHtml(const QString &str)
- {
- QTextDocument html;
- html.setHtml(str);
-@@ -282,5 +282,5 @@
- {
- QTextDocument html;
- html.setHtml(str);
-- str = html.toPlainText();
-+ return html.toPlainText();
- }
-diff --git a/src/gis/IGisItem.h b/src/gis/IGisItem.h
---- a/src/gis/IGisItem.h
-+++ b/src/gis/IGisItem.h
-@@ -115,6 +115,8 @@
-
- virtual void edit(){}
-
-+ static QString removeHtml(const QString &str);
-+
- protected:
- friend class CGisProject;
- struct wpt_t;
-@@ -125,7 +127,7 @@
- QString color2str(const QColor &color);
- void splitLineToViewport(const QPolygonF& line, const QRectF& extViewport, QList<QPolygonF>& lines);
- void drawArrows(const QPolygonF &line, const QRectF &extViewport, QPainter& p);
-- void removeHtml(QString &str);
-+
-
-
- struct color_t
diff --git a/.hg/Trashcan/2014-08-10_14-17-09_parent_rev_212_Q80F4i.bak b/.hg/Trashcan/2014-08-10_14-17-09_parent_rev_212_Q80F4i.bak
deleted file mode 100644
index 18fd8fa..0000000
--- a/.hg/Trashcan/2014-08-10_14-17-09_parent_rev_212_Q80F4i.bak
+++ /dev/null
@@ -1,115 +0,0 @@
-diff --git a/src/gis/CGisListWks.cpp b/src/gis/CGisListWks.cpp
---- a/src/gis/CGisListWks.cpp
-+++ b/src/gis/CGisListWks.cpp
-@@ -351,6 +351,15 @@
- int y2 = e->pos().y();
- int off = y2 > y1 ? 1 : 0;
-
-+ IGisProject * prj1 = dynamic_cast<IGisProject*>(currentItem());
-+ IGisProject * prj2 = dynamic_cast<IGisProject*>(itemAt(e->pos()));
-+ if(prj1 && prj2)
-+ {
-+ QTreeWidget::dropEvent(e);
-+ emit sigChanged();
-+ return;
-+ }
-+
- CGisItemWpt * wpt1 = dynamic_cast<CGisItemWpt*>(currentItem());
- CGisItemWpt * wpt2 = dynamic_cast<CGisItemWpt*>(itemAt(e->pos()));
-
-@@ -454,7 +463,10 @@
- }
-
- IGisItem * gisItem = dynamic_cast<IGisItem*>(item);
-- project->insertCopyOfItem(gisItem, -1, lastResult);
-+ if(gisItem)
-+ {
-+ project->insertCopyOfItem(gisItem, -1, lastResult);
-+ }
- }
- }
- emit sigChanged();
-diff --git a/src/gis/IGisItem.cpp b/src/gis/IGisItem.cpp
---- a/src/gis/IGisItem.cpp
-+++ b/src/gis/IGisItem.cpp
-@@ -190,7 +190,7 @@
- }
- }
-
--QString IGisItem::getNameEx()
-+QString IGisItem::getNameEx() const
- {
- QString str = getName();
- IGisProject * project = dynamic_cast<IGisProject*>(parent());
-@@ -350,8 +350,8 @@
- }
- }
-
--bool IGisItem::isReadOnly()
-+bool IGisItem::isReadOnly() const
- {
- return !(flags & eFlagWriteAllowed);
- }
-
-@@ -354,8 +354,8 @@
- {
- return !(flags & eFlagWriteAllowed);
- }
-
--bool IGisItem::isTainted()
-+bool IGisItem::isTainted() const
- {
- return (flags & eFlagTainted);
- }
-diff --git a/src/gis/IGisItem.h b/src/gis/IGisItem.h
---- a/src/gis/IGisItem.h
-+++ b/src/gis/IGisItem.h
-@@ -174,7 +174,7 @@
- @brief Get name of this item extended by the project name
- @return A string object.
- */
-- virtual QString getNameEx();
-+ virtual QString getNameEx() const;
-
- /**
- @brief Get a short string with the items properties to be displayed in tool tips or similar
-@@ -198,7 +198,7 @@
-
- @return
- */
-- virtual const QRectF& getBoundingRect(){return boundingRect;}
-+ virtual const QRectF& getBoundingRect() const {return boundingRect;}
-
- /**
- @brief Get screen option object to display and handle actions for this item.
-@@ -226,9 +226,9 @@
- @brief Query if this item is read only
- @return True if it is read only.
- */
-- bool isReadOnly();
-+ bool isReadOnly() const;
-
- /**
- @brief Query if the item is imported and was changed
- @return True if content was changed.
- */
-@@ -230,9 +230,9 @@
-
- /**
- @brief Query if the item is imported and was changed
- @return True if content was changed.
- */
-- bool isTainted();
-+ bool isTainted() const;
- /**
- @brief Set the read only mode.
-
-@@ -255,7 +255,7 @@
-
- @return True if the item has user focus. The default implementation is always false.
- */
-- virtual bool hasUserFocus(){return false;}
-+ virtual bool hasUserFocus() const {return false;}
-
-
- /**
diff --git a/.hg/Trashcan/2014-08-10_14-17-09_parent_rev_212_QYFq9x.bak b/.hg/Trashcan/2014-08-10_14-17-09_parent_rev_212_QYFq9x.bak
deleted file mode 100644
index a2199e3..0000000
--- a/.hg/Trashcan/2014-08-10_14-17-09_parent_rev_212_QYFq9x.bak
+++ /dev/null
@@ -1,198 +0,0 @@
-diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
---- a/src/CMakeLists.txt
-+++ b/src/CMakeLists.txt
-@@ -20,6 +20,7 @@
- helpers/CInputDialog.cpp
- helpers/CPositionDialog.cpp
- helpers/CWptIconDialog.cpp
-+ helpers/CTextEditWidget.cpp
- canvas/CCanvas.cpp
- canvas/CCanvasSetup.cpp
- canvas/IDrawContext.cpp
-@@ -93,6 +94,7 @@
- helpers/CInputDialog.h
- helpers/CPositionDialog.h
- helpers/CWptIconDialog.h
-+ helpers/CTextEditWidget.h
- canvas/CCanvas.h
- canvas/CCanvasSetup.h
- canvas/IDrawContext.h
-@@ -160,6 +162,7 @@
- helpers/IInputDialog.ui
- helpers/IPositionDialog.ui
- helpers/IWptIconDialog.ui
-+ helpers/ITextEditWidget.ui
- canvas/ICanvasSetup.ui
- dem/IDemList.ui
- dem/IDemPathSetup.ui
-diff --git a/src/gis/CGisListWks.cpp b/src/gis/CGisListWks.cpp
---- a/src/gis/CGisListWks.cpp
-+++ b/src/gis/CGisListWks.cpp
-@@ -39,8 +39,6 @@
- menuItem = new QMenu(this);
- actionEditDetails = menuItem->addAction(QIcon("://icons/32x32/EditDetails.png"),tr("Edit..."), this, SLOT(slotEditItem()));
- actionDelete = menuItem->addAction(QIcon("://icons/48x48/DeleteOne.png"),tr("Delete"), this, SLOT(slotDeleteItem()));
--
-- actionEditDetails->setEnabled(false);
- }
-
- CGisListWks::~CGisListWks()
-@@ -143,7 +141,14 @@
-
- void CGisListWks::slotEditItem()
- {
--
-+ IGisItem::mutexItems.lock();
-+ IGisItem * gisItem = dynamic_cast<IGisItem*>(currentItem());
-+ if(gisItem != 0)
-+ {
-+ QString key = gisItem->getKey();
-+ CGisWidget::self().editItemByKey(key);
-+ }
-+ IGisItem::mutexItems.unlock();
- }
-
- void CGisListWks::slotDeleteItem()
-diff --git a/src/gis/CGisWidget.cpp b/src/gis/CGisWidget.cpp
---- a/src/gis/CGisWidget.cpp
-+++ b/src/gis/CGisWidget.cpp
-@@ -33,7 +33,9 @@
- pSelf = this;
- setupUi(this);
-
-- treeWks->header()->setSectionResizeMode(0,QHeaderView::ResizeToContents);
-+// treeWks->header()->setSectionResizeMode(0,QHeaderView::Interactive);
-+ treeWks->header()->setSectionResizeMode(1,QHeaderView::ResizeToContents);
-+// treeWks->header()->setCascadingSectionResizes(true);
-
-
- connect(treeWks, SIGNAL(sigChanged()), SIGNAL(sigChanged()));
-diff --git a/src/gis/IGisItem.cpp b/src/gis/IGisItem.cpp
---- a/src/gis/IGisItem.cpp
-+++ b/src/gis/IGisItem.cpp
-@@ -278,7 +278,7 @@
- }
- }
-
--void IGisItem::removeHtml(QString &str)
-+QString IGisItem::removeHtml(const QString &str)
- {
- QTextDocument html;
- html.setHtml(str);
-@@ -282,5 +282,5 @@
- {
- QTextDocument html;
- html.setHtml(str);
-- str = html.toPlainText();
-+ return html.toPlainText();
- }
-diff --git a/src/gis/IGisItem.h b/src/gis/IGisItem.h
---- a/src/gis/IGisItem.h
-+++ b/src/gis/IGisItem.h
-@@ -115,6 +115,8 @@
-
- virtual void edit(){}
-
-+ static QString removeHtml(const QString &str);
-+
- protected:
- friend class CGisProject;
- struct wpt_t;
-@@ -125,7 +127,7 @@
- QString color2str(const QColor &color);
- void splitLineToViewport(const QPolygonF& line, const QRectF& extViewport, QList<QPolygonF>& lines);
- void drawArrows(const QPolygonF &line, const QRectF &extViewport, QPainter& p);
-- void removeHtml(QString &str);
-+
-
-
- struct color_t
-diff --git a/src/gis/IGisWidget.ui b/src/gis/IGisWidget.ui
---- a/src/gis/IGisWidget.ui
-+++ b/src/gis/IGisWidget.ui
-@@ -43,8 +43,5 @@
- <height>22</height>
- </size>
- </property>
-- <attribute name="headerVisible">
-- <bool>false</bool>
-- </attribute>
- <column>
- <property name="text">
-@@ -49,7 +46,7 @@
- <column>
- <property name="text">
-- <string notr="true">1</string>
-+ <string notr="true">Name</string>
- </property>
- </column>
- <column>
- <property name="text">
-@@ -52,8 +49,8 @@
- </property>
- </column>
- <column>
- <property name="text">
-- <string>2</string>
-+ <string>State</string>
- </property>
- </column>
- </widget>
-diff --git a/src/gis/wpt/CDetailsWpt.cpp b/src/gis/wpt/CDetailsWpt.cpp
---- a/src/gis/wpt/CDetailsWpt.cpp
-+++ b/src/gis/wpt/CDetailsWpt.cpp
-@@ -23,6 +23,7 @@
- #include "helpers/CInputDialog.h"
- #include "helpers/CPositionDialog.h"
- #include "helpers/CWptIconDialog.h"
-+#include "helpers/CTextEditWidget.h"
-
-
- #include <QtWidgets>
-@@ -38,6 +39,8 @@
- connect(labelElevation, SIGNAL(linkActivated(QString)), this, SLOT(slotLinkActivated(QString)));
- connect(labelProximity, SIGNAL(linkActivated(QString)), this, SLOT(slotLinkActivated(QString)));
- connect(toolIcon, SIGNAL(clicked()), this, SLOT(slotChangeIcon()));
-+ connect(toolEditCmt, SIGNAL(clicked()), this, SLOT(slotChangeCmt()));
-+ connect(toolEditDesc, SIGNAL(clicked()), this, SLOT(slotChangeDesc()));
- }
-
- CDetailsWpt::~CDetailsWpt()
-@@ -151,3 +154,25 @@
- setupGui();
- }
- }
-+
-+void CDetailsWpt::slotChangeCmt()
-+{
-+ CTextEditWidget dlg(0);
-+ dlg.setHtml(wpt.getComment());
-+ if(dlg.exec() == QDialog::Accepted)
-+ {
-+ wpt.setComment(dlg.getHtml());
-+ setupGui();
-+ }
-+}
-+
-+void CDetailsWpt::slotChangeDesc()
-+{
-+ CTextEditWidget dlg(0);
-+ dlg.setHtml(wpt.getDescription());
-+ if(dlg.exec() == QDialog::Accepted)
-+ {
-+ wpt.setDescription(dlg.getHtml());
-+ setupGui();
-+ }
-+}
-diff --git a/src/gis/wpt/CDetailsWpt.h b/src/gis/wpt/CDetailsWpt.h
---- a/src/gis/wpt/CDetailsWpt.h
-+++ b/src/gis/wpt/CDetailsWpt.h
-@@ -34,6 +34,8 @@
- private slots:
- void slotLinkActivated(const QString& link);
- void slotChangeIcon();
-+ void slotChangeCmt();
-+ void slotChangeDesc();
-
- private:
- void setupGui();
diff --git a/.hg/Trashcan/2014-08-10_14-17-09_parent_rev_212_QhKuka.bak b/.hg/Trashcan/2014-08-10_14-17-09_parent_rev_212_QhKuka.bak
deleted file mode 100644
index 15476b0..0000000
--- a/.hg/Trashcan/2014-08-10_14-17-09_parent_rev_212_QhKuka.bak
+++ /dev/null
@@ -1,69 +0,0 @@
-diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
---- a/src/CMakeLists.txt
-+++ b/src/CMakeLists.txt
-@@ -20,6 +20,7 @@
- helpers/CInputDialog.cpp
- helpers/CPositionDialog.cpp
- helpers/CWptIconDialog.cpp
-+ helpers/CTextEditWidget.cpp
- canvas/CCanvas.cpp
- canvas/CCanvasSetup.cpp
- canvas/IDrawContext.cpp
-@@ -93,6 +94,7 @@
- helpers/CInputDialog.h
- helpers/CPositionDialog.h
- helpers/CWptIconDialog.h
-+ helpers/CTextEditWidget.h
- canvas/CCanvas.h
- canvas/CCanvasSetup.h
- canvas/IDrawContext.h
-@@ -160,6 +162,7 @@
- helpers/IInputDialog.ui
- helpers/IPositionDialog.ui
- helpers/IWptIconDialog.ui
-+ helpers/ITextEditWidget.ui
- canvas/ICanvasSetup.ui
- dem/IDemList.ui
- dem/IDemPathSetup.ui
-diff --git a/src/gis/CGisListWks.cpp b/src/gis/CGisListWks.cpp
---- a/src/gis/CGisListWks.cpp
-+++ b/src/gis/CGisListWks.cpp
-@@ -39,8 +39,6 @@
- menuItem = new QMenu(this);
- actionEditDetails = menuItem->addAction(QIcon("://icons/32x32/EditDetails.png"),tr("Edit..."), this, SLOT(slotEditItem()));
- actionDelete = menuItem->addAction(QIcon("://icons/48x48/DeleteOne.png"),tr("Delete"), this, SLOT(slotDeleteItem()));
--
-- actionEditDetails->setEnabled(false);
- }
-
- CGisListWks::~CGisListWks()
-@@ -143,7 +141,14 @@
-
- void CGisListWks::slotEditItem()
- {
--
-+ IGisItem::mutexItems.lock();
-+ IGisItem * gisItem = dynamic_cast<IGisItem*>(currentItem());
-+ if(gisItem != 0)
-+ {
-+ QString key = gisItem->getKey();
-+ CGisWidget::self().editItemByKey(key);
-+ }
-+ IGisItem::mutexItems.unlock();
- }
-
- void CGisListWks::slotDeleteItem()
-diff --git a/src/gis/CGisWidget.cpp b/src/gis/CGisWidget.cpp
---- a/src/gis/CGisWidget.cpp
-+++ b/src/gis/CGisWidget.cpp
-@@ -33,7 +33,9 @@
- pSelf = this;
- setupUi(this);
-
-- treeWks->header()->setSectionResizeMode(0,QHeaderView::ResizeToContents);
-+// treeWks->header()->setSectionResizeMode(0,QHeaderView::Interactive);
-+ treeWks->header()->setSectionResizeMode(1,QHeaderView::ResizeToContents);
-+// treeWks->header()->setCascadingSectionResizes(true);
-
-
- connect(treeWks, SIGNAL(sigChanged()), SIGNAL(sigChanged()));
diff --git a/.hg/Trashcan/2014-08-10_14-17-09_parent_rev_212_RHnNae.bak b/.hg/Trashcan/2014-08-10_14-17-09_parent_rev_212_RHnNae.bak
deleted file mode 100644
index d67e946..0000000
--- a/.hg/Trashcan/2014-08-10_14-17-09_parent_rev_212_RHnNae.bak
+++ /dev/null
@@ -1,219 +0,0 @@
-diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
---- a/src/CMakeLists.txt
-+++ b/src/CMakeLists.txt
-@@ -20,6 +20,7 @@
- helpers/CInputDialog.cpp
- helpers/CPositionDialog.cpp
- helpers/CWptIconDialog.cpp
-+ helpers/CTextEditWidget.cpp
- canvas/CCanvas.cpp
- canvas/CCanvasSetup.cpp
- canvas/IDrawContext.cpp
-@@ -93,6 +94,7 @@
- helpers/CInputDialog.h
- helpers/CPositionDialog.h
- helpers/CWptIconDialog.h
-+ helpers/CTextEditWidget.h
- canvas/CCanvas.h
- canvas/CCanvasSetup.h
- canvas/IDrawContext.h
-@@ -160,6 +162,7 @@
- helpers/IInputDialog.ui
- helpers/IPositionDialog.ui
- helpers/IWptIconDialog.ui
-+ helpers/ITextEditWidget.ui
- canvas/ICanvasSetup.ui
- dem/IDemList.ui
- dem/IDemPathSetup.ui
-diff --git a/src/gis/CGisListWks.cpp b/src/gis/CGisListWks.cpp
---- a/src/gis/CGisListWks.cpp
-+++ b/src/gis/CGisListWks.cpp
-@@ -39,8 +39,6 @@
- menuItem = new QMenu(this);
- actionEditDetails = menuItem->addAction(QIcon("://icons/32x32/EditDetails.png"),tr("Edit..."), this, SLOT(slotEditItem()));
- actionDelete = menuItem->addAction(QIcon("://icons/48x48/DeleteOne.png"),tr("Delete"), this, SLOT(slotDeleteItem()));
--
-- actionEditDetails->setEnabled(false);
- }
-
- CGisListWks::~CGisListWks()
-@@ -143,7 +141,14 @@
-
- void CGisListWks::slotEditItem()
- {
--
-+ IGisItem::mutexItems.lock();
-+ IGisItem * gisItem = dynamic_cast<IGisItem*>(currentItem());
-+ if(gisItem != 0)
-+ {
-+ QString key = gisItem->getKey();
-+ CGisWidget::self().editItemByKey(key);
-+ }
-+ IGisItem::mutexItems.unlock();
- }
-
- void CGisListWks::slotDeleteItem()
-diff --git a/src/gis/CGisWidget.cpp b/src/gis/CGisWidget.cpp
---- a/src/gis/CGisWidget.cpp
-+++ b/src/gis/CGisWidget.cpp
-@@ -33,7 +33,9 @@
- pSelf = this;
- setupUi(this);
-
-- treeWks->header()->setSectionResizeMode(0,QHeaderView::ResizeToContents);
-+// treeWks->header()->setSectionResizeMode(0,QHeaderView::Interactive);
-+ treeWks->header()->setSectionResizeMode(1,QHeaderView::ResizeToContents);
-+// treeWks->header()->setCascadingSectionResizes(true);
-
-
- connect(treeWks, SIGNAL(sigChanged()), SIGNAL(sigChanged()));
-diff --git a/src/gis/wpt/CDetailsWpt.cpp b/src/gis/wpt/CDetailsWpt.cpp
---- a/src/gis/wpt/CDetailsWpt.cpp
-+++ b/src/gis/wpt/CDetailsWpt.cpp
-@@ -23,6 +23,7 @@
- #include "helpers/CInputDialog.h"
- #include "helpers/CPositionDialog.h"
- #include "helpers/CWptIconDialog.h"
-+#include "helpers/CTextEditWidget.h"
-
-
- #include <QtWidgets>
-@@ -38,6 +39,8 @@
- connect(labelElevation, SIGNAL(linkActivated(QString)), this, SLOT(slotLinkActivated(QString)));
- connect(labelProximity, SIGNAL(linkActivated(QString)), this, SLOT(slotLinkActivated(QString)));
- connect(toolIcon, SIGNAL(clicked()), this, SLOT(slotChangeIcon()));
-+ connect(toolEditCmt, SIGNAL(clicked()), this, SLOT(slotChangeCmt()));
-+ connect(toolEditDesc, SIGNAL(clicked()), this, SLOT(slotChangeDesc()));
- }
-
- CDetailsWpt::~CDetailsWpt()
-@@ -151,3 +154,25 @@
- setupGui();
- }
- }
-+
-+void CDetailsWpt::slotChangeCmt()
-+{
-+ CTextEditWidget dlg(0);
-+ dlg.setHtml(wpt.getComment());
-+ if(dlg.exec() == QDialog::Accepted)
-+ {
-+ wpt.setComment(dlg.getHtml());
-+ setupGui();
-+ }
-+}
-+
-+void CDetailsWpt::slotChangeDesc()
-+{
-+ CTextEditWidget dlg(0);
-+ dlg.setHtml(wpt.getDescription());
-+ if(dlg.exec() == QDialog::Accepted)
-+ {
-+ wpt.setDescription(dlg.getHtml());
-+ setupGui();
-+ }
-+}
-diff --git a/src/gis/wpt/CDetailsWpt.h b/src/gis/wpt/CDetailsWpt.h
---- a/src/gis/wpt/CDetailsWpt.h
-+++ b/src/gis/wpt/CDetailsWpt.h
-@@ -34,6 +34,8 @@
- private slots:
- void slotLinkActivated(const QString& link);
- void slotChangeIcon();
-+ void slotChangeCmt();
-+ void slotChangeDesc();
-
- private:
- void setupGui();
-diff --git a/src/gis/wpt/IScrOptWpt.ui b/src/gis/wpt/IScrOptWpt.ui
---- a/src/gis/wpt/IScrOptWpt.ui
-+++ b/src/gis/wpt/IScrOptWpt.ui
-@@ -88,9 +88,15 @@
- </item>
- <item>
- <widget class="QLabel" name="label">
-+ <property name="maximumSize">
-+ <size>
-+ <width>400</width>
-+ <height>16777215</height>
-+ </size>
-+ </property>
- <property name="text">
- <string>TextLabel</string>
- </property>
- <property name="textFormat">
- <enum>Qt::AutoText</enum>
- </property>
-@@ -91,9 +97,12 @@
- <property name="text">
- <string>TextLabel</string>
- </property>
- <property name="textFormat">
- <enum>Qt::AutoText</enum>
- </property>
-+ <property name="wordWrap">
-+ <bool>true</bool>
-+ </property>
- </widget>
- </item>
- </layout>
-diff --git a/src/helpers/IWptIconDialog.ui b/src/helpers/IWptIconDialog.ui
---- a/src/helpers/IWptIconDialog.ui
-+++ b/src/helpers/IWptIconDialog.ui
-@@ -24,16 +24,6 @@
- </property>
- </widget>
- </item>
-- <item>
-- <widget class="QDialogButtonBox" name="buttonBox">
-- <property name="orientation">
-- <enum>Qt::Horizontal</enum>
-- </property>
-- <property name="standardButtons">
-- <set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
-- </property>
-- </widget>
-- </item>
- </layout>
- </widget>
- <resources/>
-@@ -37,38 +27,5 @@
- </layout>
- </widget>
- <resources/>
-- <connections>
-- <connection>
-- <sender>buttonBox</sender>
-- <signal>accepted()</signal>
-- <receiver>IWptIconDialog</receiver>
-- <slot>accept()</slot>
-- <hints>
-- <hint type="sourcelabel">
-- <x>248</x>
-- <y>254</y>
-- </hint>
-- <hint type="destinationlabel">
-- <x>157</x>
-- <y>274</y>
-- </hint>
-- </hints>
-- </connection>
-- <connection>
-- <sender>buttonBox</sender>
-- <signal>rejected()</signal>
-- <receiver>IWptIconDialog</receiver>
-- <slot>reject()</slot>
-- <hints>
-- <hint type="sourcelabel">
-- <x>316</x>
-- <y>260</y>
-- </hint>
-- <hint type="destinationlabel">
-- <x>286</x>
-- <y>274</y>
-- </hint>
-- </hints>
-- </connection>
-- </connections>
-+ <connections/>
- </ui>
diff --git a/.hg/Trashcan/2014-08-10_14-17-09_parent_rev_212_TbVumX.bak b/.hg/Trashcan/2014-08-10_14-17-09_parent_rev_212_TbVumX.bak
deleted file mode 100644
index 42c8986..0000000
--- a/.hg/Trashcan/2014-08-10_14-17-09_parent_rev_212_TbVumX.bak
+++ /dev/null
@@ -1,175 +0,0 @@
-diff --git a/src/gis/CGisListWks.cpp b/src/gis/CGisListWks.cpp
---- a/src/gis/CGisListWks.cpp
-+++ b/src/gis/CGisListWks.cpp
-@@ -351,6 +351,15 @@
- int y2 = e->pos().y();
- int off = y2 > y1 ? 1 : 0;
-
-+ IGisProject * prj1 = dynamic_cast<IGisProject*>(currentItem());
-+ IGisProject * prj2 = dynamic_cast<IGisProject*>(itemAt(e->pos()));
-+ if(prj1 && prj2)
-+ {
-+ QTreeWidget::dropEvent(e);
-+ emit sigChanged();
-+ return;
-+ }
-+
- CGisItemWpt * wpt1 = dynamic_cast<CGisItemWpt*>(currentItem());
- CGisItemWpt * wpt2 = dynamic_cast<CGisItemWpt*>(itemAt(e->pos()));
-
-@@ -454,7 +463,10 @@
- }
-
- IGisItem * gisItem = dynamic_cast<IGisItem*>(item);
-- project->insertCopyOfItem(gisItem, -1, lastResult);
-+ if(gisItem)
-+ {
-+ project->insertCopyOfItem(gisItem, -1, lastResult);
-+ }
- }
- }
- emit sigChanged();
-diff --git a/src/gis/IGisItem.cpp b/src/gis/IGisItem.cpp
---- a/src/gis/IGisItem.cpp
-+++ b/src/gis/IGisItem.cpp
-@@ -190,7 +190,7 @@
- }
- }
-
--QString IGisItem::getNameEx()
-+QString IGisItem::getNameEx() const
- {
- QString str = getName();
- IGisProject * project = dynamic_cast<IGisProject*>(parent());
-@@ -350,8 +350,8 @@
- }
- }
-
--bool IGisItem::isReadOnly()
-+bool IGisItem::isReadOnly() const
- {
- return !(flags & eFlagWriteAllowed);
- }
-
-@@ -354,8 +354,8 @@
- {
- return !(flags & eFlagWriteAllowed);
- }
-
--bool IGisItem::isTainted()
-+bool IGisItem::isTainted() const
- {
- return (flags & eFlagTainted);
- }
-diff --git a/src/gis/prj/IGisProject.h b/src/gis/prj/IGisProject.h
---- a/src/gis/prj/IGisProject.h
-+++ b/src/gis/prj/IGisProject.h
-@@ -77,4 +77,7 @@
-
- void edit();
-
-+ /**
-+ @brief Save the project using it's native format.
-+ */
- virtual void save() = 0;
-@@ -80,4 +83,7 @@
- virtual void save() = 0;
-+ /**
-+ @brief Save the project selecting one of the available formats.
-+ */
- virtual void saveAs() = 0;
-
- virtual void setFilename(const QString& fn){filename = fn;}
-@@ -81,5 +87,5 @@
- virtual void saveAs() = 0;
-
- virtual void setFilename(const QString& fn){filename = fn;}
-- virtual QString getFilename(){return filename;}
-+ virtual QString getFilename() const {return filename;}
-
-@@ -85,8 +91,8 @@
-
-- type_e getType(){return type;}
-+ type_e getType() const {return type;}
-
- /**
- @brief Get unique project key.
- @return A MD5 hash string
- */
- const QString& getKey(){genKey(); return key;}
-@@ -87,14 +93,14 @@
-
- /**
- @brief Get unique project key.
- @return A MD5 hash string
- */
- const QString& getKey(){genKey(); return key;}
-- const QString& getName(){return metadata.name;}
-- const QDateTime& getTime(){return metadata.time;}
-- const QString& getKeywords(){return metadata.keywords;}
-- const QString& getDescription(){return metadata.desc;}
-- const QList<IGisItem::link_t>& getLinks(){return metadata.links;}
-+ const QString& getName() const {return metadata.name;}
-+ const QDateTime& getTime() const {return metadata.time;}
-+ const QString& getKeywords() const {return metadata.keywords;}
-+ const QString& getDescription() const {return metadata.desc;}
-+ const QList<IGisItem::link_t>& getLinks() const {return metadata.links;}
-
-
- void setName(const QString& str);
-@@ -106,7 +112,7 @@
- @brief Get a short metadata summary
- @return Informational string.
- */
-- virtual QString getInfo();
-+ virtual QString getInfo() const;
- /**
- @brief Get a temporary pointer to the item with matching key
- @param key
-@@ -137,6 +143,18 @@
- */
- void editItemByKey(const IGisItem::key_t &key);
-
-+ /**
-+ @brief Add a copy if the gven item to the project
-+
-+ Befor the item is inserted the method will use it's key to find a duplicat item.
-+ If there is an item with the same item key a copy option dialog is shown. Depending
-+ the result the action is performed or aborted. The result will be copied into
-+ lastResult to repeat the same decision on subsequent items.
-+
-+ @param item pointer to item
-+ @param off the offset into the tree widget, -1 for none
-+ @param lastResult a reference to hold the last result of the copy option dialog
-+ */
- void insertCopyOfItem(IGisItem *item, int off, int &lastResult);
-
- /**
-@@ -146,7 +164,7 @@
-
- @return True if project is valid
- */
-- bool isValid(){return valid;}
-+ bool isValid() const {return valid;}
-
- void drawItem(QPainter& p, const QRectF& viewport, QList<QRectF>& blockedAreas, QSet<QString> &seenKeys, CGisDraw * gis);
- void drawLabel(QPainter& p, const QRectF& viewport, QList<QRectF>& blockedAreas, QSet<QString> &seenKeys, const QFontMetricsF& fm, CGisDraw * gis);
-diff --git a/src/gis/trk/CDetailsTrk.cpp b/src/gis/trk/CDetailsTrk.cpp
---- a/src/gis/trk/CDetailsTrk.cpp
-+++ b/src/gis/trk/CDetailsTrk.cpp
-@@ -344,6 +344,7 @@
- {
- trk.setComment(dlg.getHtml());
- }
-+ setupGui();
- }
- else if(url.toString() == "description")
- {
-@@ -353,6 +354,7 @@
- {
- trk.setDescription(dlg.getHtml());
- }
-+ setupGui();
- }
- else if(url.toString() == "links")
- {
diff --git a/.hg/Trashcan/2014-08-10_14-17-09_parent_rev_212_TlaYCc.bak b/.hg/Trashcan/2014-08-10_14-17-09_parent_rev_212_TlaYCc.bak
deleted file mode 100644
index 931c079..0000000
--- a/.hg/Trashcan/2014-08-10_14-17-09_parent_rev_212_TlaYCc.bak
+++ /dev/null
@@ -1,55 +0,0 @@
-diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
---- a/src/CMakeLists.txt
-+++ b/src/CMakeLists.txt
-@@ -20,6 +20,7 @@
- helpers/CInputDialog.cpp
- helpers/CPositionDialog.cpp
- helpers/CWptIconDialog.cpp
-+ helpers/CTextEditWidget.cpp
- canvas/CCanvas.cpp
- canvas/CCanvasSetup.cpp
- canvas/IDrawContext.cpp
-@@ -93,6 +94,7 @@
- helpers/CInputDialog.h
- helpers/CPositionDialog.h
- helpers/CWptIconDialog.h
-+ helpers/CTextEditWidget.h
- canvas/CCanvas.h
- canvas/CCanvasSetup.h
- canvas/IDrawContext.h
-@@ -160,6 +162,7 @@
- helpers/IInputDialog.ui
- helpers/IPositionDialog.ui
- helpers/IWptIconDialog.ui
-+ helpers/ITextEditWidget.ui
- canvas/ICanvasSetup.ui
- dem/IDemList.ui
- dem/IDemPathSetup.ui
-diff --git a/src/gis/CGisListWks.cpp b/src/gis/CGisListWks.cpp
---- a/src/gis/CGisListWks.cpp
-+++ b/src/gis/CGisListWks.cpp
-@@ -39,8 +39,6 @@
- menuItem = new QMenu(this);
- actionEditDetails = menuItem->addAction(QIcon("://icons/32x32/EditDetails.png"),tr("Edit..."), this, SLOT(slotEditItem()));
- actionDelete = menuItem->addAction(QIcon("://icons/48x48/DeleteOne.png"),tr("Delete"), this, SLOT(slotDeleteItem()));
--
-- actionEditDetails->setEnabled(false);
- }
-
- CGisListWks::~CGisListWks()
-@@ -143,7 +141,14 @@
-
- void CGisListWks::slotEditItem()
- {
--
-+ IGisItem::mutexItems.lock();
-+ IGisItem * gisItem = dynamic_cast<IGisItem*>(currentItem());
-+ if(gisItem != 0)
-+ {
-+ QString key = gisItem->getKey();
-+ CGisWidget::self().editItemByKey(key);
-+ }
-+ IGisItem::mutexItems.unlock();
- }
-
- void CGisListWks::slotDeleteItem()
diff --git a/.hg/Trashcan/2014-08-10_14-17-09_parent_rev_212_V50HTU.bak b/.hg/Trashcan/2014-08-10_14-17-09_parent_rev_212_V50HTU.bak
deleted file mode 100644
index e9b02de..0000000
--- a/.hg/Trashcan/2014-08-10_14-17-09_parent_rev_212_V50HTU.bak
+++ /dev/null
@@ -1,512 +0,0 @@
-diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
---- a/src/CMakeLists.txt
-+++ b/src/CMakeLists.txt
-@@ -20,6 +20,7 @@
- helpers/CInputDialog.cpp
- helpers/CPositionDialog.cpp
- helpers/CWptIconDialog.cpp
-+ helpers/CTextEditWidget.cpp
- canvas/CCanvas.cpp
- canvas/CCanvasSetup.cpp
- canvas/IDrawContext.cpp
-@@ -93,6 +94,7 @@
- helpers/CInputDialog.h
- helpers/CPositionDialog.h
- helpers/CWptIconDialog.h
-+ helpers/CTextEditWidget.h
- canvas/CCanvas.h
- canvas/CCanvasSetup.h
- canvas/IDrawContext.h
-@@ -160,6 +162,7 @@
- helpers/IInputDialog.ui
- helpers/IPositionDialog.ui
- helpers/IWptIconDialog.ui
-+ helpers/ITextEditWidget.ui
- canvas/ICanvasSetup.ui
- dem/IDemList.ui
- dem/IDemPathSetup.ui
-diff --git a/src/gis/CGisListWks.cpp b/src/gis/CGisListWks.cpp
---- a/src/gis/CGisListWks.cpp
-+++ b/src/gis/CGisListWks.cpp
-@@ -39,8 +39,6 @@
- menuItem = new QMenu(this);
- actionEditDetails = menuItem->addAction(QIcon("://icons/32x32/EditDetails.png"),tr("Edit..."), this, SLOT(slotEditItem()));
- actionDelete = menuItem->addAction(QIcon("://icons/48x48/DeleteOne.png"),tr("Delete"), this, SLOT(slotDeleteItem()));
--
-- actionEditDetails->setEnabled(false);
- }
-
- CGisListWks::~CGisListWks()
-@@ -143,7 +141,14 @@
-
- void CGisListWks::slotEditItem()
- {
--
-+ IGisItem::mutexItems.lock();
-+ IGisItem * gisItem = dynamic_cast<IGisItem*>(currentItem());
-+ if(gisItem != 0)
-+ {
-+ QString key = gisItem->getKey();
-+ CGisWidget::self().editItemByKey(key);
-+ }
-+ IGisItem::mutexItems.unlock();
- }
-
- void CGisListWks::slotDeleteItem()
-diff --git a/src/gis/CGisWidget.cpp b/src/gis/CGisWidget.cpp
---- a/src/gis/CGisWidget.cpp
-+++ b/src/gis/CGisWidget.cpp
-@@ -33,7 +33,9 @@
- pSelf = this;
- setupUi(this);
-
-- treeWks->header()->setSectionResizeMode(0,QHeaderView::ResizeToContents);
-+// treeWks->header()->setSectionResizeMode(0,QHeaderView::Interactive);
-+ treeWks->header()->setSectionResizeMode(1,QHeaderView::ResizeToContents);
-+// treeWks->header()->setCascadingSectionResizes(true);
-
-
- connect(treeWks, SIGNAL(sigChanged()), SIGNAL(sigChanged()));
-diff --git a/src/gis/IGisItem.cpp b/src/gis/IGisItem.cpp
---- a/src/gis/IGisItem.cpp
-+++ b/src/gis/IGisItem.cpp
-@@ -278,7 +278,7 @@
- }
- }
-
--void IGisItem::removeHtml(QString &str)
-+QString IGisItem::removeHtml(const QString &str)
- {
- QTextDocument html;
- html.setHtml(str);
-@@ -282,5 +282,5 @@
- {
- QTextDocument html;
- html.setHtml(str);
-- str = html.toPlainText();
-+ return html.toPlainText();
- }
-diff --git a/src/gis/IGisWidget.ui b/src/gis/IGisWidget.ui
---- a/src/gis/IGisWidget.ui
-+++ b/src/gis/IGisWidget.ui
-@@ -43,8 +43,5 @@
- <height>22</height>
- </size>
- </property>
-- <attribute name="headerVisible">
-- <bool>false</bool>
-- </attribute>
- <column>
- <property name="text">
-@@ -49,7 +46,7 @@
- <column>
- <property name="text">
-- <string notr="true">1</string>
-+ <string notr="true">Name</string>
- </property>
- </column>
- <column>
- <property name="text">
-@@ -52,8 +49,8 @@
- </property>
- </column>
- <column>
- <property name="text">
-- <string>2</string>
-+ <string>State</string>
- </property>
- </column>
- </widget>
-diff --git a/src/gis/wpt/CDetailsWpt.cpp b/src/gis/wpt/CDetailsWpt.cpp
---- a/src/gis/wpt/CDetailsWpt.cpp
-+++ b/src/gis/wpt/CDetailsWpt.cpp
-@@ -23,6 +23,7 @@
- #include "helpers/CInputDialog.h"
- #include "helpers/CPositionDialog.h"
- #include "helpers/CWptIconDialog.h"
-+#include "helpers/CTextEditWidget.h"
-
-
- #include <QtWidgets>
-@@ -38,6 +39,8 @@
- connect(labelElevation, SIGNAL(linkActivated(QString)), this, SLOT(slotLinkActivated(QString)));
- connect(labelProximity, SIGNAL(linkActivated(QString)), this, SLOT(slotLinkActivated(QString)));
- connect(toolIcon, SIGNAL(clicked()), this, SLOT(slotChangeIcon()));
-+ connect(toolEditCmt, SIGNAL(clicked()), this, SLOT(slotChangeCmt()));
-+ connect(toolEditDesc, SIGNAL(clicked()), this, SLOT(slotChangeDesc()));
- }
-
- CDetailsWpt::~CDetailsWpt()
-@@ -151,3 +154,25 @@
- setupGui();
- }
- }
-+
-+void CDetailsWpt::slotChangeCmt()
-+{
-+ CTextEditWidget dlg(0);
-+ dlg.setHtml(wpt.getComment());
-+ if(dlg.exec() == QDialog::Accepted)
-+ {
-+ wpt.setComment(dlg.getHtml());
-+ setupGui();
-+ }
-+}
-+
-+void CDetailsWpt::slotChangeDesc()
-+{
-+ CTextEditWidget dlg(0);
-+ dlg.setHtml(wpt.getDescription());
-+ if(dlg.exec() == QDialog::Accepted)
-+ {
-+ wpt.setDescription(dlg.getHtml());
-+ setupGui();
-+ }
-+}
-diff --git a/src/gis/wpt/CDetailsWpt.h b/src/gis/wpt/CDetailsWpt.h
---- a/src/gis/wpt/CDetailsWpt.h
-+++ b/src/gis/wpt/CDetailsWpt.h
-@@ -34,6 +34,8 @@
- private slots:
- void slotLinkActivated(const QString& link);
- void slotChangeIcon();
-+ void slotChangeCmt();
-+ void slotChangeDesc();
-
- private:
- void setupGui();
-diff --git a/src/gis/wpt/CGisItemWpt.cpp b/src/gis/wpt/CGisItemWpt.cpp
---- a/src/gis/wpt/CGisItemWpt.cpp
-+++ b/src/gis/wpt/CGisItemWpt.cpp
-@@ -18,8 +18,9 @@
-
- #include "gis/wpt/CGisItemWpt.h"
- #include "gis/wpt/CDetailsWpt.h"
-+#include "gis/wpt/CScrOptWpt.h"
- #include "gis/CGisProject.h"
- #include "gis/CGisDraw.h"
- #include "gis/WptIcons.h"
- #include "canvas/CCanvas.h"
- #include "mouse/IMouse.h"
-@@ -21,9 +22,8 @@
- #include "gis/CGisProject.h"
- #include "gis/CGisDraw.h"
- #include "gis/WptIcons.h"
- #include "canvas/CCanvas.h"
- #include "mouse/IMouse.h"
--#include "gis/wpt/CScrOptWpt.h"
- #include "units/IUnit.h"
- #include "GeoMath.h"
-
-@@ -88,7 +88,7 @@
-
- QString CGisItemWpt::getInfo()
- {
-- QString str = getName();
-+ QString str = "<p>" + getName() + "</p>";
-
- if(geocache.hasData)
- {
-@@ -97,10 +97,10 @@
-
- if(wpt.time.isValid())
- {
-- if(!str.isEmpty()) str += "\n";
-+ if(!str.isEmpty()) str += "<br/>\n";
-
- str += IUnit::datetime2string(wpt.time, QPointF(wpt.lon*DEG_TO_RAD, wpt.lat*DEG_TO_RAD));
- }
-
- if(wpt.ele != NOINT)
- {
-@@ -101,10 +101,10 @@
-
- str += IUnit::datetime2string(wpt.time, QPointF(wpt.lon*DEG_TO_RAD, wpt.lat*DEG_TO_RAD));
- }
-
- if(wpt.ele != NOINT)
- {
-- if(!str.isEmpty()) str += "\n";
-+ if(!str.isEmpty()) str += "<br/>\n";
- QString val, unit;
- IUnit::self().meter2elevation(wpt.ele, val, unit);
- str += QObject::tr("Elevation: %1 %2").arg(val).arg(unit);
-@@ -112,9 +112,9 @@
-
- if(proximity != NOFLOAT)
- {
-- if(!str.isEmpty()) str += "\n";
-+ if(!str.isEmpty()) str += "<br/>\n";
- QString val, unit;
- IUnit::self().meter2distance(proximity, val, unit);
- str += QObject::tr("Proximity: %1 %2").arg(val).arg(unit);
- }
-
-@@ -116,7 +116,8 @@
- QString val, unit;
- IUnit::self().meter2distance(proximity, val, unit);
- str += QObject::tr("Proximity: %1 %2").arg(val).arg(unit);
- }
-
-- if(wpt.desc.count())
-+ QString desc = removeHtml(wpt.desc);
-+ if(desc.count())
- {
-@@ -122,3 +123,3 @@
- {
-- if(!str.isEmpty()) str += "\n";
-+ if(!str.isEmpty()) str += "<br/>\n";
-
-@@ -124,3 +125,3 @@
-
-- if(wpt.desc.count() < 200)
-+ if(desc.count() < 200)
- {
-@@ -126,5 +127,5 @@
- {
-- str += wpt.desc;
-+ str += desc;
- }
- else
- {
-@@ -128,8 +129,8 @@
- }
- else
- {
-- str += wpt.desc.left(197) + "...";
-+ str += desc.left(197) + "...";
- }
- }
- else
- {
-@@ -132,7 +133,7 @@
- }
- }
- else
- {
-- QString cmt = wpt.cmt;
-+ QString cmt = removeHtml(wpt.cmt);
- if(cmt.count())
- {
-@@ -137,6 +138,6 @@
- if(cmt.count())
- {
-- if(!str.isEmpty()) str += "\n";
-+ if(!str.isEmpty()) str += "<br/>\n";
-
- if(cmt.count() < 200)
- {
-@@ -148,6 +149,9 @@
- }
- }
- }
-+
-+ qDebug() << "-----------------------";
-+ qDebug() << str;
- return str;
- }
-
-@@ -207,6 +211,20 @@
- setIcon();
- }
-
-+void CGisItemWpt::setComment(const QString& str)
-+{
-+ setText(1,"*");
-+ wpt.cmt = str;
-+ setToolTip(0,getInfo());
-+}
-+
-+void CGisItemWpt::setDescription(const QString& str)
-+{
-+ setText(1,"*");
-+ wpt.desc = str;
-+ setToolTip(0,getInfo());
-+}
-+
- void CGisItemWpt::save(QDomNode& gpx)
- {
- QDomDocument doc = gpx.ownerDocument();
-diff --git a/src/gis/wpt/CGisItemWpt.h b/src/gis/wpt/CGisItemWpt.h
---- a/src/gis/wpt/CGisItemWpt.h
-+++ b/src/gis/wpt/CGisItemWpt.h
-@@ -35,6 +35,8 @@
- void setElevation(qint32 val);
- void setProximity(qreal val);
- void setIcon(const QString& name);
-+ void setComment(const QString& str);
-+ void setDescription(const QString& str);
-
- const QString& getName(){return wpt.name;}
- QString getInfo();
-diff --git a/src/gis/wpt/CScrOptWpt.cpp b/src/gis/wpt/CScrOptWpt.cpp
---- a/src/gis/wpt/CScrOptWpt.cpp
-+++ b/src/gis/wpt/CScrOptWpt.cpp
-@@ -33,7 +33,7 @@
- setupUi(this);
- setOrigin(origin);
- label->setFont(CMainWindow::self().getMapFont());
-- label->setText(wpt->getInfo());
-+ label->setText(IGisItem::removeHtml(wpt->getInfo()));
-
- anchor = wpt->getPointCloseBy(origin);
- move(anchor.toPoint() + QPoint(30,30));
-diff --git a/src/gis/wpt/IScrOptWpt.ui b/src/gis/wpt/IScrOptWpt.ui
---- a/src/gis/wpt/IScrOptWpt.ui
-+++ b/src/gis/wpt/IScrOptWpt.ui
-@@ -88,9 +88,15 @@
- </item>
- <item>
- <widget class="QLabel" name="label">
-+ <property name="maximumSize">
-+ <size>
-+ <width>400</width>
-+ <height>16777215</height>
-+ </size>
-+ </property>
- <property name="text">
- <string>TextLabel</string>
- </property>
- <property name="textFormat">
- <enum>Qt::AutoText</enum>
- </property>
-@@ -91,9 +97,12 @@
- <property name="text">
- <string>TextLabel</string>
- </property>
- <property name="textFormat">
- <enum>Qt::AutoText</enum>
- </property>
-+ <property name="wordWrap">
-+ <bool>true</bool>
-+ </property>
- </widget>
- </item>
- </layout>
-diff --git a/src/helpers/IWptIconDialog.ui b/src/helpers/IWptIconDialog.ui
---- a/src/helpers/IWptIconDialog.ui
-+++ b/src/helpers/IWptIconDialog.ui
-@@ -24,16 +24,6 @@
- </property>
- </widget>
- </item>
-- <item>
-- <widget class="QDialogButtonBox" name="buttonBox">
-- <property name="orientation">
-- <enum>Qt::Horizontal</enum>
-- </property>
-- <property name="standardButtons">
-- <set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
-- </property>
-- </widget>
-- </item>
- </layout>
- </widget>
- <resources/>
-@@ -37,38 +27,5 @@
- </layout>
- </widget>
- <resources/>
-- <connections>
-- <connection>
-- <sender>buttonBox</sender>
-- <signal>accepted()</signal>
-- <receiver>IWptIconDialog</receiver>
-- <slot>accept()</slot>
-- <hints>
-- <hint type="sourcelabel">
-- <x>248</x>
-- <y>254</y>
-- </hint>
-- <hint type="destinationlabel">
-- <x>157</x>
-- <y>274</y>
-- </hint>
-- </hints>
-- </connection>
-- <connection>
-- <sender>buttonBox</sender>
-- <signal>rejected()</signal>
-- <receiver>IWptIconDialog</receiver>
-- <slot>reject()</slot>
-- <hints>
-- <hint type="sourcelabel">
-- <x>316</x>
-- <y>260</y>
-- </hint>
-- <hint type="destinationlabel">
-- <x>286</x>
-- <y>274</y>
-- </hint>
-- </hints>
-- </connection>
-- </connections>
-+ <connections/>
- </ui>
-diff --git a/src/resources.qrc b/src/resources.qrc
---- a/src/resources.qrc
-+++ b/src/resources.qrc
-@@ -68,6 +68,19 @@
- <file>icons/16x16/EditDetails.png</file>
- <file>icons/16x16/EditText.png</file>
- <file>icons/16x16/TimeZoneSetup.png</file>
-+ <file>icons/16x16/Undo.png</file>
-+ <file>icons/16x16/Redo.png</file>
-+ <file>icons/16x16/Cut.png</file>
-+ <file>icons/16x16/Copy.png</file>
-+ <file>icons/16x16/Paste.png</file>
-+ <file>icons/16x16/TextLeft.png</file>
-+ <file>icons/16x16/TextRight.png</file>
-+ <file>icons/16x16/TextCenter.png</file>
-+ <file>icons/16x16/TextJustified.png</file>
-+ <file>icons/16x16/TextBold.png</file>
-+ <file>icons/16x16/TextUnderlined.png</file>
-+ <file>icons/16x16/TextItalic.png</file>
-+
- <file>icons/32x32/2DFix.png</file>
- <file>icons/32x32/3DFix.png</file>
- <file>icons/32x32/Add.png</file>
-@@ -118,6 +131,21 @@
- <file>icons/32x32/EditDetails.png</file>
- <file>icons/32x32/EditText.png</file>
- <file>icons/32x32/TimeZoneSetup.png</file>
-+ <file>icons/32x32/Undo.png</file>
-+ <file>icons/32x32/Redo.png</file>
-+ <file>icons/32x32/Cut.png</file>
-+ <file>icons/32x32/Copy.png</file>
-+ <file>icons/32x32/Paste.png</file>
-+ <file>icons/32x32/TextLeft.png</file>
-+ <file>icons/32x32/TextRight.png</file>
-+ <file>icons/32x32/TextCenter.png</file>
-+ <file>icons/32x32/TextJustified.png</file>
-+ <file>icons/32x32/TextBold.png</file>
-+ <file>icons/32x32/TextUnderlined.png</file>
-+ <file>icons/32x32/TextItalic.png</file>
-+
-+
-+
- <file>icons/48x48/2DFix.png</file>
- <file>icons/48x48/3DFix.png</file>
- <file>icons/48x48/Add.png</file>
-@@ -168,6 +196,21 @@
- <file>icons/48x48/EditDetails.png</file>
- <file>icons/48x48/EditText.png</file>
- <file>icons/48x48/TimeZoneSetup.png</file>
-+ <file>icons/48x48/Undo.png</file>
-+ <file>icons/48x48/Redo.png</file>
-+ <file>icons/48x48/Cut.png</file>
-+ <file>icons/48x48/Copy.png</file>
-+ <file>icons/48x48/Paste.png</file>
-+ <file>icons/48x48/TextLeft.png</file>
-+ <file>icons/48x48/TextRight.png</file>
-+ <file>icons/48x48/TextCenter.png</file>
-+ <file>icons/48x48/TextJustified.png</file>
-+ <file>icons/48x48/TextBold.png</file>
-+ <file>icons/48x48/TextUnderlined.png</file>
-+ <file>icons/48x48/TextItalic.png</file>
-+
-+
-+
- <file>icons/cache/32x32/bluepin.png</file>
- <file>icons/cache/32x32/cito.png</file>
- <file>icons/cache/32x32/corrected.png</file>
diff --git a/.hg/Trashcan/2014-08-10_14-17-09_parent_rev_212_WQ5EF6.bak b/.hg/Trashcan/2014-08-10_14-17-09_parent_rev_212_WQ5EF6.bak
deleted file mode 100644
index 520dc5e..0000000
--- a/.hg/Trashcan/2014-08-10_14-17-09_parent_rev_212_WQ5EF6.bak
+++ /dev/null
@@ -1,220 +0,0 @@
-diff --git a/src/gis/CGisListWks.cpp b/src/gis/CGisListWks.cpp
---- a/src/gis/CGisListWks.cpp
-+++ b/src/gis/CGisListWks.cpp
-@@ -351,6 +351,15 @@
- int y2 = e->pos().y();
- int off = y2 > y1 ? 1 : 0;
-
-+ IGisProject * prj1 = dynamic_cast<IGisProject*>(currentItem());
-+ IGisProject * prj2 = dynamic_cast<IGisProject*>(itemAt(e->pos()));
-+ if(prj1 && prj2)
-+ {
-+ QTreeWidget::dropEvent(e);
-+ emit sigChanged();
-+ return;
-+ }
-+
- CGisItemWpt * wpt1 = dynamic_cast<CGisItemWpt*>(currentItem());
- CGisItemWpt * wpt2 = dynamic_cast<CGisItemWpt*>(itemAt(e->pos()));
-
-@@ -454,7 +463,10 @@
- }
-
- IGisItem * gisItem = dynamic_cast<IGisItem*>(item);
-- project->insertCopyOfItem(gisItem, -1, lastResult);
-+ if(gisItem)
-+ {
-+ project->insertCopyOfItem(gisItem, -1, lastResult);
-+ }
- }
- }
- emit sigChanged();
-diff --git a/src/gis/IGisItem.cpp b/src/gis/IGisItem.cpp
---- a/src/gis/IGisItem.cpp
-+++ b/src/gis/IGisItem.cpp
-@@ -190,7 +190,7 @@
- }
- }
-
--QString IGisItem::getNameEx()
-+QString IGisItem::getNameEx() const
- {
- QString str = getName();
- IGisProject * project = dynamic_cast<IGisProject*>(parent());
-@@ -350,8 +350,8 @@
- }
- }
-
--bool IGisItem::isReadOnly()
-+bool IGisItem::isReadOnly() const
- {
- return !(flags & eFlagWriteAllowed);
- }
-
-@@ -354,8 +354,8 @@
- {
- return !(flags & eFlagWriteAllowed);
- }
-
--bool IGisItem::isTainted()
-+bool IGisItem::isTainted() const
- {
- return (flags & eFlagTainted);
- }
-diff --git a/src/gis/IGisItem.h b/src/gis/IGisItem.h
---- a/src/gis/IGisItem.h
-+++ b/src/gis/IGisItem.h
-@@ -174,7 +174,7 @@
- @brief Get name of this item extended by the project name
- @return A string object.
- */
-- virtual QString getNameEx();
-+ virtual QString getNameEx() const;
-
- /**
- @brief Get a short string with the items properties to be displayed in tool tips or similar
-@@ -198,7 +198,7 @@
-
- @return
- */
-- virtual const QRectF& getBoundingRect(){return boundingRect;}
-+ virtual const QRectF& getBoundingRect() const {return boundingRect;}
-
- /**
- @brief Get screen option object to display and handle actions for this item.
-@@ -226,9 +226,9 @@
- @brief Query if this item is read only
- @return True if it is read only.
- */
-- bool isReadOnly();
-+ bool isReadOnly() const;
-
- /**
- @brief Query if the item is imported and was changed
- @return True if content was changed.
- */
-@@ -230,9 +230,9 @@
-
- /**
- @brief Query if the item is imported and was changed
- @return True if content was changed.
- */
-- bool isTainted();
-+ bool isTainted() const;
- /**
- @brief Set the read only mode.
-
-@@ -255,7 +255,7 @@
-
- @return True if the item has user focus. The default implementation is always false.
- */
-- virtual bool hasUserFocus(){return false;}
-+ virtual bool hasUserFocus() const {return false;}
-
-
- /**
-diff --git a/src/gis/prj/IGisProject.cpp b/src/gis/prj/IGisProject.cpp
---- a/src/gis/prj/IGisProject.cpp
-+++ b/src/gis/prj/IGisProject.cpp
-@@ -136,7 +136,7 @@
- }
- }
-
--QString IGisProject::getInfo()
-+QString IGisProject::getInfo() const
- {
- QString str = metadata.name.isEmpty() ? text(CGisListWks::eColumnName) : metadata.name;
- str = "<div style='font-weight: bold;'>" + str + "</div>";
-diff --git a/src/gis/prj/IGisProject.h b/src/gis/prj/IGisProject.h
---- a/src/gis/prj/IGisProject.h
-+++ b/src/gis/prj/IGisProject.h
-@@ -77,4 +77,7 @@
-
- void edit();
-
-+ /**
-+ @brief Save the project using it's native format.
-+ */
- virtual void save() = 0;
-@@ -80,4 +83,7 @@
- virtual void save() = 0;
-+ /**
-+ @brief Save the project selecting one of the available formats.
-+ */
- virtual void saveAs() = 0;
-
- virtual void setFilename(const QString& fn){filename = fn;}
-@@ -81,5 +87,5 @@
- virtual void saveAs() = 0;
-
- virtual void setFilename(const QString& fn){filename = fn;}
-- virtual QString getFilename(){return filename;}
-+ virtual QString getFilename() const {return filename;}
-
-@@ -85,8 +91,8 @@
-
-- type_e getType(){return type;}
-+ type_e getType() const {return type;}
-
- /**
- @brief Get unique project key.
- @return A MD5 hash string
- */
- const QString& getKey(){genKey(); return key;}
-@@ -87,14 +93,14 @@
-
- /**
- @brief Get unique project key.
- @return A MD5 hash string
- */
- const QString& getKey(){genKey(); return key;}
-- const QString& getName(){return metadata.name;}
-- const QDateTime& getTime(){return metadata.time;}
-- const QString& getKeywords(){return metadata.keywords;}
-- const QString& getDescription(){return metadata.desc;}
-- const QList<IGisItem::link_t>& getLinks(){return metadata.links;}
-+ const QString& getName() const {return metadata.name;}
-+ const QDateTime& getTime() const {return metadata.time;}
-+ const QString& getKeywords() const {return metadata.keywords;}
-+ const QString& getDescription() const {return metadata.desc;}
-+ const QList<IGisItem::link_t>& getLinks() const {return metadata.links;}
-
-
- void setName(const QString& str);
-@@ -106,7 +112,7 @@
- @brief Get a short metadata summary
- @return Informational string.
- */
-- virtual QString getInfo();
-+ virtual QString getInfo() const;
- /**
- @brief Get a temporary pointer to the item with matching key
- @param key
-@@ -137,6 +143,18 @@
- */
- void editItemByKey(const IGisItem::key_t &key);
-
-+ /**
-+ @brief Add a copy if the gven item to the project
-+
-+ Befor the item is inserted the method will use it's key to find a duplicat item.
-+ If there is an item with the same item key a copy option dialog is shown. Depending
-+ the result the action is performed or aborted. The result will be copied into
-+ lastResult to repeat the same decision on subsequent items.
-+
-+ @param item pointer to item
-+ @param off the offset into the tree widget, -1 for none
-+ @param lastResult a reference to hold the last result of the copy option dialog
-+ */
- void insertCopyOfItem(IGisItem *item, int off, int &lastResult);
-
- /**
-@@ -146,7 +164,7 @@
-
- @return True if project is valid
- */
-- bool isValid(){return valid;}
-+ bool isValid() const {return valid;}
-
- void drawItem(QPainter& p, const QRectF& viewport, QList<QRectF>& blockedAreas, QSet<QString> &seenKeys, CGisDraw * gis);
- void drawLabel(QPainter& p, const QRectF& viewport, QList<QRectF>& blockedAreas, QSet<QString> &seenKeys, const QFontMetricsF& fm, CGisDraw * gis);
diff --git a/.hg/Trashcan/2014-08-10_14-17-09_parent_rev_212_Wvm2XK.bak b/.hg/Trashcan/2014-08-10_14-17-09_parent_rev_212_Wvm2XK.bak
deleted file mode 100644
index 8024359..0000000
--- a/.hg/Trashcan/2014-08-10_14-17-09_parent_rev_212_Wvm2XK.bak
+++ /dev/null
@@ -1,348 +0,0 @@
-diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
---- a/src/CMakeLists.txt
-+++ b/src/CMakeLists.txt
-@@ -20,6 +20,7 @@
- helpers/CInputDialog.cpp
- helpers/CPositionDialog.cpp
- helpers/CWptIconDialog.cpp
-+ helpers/CTextEditWidget.cpp
- canvas/CCanvas.cpp
- canvas/CCanvasSetup.cpp
- canvas/IDrawContext.cpp
-@@ -93,6 +94,7 @@
- helpers/CInputDialog.h
- helpers/CPositionDialog.h
- helpers/CWptIconDialog.h
-+ helpers/CTextEditWidget.h
- canvas/CCanvas.h
- canvas/CCanvasSetup.h
- canvas/IDrawContext.h
-@@ -160,6 +162,7 @@
- helpers/IInputDialog.ui
- helpers/IPositionDialog.ui
- helpers/IWptIconDialog.ui
-+ helpers/ITextEditWidget.ui
- canvas/ICanvasSetup.ui
- dem/IDemList.ui
- dem/IDemPathSetup.ui
-diff --git a/src/gis/CGisListWks.cpp b/src/gis/CGisListWks.cpp
---- a/src/gis/CGisListWks.cpp
-+++ b/src/gis/CGisListWks.cpp
-@@ -39,8 +39,6 @@
- menuItem = new QMenu(this);
- actionEditDetails = menuItem->addAction(QIcon("://icons/32x32/EditDetails.png"),tr("Edit..."), this, SLOT(slotEditItem()));
- actionDelete = menuItem->addAction(QIcon("://icons/48x48/DeleteOne.png"),tr("Delete"), this, SLOT(slotDeleteItem()));
--
-- actionEditDetails->setEnabled(false);
- }
-
- CGisListWks::~CGisListWks()
-@@ -143,7 +141,14 @@
-
- void CGisListWks::slotEditItem()
- {
--
-+ IGisItem::mutexItems.lock();
-+ IGisItem * gisItem = dynamic_cast<IGisItem*>(currentItem());
-+ if(gisItem != 0)
-+ {
-+ QString key = gisItem->getKey();
-+ CGisWidget::self().editItemByKey(key);
-+ }
-+ IGisItem::mutexItems.unlock();
- }
-
- void CGisListWks::slotDeleteItem()
-diff --git a/src/gis/CGisWidget.cpp b/src/gis/CGisWidget.cpp
---- a/src/gis/CGisWidget.cpp
-+++ b/src/gis/CGisWidget.cpp
-@@ -33,7 +33,9 @@
- pSelf = this;
- setupUi(this);
-
-- treeWks->header()->setSectionResizeMode(0,QHeaderView::ResizeToContents);
-+// treeWks->header()->setSectionResizeMode(0,QHeaderView::Interactive);
-+ treeWks->header()->setSectionResizeMode(1,QHeaderView::ResizeToContents);
-+// treeWks->header()->setCascadingSectionResizes(true);
-
-
- connect(treeWks, SIGNAL(sigChanged()), SIGNAL(sigChanged()));
-diff --git a/src/gis/IGisItem.cpp b/src/gis/IGisItem.cpp
---- a/src/gis/IGisItem.cpp
-+++ b/src/gis/IGisItem.cpp
-@@ -278,7 +278,7 @@
- }
- }
-
--void IGisItem::removeHtml(QString &str)
-+QString IGisItem::removeHtml(const QString &str)
- {
- QTextDocument html;
- html.setHtml(str);
-@@ -282,5 +282,5 @@
- {
- QTextDocument html;
- html.setHtml(str);
-- str = html.toPlainText();
-+ return html.toPlainText();
- }
-diff --git a/src/gis/IGisWidget.ui b/src/gis/IGisWidget.ui
---- a/src/gis/IGisWidget.ui
-+++ b/src/gis/IGisWidget.ui
-@@ -43,8 +43,5 @@
- <height>22</height>
- </size>
- </property>
-- <attribute name="headerVisible">
-- <bool>false</bool>
-- </attribute>
- <column>
- <property name="text">
-@@ -49,7 +46,7 @@
- <column>
- <property name="text">
-- <string notr="true">1</string>
-+ <string notr="true">Name</string>
- </property>
- </column>
- <column>
- <property name="text">
-@@ -52,8 +49,8 @@
- </property>
- </column>
- <column>
- <property name="text">
-- <string>2</string>
-+ <string>State</string>
- </property>
- </column>
- </widget>
-diff --git a/src/gis/wpt/CDetailsWpt.cpp b/src/gis/wpt/CDetailsWpt.cpp
---- a/src/gis/wpt/CDetailsWpt.cpp
-+++ b/src/gis/wpt/CDetailsWpt.cpp
-@@ -23,6 +23,7 @@
- #include "helpers/CInputDialog.h"
- #include "helpers/CPositionDialog.h"
- #include "helpers/CWptIconDialog.h"
-+#include "helpers/CTextEditWidget.h"
-
-
- #include <QtWidgets>
-@@ -38,6 +39,8 @@
- connect(labelElevation, SIGNAL(linkActivated(QString)), this, SLOT(slotLinkActivated(QString)));
- connect(labelProximity, SIGNAL(linkActivated(QString)), this, SLOT(slotLinkActivated(QString)));
- connect(toolIcon, SIGNAL(clicked()), this, SLOT(slotChangeIcon()));
-+ connect(toolEditCmt, SIGNAL(clicked()), this, SLOT(slotChangeCmt()));
-+ connect(toolEditDesc, SIGNAL(clicked()), this, SLOT(slotChangeDesc()));
- }
-
- CDetailsWpt::~CDetailsWpt()
-@@ -151,3 +154,25 @@
- setupGui();
- }
- }
-+
-+void CDetailsWpt::slotChangeCmt()
-+{
-+ CTextEditWidget dlg(0);
-+ dlg.setHtml(wpt.getComment());
-+ if(dlg.exec() == QDialog::Accepted)
-+ {
-+ wpt.setComment(dlg.getHtml());
-+ setupGui();
-+ }
-+}
-+
-+void CDetailsWpt::slotChangeDesc()
-+{
-+ CTextEditWidget dlg(0);
-+ dlg.setHtml(wpt.getDescription());
-+ if(dlg.exec() == QDialog::Accepted)
-+ {
-+ wpt.setDescription(dlg.getHtml());
-+ setupGui();
-+ }
-+}
-diff --git a/src/gis/wpt/CDetailsWpt.h b/src/gis/wpt/CDetailsWpt.h
---- a/src/gis/wpt/CDetailsWpt.h
-+++ b/src/gis/wpt/CDetailsWpt.h
-@@ -34,6 +34,8 @@
- private slots:
- void slotLinkActivated(const QString& link);
- void slotChangeIcon();
-+ void slotChangeCmt();
-+ void slotChangeDesc();
-
- private:
- void setupGui();
-diff --git a/src/gis/wpt/CGisItemWpt.h b/src/gis/wpt/CGisItemWpt.h
---- a/src/gis/wpt/CGisItemWpt.h
-+++ b/src/gis/wpt/CGisItemWpt.h
-@@ -35,6 +35,8 @@
- void setElevation(qint32 val);
- void setProximity(qreal val);
- void setIcon(const QString& name);
-+ void setComment(const QString& str);
-+ void setDescription(const QString& str);
-
- const QString& getName(){return wpt.name;}
- QString getInfo();
-diff --git a/src/gis/wpt/IScrOptWpt.ui b/src/gis/wpt/IScrOptWpt.ui
---- a/src/gis/wpt/IScrOptWpt.ui
-+++ b/src/gis/wpt/IScrOptWpt.ui
-@@ -88,9 +88,15 @@
- </item>
- <item>
- <widget class="QLabel" name="label">
-+ <property name="maximumSize">
-+ <size>
-+ <width>400</width>
-+ <height>16777215</height>
-+ </size>
-+ </property>
- <property name="text">
- <string>TextLabel</string>
- </property>
- <property name="textFormat">
- <enum>Qt::AutoText</enum>
- </property>
-@@ -91,9 +97,12 @@
- <property name="text">
- <string>TextLabel</string>
- </property>
- <property name="textFormat">
- <enum>Qt::AutoText</enum>
- </property>
-+ <property name="wordWrap">
-+ <bool>true</bool>
-+ </property>
- </widget>
- </item>
- </layout>
-diff --git a/src/helpers/IWptIconDialog.ui b/src/helpers/IWptIconDialog.ui
---- a/src/helpers/IWptIconDialog.ui
-+++ b/src/helpers/IWptIconDialog.ui
-@@ -24,16 +24,6 @@
- </property>
- </widget>
- </item>
-- <item>
-- <widget class="QDialogButtonBox" name="buttonBox">
-- <property name="orientation">
-- <enum>Qt::Horizontal</enum>
-- </property>
-- <property name="standardButtons">
-- <set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
-- </property>
-- </widget>
-- </item>
- </layout>
- </widget>
- <resources/>
-@@ -37,38 +27,5 @@
- </layout>
- </widget>
- <resources/>
-- <connections>
-- <connection>
-- <sender>buttonBox</sender>
-- <signal>accepted()</signal>
-- <receiver>IWptIconDialog</receiver>
-- <slot>accept()</slot>
-- <hints>
-- <hint type="sourcelabel">
-- <x>248</x>
-- <y>254</y>
-- </hint>
-- <hint type="destinationlabel">
-- <x>157</x>
-- <y>274</y>
-- </hint>
-- </hints>
-- </connection>
-- <connection>
-- <sender>buttonBox</sender>
-- <signal>rejected()</signal>
-- <receiver>IWptIconDialog</receiver>
-- <slot>reject()</slot>
-- <hints>
-- <hint type="sourcelabel">
-- <x>316</x>
-- <y>260</y>
-- </hint>
-- <hint type="destinationlabel">
-- <x>286</x>
-- <y>274</y>
-- </hint>
-- </hints>
-- </connection>
-- </connections>
-+ <connections/>
- </ui>
-diff --git a/src/resources.qrc b/src/resources.qrc
---- a/src/resources.qrc
-+++ b/src/resources.qrc
-@@ -68,6 +68,19 @@
- <file>icons/16x16/EditDetails.png</file>
- <file>icons/16x16/EditText.png</file>
- <file>icons/16x16/TimeZoneSetup.png</file>
-+ <file>icons/16x16/Undo.png</file>
-+ <file>icons/16x16/Redo.png</file>
-+ <file>icons/16x16/Cut.png</file>
-+ <file>icons/16x16/Copy.png</file>
-+ <file>icons/16x16/Paste.png</file>
-+ <file>icons/16x16/TextLeft.png</file>
-+ <file>icons/16x16/TextRight.png</file>
-+ <file>icons/16x16/TextCenter.png</file>
-+ <file>icons/16x16/TextJustified.png</file>
-+ <file>icons/16x16/TextBold.png</file>
-+ <file>icons/16x16/TextUnderlined.png</file>
-+ <file>icons/16x16/TextItalic.png</file>
-+
- <file>icons/32x32/2DFix.png</file>
- <file>icons/32x32/3DFix.png</file>
- <file>icons/32x32/Add.png</file>
-@@ -118,6 +131,21 @@
- <file>icons/32x32/EditDetails.png</file>
- <file>icons/32x32/EditText.png</file>
- <file>icons/32x32/TimeZoneSetup.png</file>
-+ <file>icons/32x32/Undo.png</file>
-+ <file>icons/32x32/Redo.png</file>
-+ <file>icons/32x32/Cut.png</file>
-+ <file>icons/32x32/Copy.png</file>
-+ <file>icons/32x32/Paste.png</file>
-+ <file>icons/32x32/TextLeft.png</file>
-+ <file>icons/32x32/TextRight.png</file>
-+ <file>icons/32x32/TextCenter.png</file>
-+ <file>icons/32x32/TextJustified.png</file>
-+ <file>icons/32x32/TextBold.png</file>
-+ <file>icons/32x32/TextUnderlined.png</file>
-+ <file>icons/32x32/TextItalic.png</file>
-+
-+
-+
- <file>icons/48x48/2DFix.png</file>
- <file>icons/48x48/3DFix.png</file>
- <file>icons/48x48/Add.png</file>
-@@ -168,6 +196,21 @@
- <file>icons/48x48/EditDetails.png</file>
- <file>icons/48x48/EditText.png</file>
- <file>icons/48x48/TimeZoneSetup.png</file>
-+ <file>icons/48x48/Undo.png</file>
-+ <file>icons/48x48/Redo.png</file>
-+ <file>icons/48x48/Cut.png</file>
-+ <file>icons/48x48/Copy.png</file>
-+ <file>icons/48x48/Paste.png</file>
-+ <file>icons/48x48/TextLeft.png</file>
-+ <file>icons/48x48/TextRight.png</file>
-+ <file>icons/48x48/TextCenter.png</file>
-+ <file>icons/48x48/TextJustified.png</file>
-+ <file>icons/48x48/TextBold.png</file>
-+ <file>icons/48x48/TextUnderlined.png</file>
-+ <file>icons/48x48/TextItalic.png</file>
-+
-+
-+
- <file>icons/cache/32x32/bluepin.png</file>
- <file>icons/cache/32x32/cito.png</file>
- <file>icons/cache/32x32/corrected.png</file>
diff --git a/.hg/Trashcan/2014-08-10_14-17-09_parent_rev_212_XyikZV.bak b/.hg/Trashcan/2014-08-10_14-17-09_parent_rev_212_XyikZV.bak
deleted file mode 100644
index c80f1db..0000000
--- a/.hg/Trashcan/2014-08-10_14-17-09_parent_rev_212_XyikZV.bak
+++ /dev/null
@@ -1,88 +0,0 @@
-diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
---- a/src/CMakeLists.txt
-+++ b/src/CMakeLists.txt
-@@ -20,6 +20,7 @@
- helpers/CInputDialog.cpp
- helpers/CPositionDialog.cpp
- helpers/CWptIconDialog.cpp
-+ helpers/CTextEditWidget.cpp
- canvas/CCanvas.cpp
- canvas/CCanvasSetup.cpp
- canvas/IDrawContext.cpp
-@@ -93,6 +94,7 @@
- helpers/CInputDialog.h
- helpers/CPositionDialog.h
- helpers/CWptIconDialog.h
-+ helpers/CTextEditWidget.h
- canvas/CCanvas.h
- canvas/CCanvasSetup.h
- canvas/IDrawContext.h
-@@ -160,6 +162,7 @@
- helpers/IInputDialog.ui
- helpers/IPositionDialog.ui
- helpers/IWptIconDialog.ui
-+ helpers/ITextEditWidget.ui
- canvas/ICanvasSetup.ui
- dem/IDemList.ui
- dem/IDemPathSetup.ui
-diff --git a/src/gis/CGisListWks.cpp b/src/gis/CGisListWks.cpp
---- a/src/gis/CGisListWks.cpp
-+++ b/src/gis/CGisListWks.cpp
-@@ -39,8 +39,6 @@
- menuItem = new QMenu(this);
- actionEditDetails = menuItem->addAction(QIcon("://icons/32x32/EditDetails.png"),tr("Edit..."), this, SLOT(slotEditItem()));
- actionDelete = menuItem->addAction(QIcon("://icons/48x48/DeleteOne.png"),tr("Delete"), this, SLOT(slotDeleteItem()));
--
-- actionEditDetails->setEnabled(false);
- }
-
- CGisListWks::~CGisListWks()
-@@ -143,7 +141,14 @@
-
- void CGisListWks::slotEditItem()
- {
--
-+ IGisItem::mutexItems.lock();
-+ IGisItem * gisItem = dynamic_cast<IGisItem*>(currentItem());
-+ if(gisItem != 0)
-+ {
-+ QString key = gisItem->getKey();
-+ CGisWidget::self().editItemByKey(key);
-+ }
-+ IGisItem::mutexItems.unlock();
- }
-
- void CGisListWks::slotDeleteItem()
-diff --git a/src/gis/CGisWidget.cpp b/src/gis/CGisWidget.cpp
---- a/src/gis/CGisWidget.cpp
-+++ b/src/gis/CGisWidget.cpp
-@@ -33,7 +33,9 @@
- pSelf = this;
- setupUi(this);
-
-- treeWks->header()->setSectionResizeMode(0,QHeaderView::ResizeToContents);
-+// treeWks->header()->setSectionResizeMode(0,QHeaderView::Interactive);
-+ treeWks->header()->setSectionResizeMode(1,QHeaderView::ResizeToContents);
-+// treeWks->header()->setCascadingSectionResizes(true);
-
-
- connect(treeWks, SIGNAL(sigChanged()), SIGNAL(sigChanged()));
-diff --git a/src/gis/IGisItem.cpp b/src/gis/IGisItem.cpp
---- a/src/gis/IGisItem.cpp
-+++ b/src/gis/IGisItem.cpp
-@@ -278,7 +278,7 @@
- }
- }
-
--void IGisItem::removeHtml(QString &str)
-+QString IGisItem::removeHtml(const QString &str)
- {
- QTextDocument html;
- html.setHtml(str);
-@@ -282,5 +282,5 @@
- {
- QTextDocument html;
- html.setHtml(str);
-- str = html.toPlainText();
-+ return html.toPlainText();
- }
diff --git a/.hg/Trashcan/2014-08-10_14-17-09_parent_rev_212_XzwqFK.bak b/.hg/Trashcan/2014-08-10_14-17-09_parent_rev_212_XzwqFK.bak
deleted file mode 100644
index 7ce6b74..0000000
--- a/.hg/Trashcan/2014-08-10_14-17-09_parent_rev_212_XzwqFK.bak
+++ /dev/null
@@ -1,74 +0,0 @@
-diff --git a/src/gis/CGisWidget.cpp b/src/gis/CGisWidget.cpp
---- a/src/gis/CGisWidget.cpp
-+++ b/src/gis/CGisWidget.cpp
-@@ -33,7 +33,9 @@
- pSelf = this;
- setupUi(this);
-
-- treeWks->header()->setSectionResizeMode(0,QHeaderView::ResizeToContents);
-+// treeWks->header()->setSectionResizeMode(0,QHeaderView::Interactive);
-+ treeWks->header()->setSectionResizeMode(1,QHeaderView::ResizeToContents);
-+// treeWks->header()->setCascadingSectionResizes(true);
-
-
- connect(treeWks, SIGNAL(sigChanged()), SIGNAL(sigChanged()));
-diff --git a/src/helpers/IWptIconDialog.ui b/src/helpers/IWptIconDialog.ui
---- a/src/helpers/IWptIconDialog.ui
-+++ b/src/helpers/IWptIconDialog.ui
-@@ -24,16 +24,6 @@
- </property>
- </widget>
- </item>
-- <item>
-- <widget class="QDialogButtonBox" name="buttonBox">
-- <property name="orientation">
-- <enum>Qt::Horizontal</enum>
-- </property>
-- <property name="standardButtons">
-- <set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
-- </property>
-- </widget>
-- </item>
- </layout>
- </widget>
- <resources/>
-@@ -37,38 +27,5 @@
- </layout>
- </widget>
- <resources/>
-- <connections>
-- <connection>
-- <sender>buttonBox</sender>
-- <signal>accepted()</signal>
-- <receiver>IWptIconDialog</receiver>
-- <slot>accept()</slot>
-- <hints>
-- <hint type="sourcelabel">
-- <x>248</x>
-- <y>254</y>
-- </hint>
-- <hint type="destinationlabel">
-- <x>157</x>
-- <y>274</y>
-- </hint>
-- </hints>
-- </connection>
-- <connection>
-- <sender>buttonBox</sender>
-- <signal>rejected()</signal>
-- <receiver>IWptIconDialog</receiver>
-- <slot>reject()</slot>
-- <hints>
-- <hint type="sourcelabel">
-- <x>316</x>
-- <y>260</y>
-- </hint>
-- <hint type="destinationlabel">
-- <x>286</x>
-- <y>274</y>
-- </hint>
-- </hints>
-- </connection>
-- </connections>
-+ <connections/>
- </ui>
diff --git a/.hg/Trashcan/2014-08-10_14-17-09_parent_rev_212_ZQmjwC.bak b/.hg/Trashcan/2014-08-10_14-17-09_parent_rev_212_ZQmjwC.bak
deleted file mode 100644
index 4eac65a..0000000
--- a/.hg/Trashcan/2014-08-10_14-17-09_parent_rev_212_ZQmjwC.bak
+++ /dev/null
@@ -1,145 +0,0 @@
-diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
---- a/src/CMakeLists.txt
-+++ b/src/CMakeLists.txt
-@@ -20,6 +20,7 @@
- helpers/CInputDialog.cpp
- helpers/CPositionDialog.cpp
- helpers/CWptIconDialog.cpp
-+ helpers/CTextEditWidget.cpp
- canvas/CCanvas.cpp
- canvas/CCanvasSetup.cpp
- canvas/IDrawContext.cpp
-@@ -93,6 +94,7 @@
- helpers/CInputDialog.h
- helpers/CPositionDialog.h
- helpers/CWptIconDialog.h
-+ helpers/CTextEditWidget.h
- canvas/CCanvas.h
- canvas/CCanvasSetup.h
- canvas/IDrawContext.h
-@@ -160,6 +162,7 @@
- helpers/IInputDialog.ui
- helpers/IPositionDialog.ui
- helpers/IWptIconDialog.ui
-+ helpers/ITextEditWidget.ui
- canvas/ICanvasSetup.ui
- dem/IDemList.ui
- dem/IDemPathSetup.ui
-diff --git a/src/gis/CGisWidget.cpp b/src/gis/CGisWidget.cpp
---- a/src/gis/CGisWidget.cpp
-+++ b/src/gis/CGisWidget.cpp
-@@ -33,7 +33,9 @@
- pSelf = this;
- setupUi(this);
-
-- treeWks->header()->setSectionResizeMode(0,QHeaderView::ResizeToContents);
-+// treeWks->header()->setSectionResizeMode(0,QHeaderView::Interactive);
-+ treeWks->header()->setSectionResizeMode(1,QHeaderView::ResizeToContents);
-+// treeWks->header()->setCascadingSectionResizes(true);
-
-
- connect(treeWks, SIGNAL(sigChanged()), SIGNAL(sigChanged()));
-diff --git a/src/gis/wpt/CDetailsWpt.h b/src/gis/wpt/CDetailsWpt.h
---- a/src/gis/wpt/CDetailsWpt.h
-+++ b/src/gis/wpt/CDetailsWpt.h
-@@ -34,6 +34,8 @@
- private slots:
- void slotLinkActivated(const QString& link);
- void slotChangeIcon();
-+ void slotChangeCmt();
-+ void slotChangeDesc();
-
- private:
- void setupGui();
-diff --git a/src/gis/wpt/IScrOptWpt.ui b/src/gis/wpt/IScrOptWpt.ui
---- a/src/gis/wpt/IScrOptWpt.ui
-+++ b/src/gis/wpt/IScrOptWpt.ui
-@@ -88,9 +88,15 @@
- </item>
- <item>
- <widget class="QLabel" name="label">
-+ <property name="maximumSize">
-+ <size>
-+ <width>400</width>
-+ <height>16777215</height>
-+ </size>
-+ </property>
- <property name="text">
- <string>TextLabel</string>
- </property>
- <property name="textFormat">
- <enum>Qt::AutoText</enum>
- </property>
-@@ -91,9 +97,12 @@
- <property name="text">
- <string>TextLabel</string>
- </property>
- <property name="textFormat">
- <enum>Qt::AutoText</enum>
- </property>
-+ <property name="wordWrap">
-+ <bool>true</bool>
-+ </property>
- </widget>
- </item>
- </layout>
-diff --git a/src/helpers/IWptIconDialog.ui b/src/helpers/IWptIconDialog.ui
---- a/src/helpers/IWptIconDialog.ui
-+++ b/src/helpers/IWptIconDialog.ui
-@@ -24,16 +24,6 @@
- </property>
- </widget>
- </item>
-- <item>
-- <widget class="QDialogButtonBox" name="buttonBox">
-- <property name="orientation">
-- <enum>Qt::Horizontal</enum>
-- </property>
-- <property name="standardButtons">
-- <set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
-- </property>
-- </widget>
-- </item>
- </layout>
- </widget>
- <resources/>
-@@ -37,38 +27,5 @@
- </layout>
- </widget>
- <resources/>
-- <connections>
-- <connection>
-- <sender>buttonBox</sender>
-- <signal>accepted()</signal>
-- <receiver>IWptIconDialog</receiver>
-- <slot>accept()</slot>
-- <hints>
-- <hint type="sourcelabel">
-- <x>248</x>
-- <y>254</y>
-- </hint>
-- <hint type="destinationlabel">
-- <x>157</x>
-- <y>274</y>
-- </hint>
-- </hints>
-- </connection>
-- <connection>
-- <sender>buttonBox</sender>
-- <signal>rejected()</signal>
-- <receiver>IWptIconDialog</receiver>
-- <slot>reject()</slot>
-- <hints>
-- <hint type="sourcelabel">
-- <x>316</x>
-- <y>260</y>
-- </hint>
-- <hint type="destinationlabel">
-- <x>286</x>
-- <y>274</y>
-- </hint>
-- </hints>
-- </connection>
-- </connections>
-+ <connections/>
- </ui>
diff --git a/.hg/Trashcan/2014-08-10_14-17-09_parent_rev_212__FyHdw.bak b/.hg/Trashcan/2014-08-10_14-17-09_parent_rev_212__FyHdw.bak
deleted file mode 100644
index 6d9a525..0000000
--- a/.hg/Trashcan/2014-08-10_14-17-09_parent_rev_212__FyHdw.bak
+++ /dev/null
@@ -1,227 +0,0 @@
-diff --git a/src/gis/CGisListWks.cpp b/src/gis/CGisListWks.cpp
---- a/src/gis/CGisListWks.cpp
-+++ b/src/gis/CGisListWks.cpp
-@@ -351,6 +351,15 @@
- int y2 = e->pos().y();
- int off = y2 > y1 ? 1 : 0;
-
-+ IGisProject * prj1 = dynamic_cast<IGisProject*>(currentItem());
-+ IGisProject * prj2 = dynamic_cast<IGisProject*>(itemAt(e->pos()));
-+ if(prj1 && prj2)
-+ {
-+ QTreeWidget::dropEvent(e);
-+ emit sigChanged();
-+ return;
-+ }
-+
- CGisItemWpt * wpt1 = dynamic_cast<CGisItemWpt*>(currentItem());
- CGisItemWpt * wpt2 = dynamic_cast<CGisItemWpt*>(itemAt(e->pos()));
-
-@@ -454,7 +463,10 @@
- }
-
- IGisItem * gisItem = dynamic_cast<IGisItem*>(item);
-- project->insertCopyOfItem(gisItem, -1, lastResult);
-+ if(gisItem)
-+ {
-+ project->insertCopyOfItem(gisItem, -1, lastResult);
-+ }
- }
- }
- emit sigChanged();
-diff --git a/src/gis/IGisItem.cpp b/src/gis/IGisItem.cpp
---- a/src/gis/IGisItem.cpp
-+++ b/src/gis/IGisItem.cpp
-@@ -190,7 +190,7 @@
- }
- }
-
--QString IGisItem::getNameEx()
-+QString IGisItem::getNameEx() const
- {
- QString str = getName();
- IGisProject * project = dynamic_cast<IGisProject*>(parent());
-@@ -350,8 +350,8 @@
- }
- }
-
--bool IGisItem::isReadOnly()
-+bool IGisItem::isReadOnly() const
- {
- return !(flags & eFlagWriteAllowed);
- }
-
-@@ -354,8 +354,8 @@
- {
- return !(flags & eFlagWriteAllowed);
- }
-
--bool IGisItem::isTainted()
-+bool IGisItem::isTainted() const
- {
- return (flags & eFlagTainted);
- }
-diff --git a/src/gis/IGisItem.h b/src/gis/IGisItem.h
---- a/src/gis/IGisItem.h
-+++ b/src/gis/IGisItem.h
-@@ -174,7 +174,7 @@
- @brief Get name of this item extended by the project name
- @return A string object.
- */
-- virtual QString getNameEx();
-+ virtual QString getNameEx() const;
-
- /**
- @brief Get a short string with the items properties to be displayed in tool tips or similar
-@@ -198,7 +198,7 @@
-
- @return
- */
-- virtual const QRectF& getBoundingRect(){return boundingRect;}
-+ virtual const QRectF& getBoundingRect() const {return boundingRect;}
-
- /**
- @brief Get screen option object to display and handle actions for this item.
-@@ -226,9 +226,9 @@
- @brief Query if this item is read only
- @return True if it is read only.
- */
-- bool isReadOnly();
-+ bool isReadOnly() const;
-
- /**
- @brief Query if the item is imported and was changed
- @return True if content was changed.
- */
-@@ -230,9 +230,9 @@
-
- /**
- @brief Query if the item is imported and was changed
- @return True if content was changed.
- */
-- bool isTainted();
-+ bool isTainted() const;
- /**
- @brief Set the read only mode.
-
-@@ -255,7 +255,7 @@
-
- @return True if the item has user focus. The default implementation is always false.
- */
-- virtual bool hasUserFocus(){return false;}
-+ virtual bool hasUserFocus() const {return false;}
-
-
- /**
-diff --git a/src/gis/prj/IGisProject.h b/src/gis/prj/IGisProject.h
---- a/src/gis/prj/IGisProject.h
-+++ b/src/gis/prj/IGisProject.h
-@@ -77,4 +77,7 @@
-
- void edit();
-
-+ /**
-+ @brief Save the project using it's native format.
-+ */
- virtual void save() = 0;
-@@ -80,4 +83,7 @@
- virtual void save() = 0;
-+ /**
-+ @brief Save the project selecting one of the available formats.
-+ */
- virtual void saveAs() = 0;
-
- virtual void setFilename(const QString& fn){filename = fn;}
-@@ -81,5 +87,5 @@
- virtual void saveAs() = 0;
-
- virtual void setFilename(const QString& fn){filename = fn;}
-- virtual QString getFilename(){return filename;}
-+ virtual QString getFilename() const {return filename;}
-
-@@ -85,8 +91,8 @@
-
-- type_e getType(){return type;}
-+ type_e getType() const {return type;}
-
- /**
- @brief Get unique project key.
- @return A MD5 hash string
- */
- const QString& getKey(){genKey(); return key;}
-@@ -87,14 +93,14 @@
-
- /**
- @brief Get unique project key.
- @return A MD5 hash string
- */
- const QString& getKey(){genKey(); return key;}
-- const QString& getName(){return metadata.name;}
-- const QDateTime& getTime(){return metadata.time;}
-- const QString& getKeywords(){return metadata.keywords;}
-- const QString& getDescription(){return metadata.desc;}
-- const QList<IGisItem::link_t>& getLinks(){return metadata.links;}
-+ const QString& getName() const {return metadata.name;}
-+ const QDateTime& getTime() const {return metadata.time;}
-+ const QString& getKeywords() const {return metadata.keywords;}
-+ const QString& getDescription() const {return metadata.desc;}
-+ const QList<IGisItem::link_t>& getLinks() const {return metadata.links;}
-
-
- void setName(const QString& str);
-@@ -106,7 +112,7 @@
- @brief Get a short metadata summary
- @return Informational string.
- */
-- virtual QString getInfo();
-+ virtual QString getInfo() const;
- /**
- @brief Get a temporary pointer to the item with matching key
- @param key
-@@ -137,6 +143,18 @@
- */
- void editItemByKey(const IGisItem::key_t &key);
-
-+ /**
-+ @brief Add a copy if the gven item to the project
-+
-+ Befor the item is inserted the method will use it's key to find a duplicat item.
-+ If there is an item with the same item key a copy option dialog is shown. Depending
-+ the result the action is performed or aborted. The result will be copied into
-+ lastResult to repeat the same decision on subsequent items.
-+
-+ @param item pointer to item
-+ @param off the offset into the tree widget, -1 for none
-+ @param lastResult a reference to hold the last result of the copy option dialog
-+ */
- void insertCopyOfItem(IGisItem *item, int off, int &lastResult);
-
- /**
-@@ -146,7 +164,7 @@
-
- @return True if project is valid
- */
-- bool isValid(){return valid;}
-+ bool isValid() const {return valid;}
-
- void drawItem(QPainter& p, const QRectF& viewport, QList<QRectF>& blockedAreas, QSet<QString> &seenKeys, CGisDraw * gis);
- void drawLabel(QPainter& p, const QRectF& viewport, QList<QRectF>& blockedAreas, QSet<QString> &seenKeys, const QFontMetricsF& fm, CGisDraw * gis);
-diff --git a/src/gis/trk/CDetailsTrk.cpp b/src/gis/trk/CDetailsTrk.cpp
---- a/src/gis/trk/CDetailsTrk.cpp
-+++ b/src/gis/trk/CDetailsTrk.cpp
-@@ -344,6 +344,7 @@
- {
- trk.setComment(dlg.getHtml());
- }
-+ setupGui();
- }
- else if(url.toString() == "description")
- {
-@@ -353,6 +354,7 @@
- {
- trk.setDescription(dlg.getHtml());
- }
-+ setupGui();
- }
- else if(url.toString() == "links")
- {
diff --git a/.hg/Trashcan/2014-08-10_14-17-09_parent_rev_212__oamrT.bak b/.hg/Trashcan/2014-08-10_14-17-09_parent_rev_212__oamrT.bak
deleted file mode 100644
index a707975..0000000
--- a/.hg/Trashcan/2014-08-10_14-17-09_parent_rev_212__oamrT.bak
+++ /dev/null
@@ -1,250 +0,0 @@
-diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
---- a/src/CMakeLists.txt
-+++ b/src/CMakeLists.txt
-@@ -20,6 +20,7 @@
- helpers/CInputDialog.cpp
- helpers/CPositionDialog.cpp
- helpers/CWptIconDialog.cpp
-+ helpers/CTextEditWidget.cpp
- canvas/CCanvas.cpp
- canvas/CCanvasSetup.cpp
- canvas/IDrawContext.cpp
-@@ -93,6 +94,7 @@
- helpers/CInputDialog.h
- helpers/CPositionDialog.h
- helpers/CWptIconDialog.h
-+ helpers/CTextEditWidget.h
- canvas/CCanvas.h
- canvas/CCanvasSetup.h
- canvas/IDrawContext.h
-@@ -160,6 +162,7 @@
- helpers/IInputDialog.ui
- helpers/IPositionDialog.ui
- helpers/IWptIconDialog.ui
-+ helpers/ITextEditWidget.ui
- canvas/ICanvasSetup.ui
- dem/IDemList.ui
- dem/IDemPathSetup.ui
-diff --git a/src/gis/CGisListWks.cpp b/src/gis/CGisListWks.cpp
---- a/src/gis/CGisListWks.cpp
-+++ b/src/gis/CGisListWks.cpp
-@@ -39,8 +39,6 @@
- menuItem = new QMenu(this);
- actionEditDetails = menuItem->addAction(QIcon("://icons/32x32/EditDetails.png"),tr("Edit..."), this, SLOT(slotEditItem()));
- actionDelete = menuItem->addAction(QIcon("://icons/48x48/DeleteOne.png"),tr("Delete"), this, SLOT(slotDeleteItem()));
--
-- actionEditDetails->setEnabled(false);
- }
-
- CGisListWks::~CGisListWks()
-@@ -143,7 +141,14 @@
-
- void CGisListWks::slotEditItem()
- {
--
-+ IGisItem::mutexItems.lock();
-+ IGisItem * gisItem = dynamic_cast<IGisItem*>(currentItem());
-+ if(gisItem != 0)
-+ {
-+ QString key = gisItem->getKey();
-+ CGisWidget::self().editItemByKey(key);
-+ }
-+ IGisItem::mutexItems.unlock();
- }
-
- void CGisListWks::slotDeleteItem()
-diff --git a/src/gis/CGisWidget.cpp b/src/gis/CGisWidget.cpp
---- a/src/gis/CGisWidget.cpp
-+++ b/src/gis/CGisWidget.cpp
-@@ -33,7 +33,9 @@
- pSelf = this;
- setupUi(this);
-
-- treeWks->header()->setSectionResizeMode(0,QHeaderView::ResizeToContents);
-+// treeWks->header()->setSectionResizeMode(0,QHeaderView::Interactive);
-+ treeWks->header()->setSectionResizeMode(1,QHeaderView::ResizeToContents);
-+// treeWks->header()->setCascadingSectionResizes(true);
-
-
- connect(treeWks, SIGNAL(sigChanged()), SIGNAL(sigChanged()));
-diff --git a/src/gis/IGisWidget.ui b/src/gis/IGisWidget.ui
---- a/src/gis/IGisWidget.ui
-+++ b/src/gis/IGisWidget.ui
-@@ -43,8 +43,5 @@
- <height>22</height>
- </size>
- </property>
-- <attribute name="headerVisible">
-- <bool>false</bool>
-- </attribute>
- <column>
- <property name="text">
-@@ -49,7 +46,7 @@
- <column>
- <property name="text">
-- <string notr="true">1</string>
-+ <string notr="true">Name</string>
- </property>
- </column>
- <column>
- <property name="text">
-@@ -52,8 +49,8 @@
- </property>
- </column>
- <column>
- <property name="text">
-- <string>2</string>
-+ <string>State</string>
- </property>
- </column>
- </widget>
-diff --git a/src/gis/wpt/CDetailsWpt.cpp b/src/gis/wpt/CDetailsWpt.cpp
---- a/src/gis/wpt/CDetailsWpt.cpp
-+++ b/src/gis/wpt/CDetailsWpt.cpp
-@@ -23,6 +23,7 @@
- #include "helpers/CInputDialog.h"
- #include "helpers/CPositionDialog.h"
- #include "helpers/CWptIconDialog.h"
-+#include "helpers/CTextEditWidget.h"
-
-
- #include <QtWidgets>
-@@ -38,6 +39,8 @@
- connect(labelElevation, SIGNAL(linkActivated(QString)), this, SLOT(slotLinkActivated(QString)));
- connect(labelProximity, SIGNAL(linkActivated(QString)), this, SLOT(slotLinkActivated(QString)));
- connect(toolIcon, SIGNAL(clicked()), this, SLOT(slotChangeIcon()));
-+ connect(toolEditCmt, SIGNAL(clicked()), this, SLOT(slotChangeCmt()));
-+ connect(toolEditDesc, SIGNAL(clicked()), this, SLOT(slotChangeDesc()));
- }
-
- CDetailsWpt::~CDetailsWpt()
-@@ -151,3 +154,25 @@
- setupGui();
- }
- }
-+
-+void CDetailsWpt::slotChangeCmt()
-+{
-+ CTextEditWidget dlg(0);
-+ dlg.setHtml(wpt.getComment());
-+ if(dlg.exec() == QDialog::Accepted)
-+ {
-+ wpt.setComment(dlg.getHtml());
-+ setupGui();
-+ }
-+}
-+
-+void CDetailsWpt::slotChangeDesc()
-+{
-+ CTextEditWidget dlg(0);
-+ dlg.setHtml(wpt.getDescription());
-+ if(dlg.exec() == QDialog::Accepted)
-+ {
-+ wpt.setDescription(dlg.getHtml());
-+ setupGui();
-+ }
-+}
-diff --git a/src/gis/wpt/CDetailsWpt.h b/src/gis/wpt/CDetailsWpt.h
---- a/src/gis/wpt/CDetailsWpt.h
-+++ b/src/gis/wpt/CDetailsWpt.h
-@@ -34,6 +34,8 @@
- private slots:
- void slotLinkActivated(const QString& link);
- void slotChangeIcon();
-+ void slotChangeCmt();
-+ void slotChangeDesc();
-
- private:
- void setupGui();
-diff --git a/src/gis/wpt/IScrOptWpt.ui b/src/gis/wpt/IScrOptWpt.ui
---- a/src/gis/wpt/IScrOptWpt.ui
-+++ b/src/gis/wpt/IScrOptWpt.ui
-@@ -88,9 +88,15 @@
- </item>
- <item>
- <widget class="QLabel" name="label">
-+ <property name="maximumSize">
-+ <size>
-+ <width>400</width>
-+ <height>16777215</height>
-+ </size>
-+ </property>
- <property name="text">
- <string>TextLabel</string>
- </property>
- <property name="textFormat">
- <enum>Qt::AutoText</enum>
- </property>
-@@ -91,9 +97,12 @@
- <property name="text">
- <string>TextLabel</string>
- </property>
- <property name="textFormat">
- <enum>Qt::AutoText</enum>
- </property>
-+ <property name="wordWrap">
-+ <bool>true</bool>
-+ </property>
- </widget>
- </item>
- </layout>
-diff --git a/src/helpers/IWptIconDialog.ui b/src/helpers/IWptIconDialog.ui
---- a/src/helpers/IWptIconDialog.ui
-+++ b/src/helpers/IWptIconDialog.ui
-@@ -24,16 +24,6 @@
- </property>
- </widget>
- </item>
-- <item>
-- <widget class="QDialogButtonBox" name="buttonBox">
-- <property name="orientation">
-- <enum>Qt::Horizontal</enum>
-- </property>
-- <property name="standardButtons">
-- <set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
-- </property>
-- </widget>
-- </item>
- </layout>
- </widget>
- <resources/>
-@@ -37,38 +27,5 @@
- </layout>
- </widget>
- <resources/>
-- <connections>
-- <connection>
-- <sender>buttonBox</sender>
-- <signal>accepted()</signal>
-- <receiver>IWptIconDialog</receiver>
-- <slot>accept()</slot>
-- <hints>
-- <hint type="sourcelabel">
-- <x>248</x>
-- <y>254</y>
-- </hint>
-- <hint type="destinationlabel">
-- <x>157</x>
-- <y>274</y>
-- </hint>
-- </hints>
-- </connection>
-- <connection>
-- <sender>buttonBox</sender>
-- <signal>rejected()</signal>
-- <receiver>IWptIconDialog</receiver>
-- <slot>reject()</slot>
-- <hints>
-- <hint type="sourcelabel">
-- <x>316</x>
-- <y>260</y>
-- </hint>
-- <hint type="destinationlabel">
-- <x>286</x>
-- <y>274</y>
-- </hint>
-- </hints>
-- </connection>
-- </connections>
-+ <connections/>
- </ui>
diff --git a/.hg/Trashcan/2014-08-10_14-17-09_parent_rev_212__xosYF.bak b/.hg/Trashcan/2014-08-10_14-17-09_parent_rev_212__xosYF.bak
deleted file mode 100644
index 25629d8..0000000
--- a/.hg/Trashcan/2014-08-10_14-17-09_parent_rev_212__xosYF.bak
+++ /dev/null
@@ -1,173 +0,0 @@
-diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
---- a/src/CMakeLists.txt
-+++ b/src/CMakeLists.txt
-@@ -20,6 +20,7 @@
- helpers/CInputDialog.cpp
- helpers/CPositionDialog.cpp
- helpers/CWptIconDialog.cpp
-+ helpers/CTextEditWidget.cpp
- canvas/CCanvas.cpp
- canvas/CCanvasSetup.cpp
- canvas/IDrawContext.cpp
-@@ -93,6 +94,7 @@
- helpers/CInputDialog.h
- helpers/CPositionDialog.h
- helpers/CWptIconDialog.h
-+ helpers/CTextEditWidget.h
- canvas/CCanvas.h
- canvas/CCanvasSetup.h
- canvas/IDrawContext.h
-@@ -160,6 +162,7 @@
- helpers/IInputDialog.ui
- helpers/IPositionDialog.ui
- helpers/IWptIconDialog.ui
-+ helpers/ITextEditWidget.ui
- canvas/ICanvasSetup.ui
- dem/IDemList.ui
- dem/IDemPathSetup.ui
-diff --git a/src/gis/CGisListWks.cpp b/src/gis/CGisListWks.cpp
---- a/src/gis/CGisListWks.cpp
-+++ b/src/gis/CGisListWks.cpp
-@@ -39,8 +39,6 @@
- menuItem = new QMenu(this);
- actionEditDetails = menuItem->addAction(QIcon("://icons/32x32/EditDetails.png"),tr("Edit..."), this, SLOT(slotEditItem()));
- actionDelete = menuItem->addAction(QIcon("://icons/48x48/DeleteOne.png"),tr("Delete"), this, SLOT(slotDeleteItem()));
--
-- actionEditDetails->setEnabled(false);
- }
-
- CGisListWks::~CGisListWks()
-@@ -143,7 +141,14 @@
-
- void CGisListWks::slotEditItem()
- {
--
-+ IGisItem::mutexItems.lock();
-+ IGisItem * gisItem = dynamic_cast<IGisItem*>(currentItem());
-+ if(gisItem != 0)
-+ {
-+ QString key = gisItem->getKey();
-+ CGisWidget::self().editItemByKey(key);
-+ }
-+ IGisItem::mutexItems.unlock();
- }
-
- void CGisListWks::slotDeleteItem()
-diff --git a/src/gis/CGisWidget.cpp b/src/gis/CGisWidget.cpp
---- a/src/gis/CGisWidget.cpp
-+++ b/src/gis/CGisWidget.cpp
-@@ -33,7 +33,9 @@
- pSelf = this;
- setupUi(this);
-
-- treeWks->header()->setSectionResizeMode(0,QHeaderView::ResizeToContents);
-+// treeWks->header()->setSectionResizeMode(0,QHeaderView::Interactive);
-+ treeWks->header()->setSectionResizeMode(1,QHeaderView::ResizeToContents);
-+// treeWks->header()->setCascadingSectionResizes(true);
-
-
- connect(treeWks, SIGNAL(sigChanged()), SIGNAL(sigChanged()));
-diff --git a/src/gis/wpt/CDetailsWpt.h b/src/gis/wpt/CDetailsWpt.h
---- a/src/gis/wpt/CDetailsWpt.h
-+++ b/src/gis/wpt/CDetailsWpt.h
-@@ -34,6 +34,8 @@
- private slots:
- void slotLinkActivated(const QString& link);
- void slotChangeIcon();
-+ void slotChangeCmt();
-+ void slotChangeDesc();
-
- private:
- void setupGui();
-diff --git a/src/gis/wpt/IScrOptWpt.ui b/src/gis/wpt/IScrOptWpt.ui
---- a/src/gis/wpt/IScrOptWpt.ui
-+++ b/src/gis/wpt/IScrOptWpt.ui
-@@ -88,9 +88,15 @@
- </item>
- <item>
- <widget class="QLabel" name="label">
-+ <property name="maximumSize">
-+ <size>
-+ <width>400</width>
-+ <height>16777215</height>
-+ </size>
-+ </property>
- <property name="text">
- <string>TextLabel</string>
- </property>
- <property name="textFormat">
- <enum>Qt::AutoText</enum>
- </property>
-@@ -91,9 +97,12 @@
- <property name="text">
- <string>TextLabel</string>
- </property>
- <property name="textFormat">
- <enum>Qt::AutoText</enum>
- </property>
-+ <property name="wordWrap">
-+ <bool>true</bool>
-+ </property>
- </widget>
- </item>
- </layout>
-diff --git a/src/helpers/IWptIconDialog.ui b/src/helpers/IWptIconDialog.ui
---- a/src/helpers/IWptIconDialog.ui
-+++ b/src/helpers/IWptIconDialog.ui
-@@ -24,16 +24,6 @@
- </property>
- </widget>
- </item>
-- <item>
-- <widget class="QDialogButtonBox" name="buttonBox">
-- <property name="orientation">
-- <enum>Qt::Horizontal</enum>
-- </property>
-- <property name="standardButtons">
-- <set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
-- </property>
-- </widget>
-- </item>
- </layout>
- </widget>
- <resources/>
-@@ -37,38 +27,5 @@
- </layout>
- </widget>
- <resources/>
-- <connections>
-- <connection>
-- <sender>buttonBox</sender>
-- <signal>accepted()</signal>
-- <receiver>IWptIconDialog</receiver>
-- <slot>accept()</slot>
-- <hints>
-- <hint type="sourcelabel">
-- <x>248</x>
-- <y>254</y>
-- </hint>
-- <hint type="destinationlabel">
-- <x>157</x>
-- <y>274</y>
-- </hint>
-- </hints>
-- </connection>
-- <connection>
-- <sender>buttonBox</sender>
-- <signal>rejected()</signal>
-- <receiver>IWptIconDialog</receiver>
-- <slot>reject()</slot>
-- <hints>
-- <hint type="sourcelabel">
-- <x>316</x>
-- <y>260</y>
-- </hint>
-- <hint type="destinationlabel">
-- <x>286</x>
-- <y>274</y>
-- </hint>
-- </hints>
-- </connection>
-- </connections>
-+ <connections/>
- </ui>
diff --git a/.hg/Trashcan/2014-08-10_14-17-09_parent_rev_212_aFBa4m.bak b/.hg/Trashcan/2014-08-10_14-17-09_parent_rev_212_aFBa4m.bak
deleted file mode 100644
index fb528b4..0000000
--- a/.hg/Trashcan/2014-08-10_14-17-09_parent_rev_212_aFBa4m.bak
+++ /dev/null
@@ -1,533 +0,0 @@
-diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
---- a/src/CMakeLists.txt
-+++ b/src/CMakeLists.txt
-@@ -20,6 +20,7 @@
- helpers/CInputDialog.cpp
- helpers/CPositionDialog.cpp
- helpers/CWptIconDialog.cpp
-+ helpers/CTextEditWidget.cpp
- canvas/CCanvas.cpp
- canvas/CCanvasSetup.cpp
- canvas/IDrawContext.cpp
-@@ -93,6 +94,7 @@
- helpers/CInputDialog.h
- helpers/CPositionDialog.h
- helpers/CWptIconDialog.h
-+ helpers/CTextEditWidget.h
- canvas/CCanvas.h
- canvas/CCanvasSetup.h
- canvas/IDrawContext.h
-@@ -160,6 +162,7 @@
- helpers/IInputDialog.ui
- helpers/IPositionDialog.ui
- helpers/IWptIconDialog.ui
-+ helpers/ITextEditWidget.ui
- canvas/ICanvasSetup.ui
- dem/IDemList.ui
- dem/IDemPathSetup.ui
-diff --git a/src/gis/CGisListWks.cpp b/src/gis/CGisListWks.cpp
---- a/src/gis/CGisListWks.cpp
-+++ b/src/gis/CGisListWks.cpp
-@@ -39,8 +39,6 @@
- menuItem = new QMenu(this);
- actionEditDetails = menuItem->addAction(QIcon("://icons/32x32/EditDetails.png"),tr("Edit..."), this, SLOT(slotEditItem()));
- actionDelete = menuItem->addAction(QIcon("://icons/48x48/DeleteOne.png"),tr("Delete"), this, SLOT(slotDeleteItem()));
--
-- actionEditDetails->setEnabled(false);
- }
-
- CGisListWks::~CGisListWks()
-@@ -143,7 +141,14 @@
-
- void CGisListWks::slotEditItem()
- {
--
-+ IGisItem::mutexItems.lock();
-+ IGisItem * gisItem = dynamic_cast<IGisItem*>(currentItem());
-+ if(gisItem != 0)
-+ {
-+ QString key = gisItem->getKey();
-+ CGisWidget::self().editItemByKey(key);
-+ }
-+ IGisItem::mutexItems.unlock();
- }
-
- void CGisListWks::slotDeleteItem()
-diff --git a/src/gis/CGisWidget.cpp b/src/gis/CGisWidget.cpp
---- a/src/gis/CGisWidget.cpp
-+++ b/src/gis/CGisWidget.cpp
-@@ -33,7 +33,9 @@
- pSelf = this;
- setupUi(this);
-
-- treeWks->header()->setSectionResizeMode(0,QHeaderView::ResizeToContents);
-+// treeWks->header()->setSectionResizeMode(0,QHeaderView::Interactive);
-+ treeWks->header()->setSectionResizeMode(1,QHeaderView::ResizeToContents);
-+// treeWks->header()->setCascadingSectionResizes(true);
-
-
- connect(treeWks, SIGNAL(sigChanged()), SIGNAL(sigChanged()));
-diff --git a/src/gis/IGisItem.cpp b/src/gis/IGisItem.cpp
---- a/src/gis/IGisItem.cpp
-+++ b/src/gis/IGisItem.cpp
-@@ -278,7 +278,7 @@
- }
- }
-
--void IGisItem::removeHtml(QString &str)
-+QString IGisItem::removeHtml(const QString &str)
- {
- QTextDocument html;
- html.setHtml(str);
-@@ -282,5 +282,5 @@
- {
- QTextDocument html;
- html.setHtml(str);
-- str = html.toPlainText();
-+ return html.toPlainText();
- }
-diff --git a/src/gis/IGisItem.h b/src/gis/IGisItem.h
---- a/src/gis/IGisItem.h
-+++ b/src/gis/IGisItem.h
-@@ -115,6 +115,8 @@
-
- virtual void edit(){}
-
-+ static QString removeHtml(const QString &str);
-+
- protected:
- friend class CGisProject;
- struct wpt_t;
-@@ -125,7 +127,7 @@
- QString color2str(const QColor &color);
- void splitLineToViewport(const QPolygonF& line, const QRectF& extViewport, QList<QPolygonF>& lines);
- void drawArrows(const QPolygonF &line, const QRectF &extViewport, QPainter& p);
-- void removeHtml(QString &str);
-+
-
-
- struct color_t
-diff --git a/src/gis/IGisWidget.ui b/src/gis/IGisWidget.ui
---- a/src/gis/IGisWidget.ui
-+++ b/src/gis/IGisWidget.ui
-@@ -43,8 +43,5 @@
- <height>22</height>
- </size>
- </property>
-- <attribute name="headerVisible">
-- <bool>false</bool>
-- </attribute>
- <column>
- <property name="text">
-@@ -49,7 +46,7 @@
- <column>
- <property name="text">
-- <string notr="true">1</string>
-+ <string notr="true">Name</string>
- </property>
- </column>
- <column>
- <property name="text">
-@@ -52,8 +49,8 @@
- </property>
- </column>
- <column>
- <property name="text">
-- <string>2</string>
-+ <string>State</string>
- </property>
- </column>
- </widget>
-diff --git a/src/gis/wpt/CDetailsWpt.cpp b/src/gis/wpt/CDetailsWpt.cpp
---- a/src/gis/wpt/CDetailsWpt.cpp
-+++ b/src/gis/wpt/CDetailsWpt.cpp
-@@ -23,6 +23,7 @@
- #include "helpers/CInputDialog.h"
- #include "helpers/CPositionDialog.h"
- #include "helpers/CWptIconDialog.h"
-+#include "helpers/CTextEditWidget.h"
-
-
- #include <QtWidgets>
-@@ -38,6 +39,8 @@
- connect(labelElevation, SIGNAL(linkActivated(QString)), this, SLOT(slotLinkActivated(QString)));
- connect(labelProximity, SIGNAL(linkActivated(QString)), this, SLOT(slotLinkActivated(QString)));
- connect(toolIcon, SIGNAL(clicked()), this, SLOT(slotChangeIcon()));
-+ connect(toolEditCmt, SIGNAL(clicked()), this, SLOT(slotChangeCmt()));
-+ connect(toolEditDesc, SIGNAL(clicked()), this, SLOT(slotChangeDesc()));
- }
-
- CDetailsWpt::~CDetailsWpt()
-@@ -151,3 +154,25 @@
- setupGui();
- }
- }
-+
-+void CDetailsWpt::slotChangeCmt()
-+{
-+ CTextEditWidget dlg(0);
-+ dlg.setHtml(wpt.getComment());
-+ if(dlg.exec() == QDialog::Accepted)
-+ {
-+ wpt.setComment(dlg.getHtml());
-+ setupGui();
-+ }
-+}
-+
-+void CDetailsWpt::slotChangeDesc()
-+{
-+ CTextEditWidget dlg(0);
-+ dlg.setHtml(wpt.getDescription());
-+ if(dlg.exec() == QDialog::Accepted)
-+ {
-+ wpt.setDescription(dlg.getHtml());
-+ setupGui();
-+ }
-+}
-diff --git a/src/gis/wpt/CDetailsWpt.h b/src/gis/wpt/CDetailsWpt.h
---- a/src/gis/wpt/CDetailsWpt.h
-+++ b/src/gis/wpt/CDetailsWpt.h
-@@ -34,6 +34,8 @@
- private slots:
- void slotLinkActivated(const QString& link);
- void slotChangeIcon();
-+ void slotChangeCmt();
-+ void slotChangeDesc();
-
- private:
- void setupGui();
-diff --git a/src/gis/wpt/CGisItemWpt.cpp b/src/gis/wpt/CGisItemWpt.cpp
---- a/src/gis/wpt/CGisItemWpt.cpp
-+++ b/src/gis/wpt/CGisItemWpt.cpp
-@@ -18,8 +18,9 @@
-
- #include "gis/wpt/CGisItemWpt.h"
- #include "gis/wpt/CDetailsWpt.h"
-+#include "gis/wpt/CScrOptWpt.h"
- #include "gis/CGisProject.h"
- #include "gis/CGisDraw.h"
- #include "gis/WptIcons.h"
- #include "canvas/CCanvas.h"
- #include "mouse/IMouse.h"
-@@ -21,9 +22,8 @@
- #include "gis/CGisProject.h"
- #include "gis/CGisDraw.h"
- #include "gis/WptIcons.h"
- #include "canvas/CCanvas.h"
- #include "mouse/IMouse.h"
--#include "gis/wpt/CScrOptWpt.h"
- #include "units/IUnit.h"
- #include "GeoMath.h"
-
-@@ -88,7 +88,7 @@
-
- QString CGisItemWpt::getInfo()
- {
-- QString str = getName();
-+ QString str = "<p>" + getName() + "</p>";
-
- if(geocache.hasData)
- {
-@@ -97,10 +97,10 @@
-
- if(wpt.time.isValid())
- {
-- if(!str.isEmpty()) str += "\n";
-+ if(!str.isEmpty()) str += "<br/>\n";
-
- str += IUnit::datetime2string(wpt.time, QPointF(wpt.lon*DEG_TO_RAD, wpt.lat*DEG_TO_RAD));
- }
-
- if(wpt.ele != NOINT)
- {
-@@ -101,10 +101,10 @@
-
- str += IUnit::datetime2string(wpt.time, QPointF(wpt.lon*DEG_TO_RAD, wpt.lat*DEG_TO_RAD));
- }
-
- if(wpt.ele != NOINT)
- {
-- if(!str.isEmpty()) str += "\n";
-+ if(!str.isEmpty()) str += "<br/>\n";
- QString val, unit;
- IUnit::self().meter2elevation(wpt.ele, val, unit);
- str += QObject::tr("Elevation: %1 %2").arg(val).arg(unit);
-@@ -112,9 +112,9 @@
-
- if(proximity != NOFLOAT)
- {
-- if(!str.isEmpty()) str += "\n";
-+ if(!str.isEmpty()) str += "<br/>\n";
- QString val, unit;
- IUnit::self().meter2distance(proximity, val, unit);
- str += QObject::tr("Proximity: %1 %2").arg(val).arg(unit);
- }
-
-@@ -116,7 +116,8 @@
- QString val, unit;
- IUnit::self().meter2distance(proximity, val, unit);
- str += QObject::tr("Proximity: %1 %2").arg(val).arg(unit);
- }
-
-- if(wpt.desc.count())
-+ QString desc = removeHtml(wpt.desc);
-+ if(desc.count())
- {
-@@ -122,3 +123,3 @@
- {
-- if(!str.isEmpty()) str += "\n";
-+ if(!str.isEmpty()) str += "<br/>\n";
-
-@@ -124,3 +125,3 @@
-
-- if(wpt.desc.count() < 200)
-+ if(desc.count() < 200)
- {
-@@ -126,5 +127,5 @@
- {
-- str += wpt.desc;
-+ str += desc;
- }
- else
- {
-@@ -128,8 +129,8 @@
- }
- else
- {
-- str += wpt.desc.left(197) + "...";
-+ str += desc.left(197) + "...";
- }
- }
- else
- {
-@@ -132,7 +133,7 @@
- }
- }
- else
- {
-- QString cmt = wpt.cmt;
-+ QString cmt = removeHtml(wpt.cmt);
- if(cmt.count())
- {
-@@ -137,6 +138,6 @@
- if(cmt.count())
- {
-- if(!str.isEmpty()) str += "\n";
-+ if(!str.isEmpty()) str += "<br/>\n";
-
- if(cmt.count() < 200)
- {
-@@ -148,6 +149,9 @@
- }
- }
- }
-+
-+ qDebug() << "-----------------------";
-+ qDebug() << str;
- return str;
- }
-
-@@ -207,6 +211,20 @@
- setIcon();
- }
-
-+void CGisItemWpt::setComment(const QString& str)
-+{
-+ setText(1,"*");
-+ wpt.cmt = str;
-+ setToolTip(0,getInfo());
-+}
-+
-+void CGisItemWpt::setDescription(const QString& str)
-+{
-+ setText(1,"*");
-+ wpt.desc = str;
-+ setToolTip(0,getInfo());
-+}
-+
- void CGisItemWpt::save(QDomNode& gpx)
- {
- QDomDocument doc = gpx.ownerDocument();
-diff --git a/src/gis/wpt/CGisItemWpt.h b/src/gis/wpt/CGisItemWpt.h
---- a/src/gis/wpt/CGisItemWpt.h
-+++ b/src/gis/wpt/CGisItemWpt.h
-@@ -35,6 +35,8 @@
- void setElevation(qint32 val);
- void setProximity(qreal val);
- void setIcon(const QString& name);
-+ void setComment(const QString& str);
-+ void setDescription(const QString& str);
-
- const QString& getName(){return wpt.name;}
- QString getInfo();
-diff --git a/src/gis/wpt/CScrOptWpt.cpp b/src/gis/wpt/CScrOptWpt.cpp
---- a/src/gis/wpt/CScrOptWpt.cpp
-+++ b/src/gis/wpt/CScrOptWpt.cpp
-@@ -33,7 +33,7 @@
- setupUi(this);
- setOrigin(origin);
- label->setFont(CMainWindow::self().getMapFont());
-- label->setText(wpt->getInfo());
-+ label->setText(IGisItem::removeHtml(wpt->getInfo()));
-
- anchor = wpt->getPointCloseBy(origin);
- move(anchor.toPoint() + QPoint(30,30));
-diff --git a/src/gis/wpt/IScrOptWpt.ui b/src/gis/wpt/IScrOptWpt.ui
---- a/src/gis/wpt/IScrOptWpt.ui
-+++ b/src/gis/wpt/IScrOptWpt.ui
-@@ -88,9 +88,15 @@
- </item>
- <item>
- <widget class="QLabel" name="label">
-+ <property name="maximumSize">
-+ <size>
-+ <width>400</width>
-+ <height>16777215</height>
-+ </size>
-+ </property>
- <property name="text">
- <string>TextLabel</string>
- </property>
- <property name="textFormat">
- <enum>Qt::AutoText</enum>
- </property>
-@@ -91,9 +97,12 @@
- <property name="text">
- <string>TextLabel</string>
- </property>
- <property name="textFormat">
- <enum>Qt::AutoText</enum>
- </property>
-+ <property name="wordWrap">
-+ <bool>true</bool>
-+ </property>
- </widget>
- </item>
- </layout>
-diff --git a/src/helpers/IWptIconDialog.ui b/src/helpers/IWptIconDialog.ui
---- a/src/helpers/IWptIconDialog.ui
-+++ b/src/helpers/IWptIconDialog.ui
-@@ -24,16 +24,6 @@
- </property>
- </widget>
- </item>
-- <item>
-- <widget class="QDialogButtonBox" name="buttonBox">
-- <property name="orientation">
-- <enum>Qt::Horizontal</enum>
-- </property>
-- <property name="standardButtons">
-- <set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
-- </property>
-- </widget>
-- </item>
- </layout>
- </widget>
- <resources/>
-@@ -37,38 +27,5 @@
- </layout>
- </widget>
- <resources/>
-- <connections>
-- <connection>
-- <sender>buttonBox</sender>
-- <signal>accepted()</signal>
-- <receiver>IWptIconDialog</receiver>
-- <slot>accept()</slot>
-- <hints>
-- <hint type="sourcelabel">
-- <x>248</x>
-- <y>254</y>
-- </hint>
-- <hint type="destinationlabel">
-- <x>157</x>
-- <y>274</y>
-- </hint>
-- </hints>
-- </connection>
-- <connection>
-- <sender>buttonBox</sender>
-- <signal>rejected()</signal>
-- <receiver>IWptIconDialog</receiver>
-- <slot>reject()</slot>
-- <hints>
-- <hint type="sourcelabel">
-- <x>316</x>
-- <y>260</y>
-- </hint>
-- <hint type="destinationlabel">
-- <x>286</x>
-- <y>274</y>
-- </hint>
-- </hints>
-- </connection>
-- </connections>
-+ <connections/>
- </ui>
-diff --git a/src/resources.qrc b/src/resources.qrc
---- a/src/resources.qrc
-+++ b/src/resources.qrc
-@@ -68,6 +68,19 @@
- <file>icons/16x16/EditDetails.png</file>
- <file>icons/16x16/EditText.png</file>
- <file>icons/16x16/TimeZoneSetup.png</file>
-+ <file>icons/16x16/Undo.png</file>
-+ <file>icons/16x16/Redo.png</file>
-+ <file>icons/16x16/Cut.png</file>
-+ <file>icons/16x16/Copy.png</file>
-+ <file>icons/16x16/Paste.png</file>
-+ <file>icons/16x16/TextLeft.png</file>
-+ <file>icons/16x16/TextRight.png</file>
-+ <file>icons/16x16/TextCenter.png</file>
-+ <file>icons/16x16/TextJustified.png</file>
-+ <file>icons/16x16/TextBold.png</file>
-+ <file>icons/16x16/TextUnderlined.png</file>
-+ <file>icons/16x16/TextItalic.png</file>
-+
- <file>icons/32x32/2DFix.png</file>
- <file>icons/32x32/3DFix.png</file>
- <file>icons/32x32/Add.png</file>
-@@ -118,6 +131,21 @@
- <file>icons/32x32/EditDetails.png</file>
- <file>icons/32x32/EditText.png</file>
- <file>icons/32x32/TimeZoneSetup.png</file>
-+ <file>icons/32x32/Undo.png</file>
-+ <file>icons/32x32/Redo.png</file>
-+ <file>icons/32x32/Cut.png</file>
-+ <file>icons/32x32/Copy.png</file>
-+ <file>icons/32x32/Paste.png</file>
-+ <file>icons/32x32/TextLeft.png</file>
-+ <file>icons/32x32/TextRight.png</file>
-+ <file>icons/32x32/TextCenter.png</file>
-+ <file>icons/32x32/TextJustified.png</file>
-+ <file>icons/32x32/TextBold.png</file>
-+ <file>icons/32x32/TextUnderlined.png</file>
-+ <file>icons/32x32/TextItalic.png</file>
-+
-+
-+
- <file>icons/48x48/2DFix.png</file>
- <file>icons/48x48/3DFix.png</file>
- <file>icons/48x48/Add.png</file>
-@@ -168,6 +196,21 @@
- <file>icons/48x48/EditDetails.png</file>
- <file>icons/48x48/EditText.png</file>
- <file>icons/48x48/TimeZoneSetup.png</file>
-+ <file>icons/48x48/Undo.png</file>
-+ <file>icons/48x48/Redo.png</file>
-+ <file>icons/48x48/Cut.png</file>
-+ <file>icons/48x48/Copy.png</file>
-+ <file>icons/48x48/Paste.png</file>
-+ <file>icons/48x48/TextLeft.png</file>
-+ <file>icons/48x48/TextRight.png</file>
-+ <file>icons/48x48/TextCenter.png</file>
-+ <file>icons/48x48/TextJustified.png</file>
-+ <file>icons/48x48/TextBold.png</file>
-+ <file>icons/48x48/TextUnderlined.png</file>
-+ <file>icons/48x48/TextItalic.png</file>
-+
-+
-+
- <file>icons/cache/32x32/bluepin.png</file>
- <file>icons/cache/32x32/cito.png</file>
- <file>icons/cache/32x32/corrected.png</file>
diff --git a/.hg/Trashcan/2014-08-10_14-17-09_parent_rev_212_c8KLTi.bak b/.hg/Trashcan/2014-08-10_14-17-09_parent_rev_212_c8KLTi.bak
deleted file mode 100644
index e4effa9..0000000
--- a/.hg/Trashcan/2014-08-10_14-17-09_parent_rev_212_c8KLTi.bak
+++ /dev/null
@@ -1,31 +0,0 @@
-diff --git a/src/gis/CGisListWks.cpp b/src/gis/CGisListWks.cpp
---- a/src/gis/CGisListWks.cpp
-+++ b/src/gis/CGisListWks.cpp
-@@ -351,6 +351,15 @@
- int y2 = e->pos().y();
- int off = y2 > y1 ? 1 : 0;
-
-+ IGisProject * prj1 = dynamic_cast<IGisProject*>(currentItem());
-+ IGisProject * prj2 = dynamic_cast<IGisProject*>(itemAt(e->pos()));
-+ if(prj1 && prj2)
-+ {
-+ QTreeWidget::dropEvent(e);
-+ emit sigChanged();
-+ return;
-+ }
-+
- CGisItemWpt * wpt1 = dynamic_cast<CGisItemWpt*>(currentItem());
- CGisItemWpt * wpt2 = dynamic_cast<CGisItemWpt*>(itemAt(e->pos()));
-
-@@ -454,7 +463,10 @@
- }
-
- IGisItem * gisItem = dynamic_cast<IGisItem*>(item);
-- project->insertCopyOfItem(gisItem, -1, lastResult);
-+ if(gisItem)
-+ {
-+ project->insertCopyOfItem(gisItem, -1, lastResult);
-+ }
- }
- }
- emit sigChanged();
diff --git a/.hg/Trashcan/2014-08-10_14-17-09_parent_rev_212_cFEYOV.bak b/.hg/Trashcan/2014-08-10_14-17-09_parent_rev_212_cFEYOV.bak
deleted file mode 100644
index 1374e0d..0000000
--- a/.hg/Trashcan/2014-08-10_14-17-09_parent_rev_212_cFEYOV.bak
+++ /dev/null
@@ -1,113 +0,0 @@
-diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
---- a/src/CMakeLists.txt
-+++ b/src/CMakeLists.txt
-@@ -20,6 +20,7 @@
- helpers/CInputDialog.cpp
- helpers/CPositionDialog.cpp
- helpers/CWptIconDialog.cpp
-+ helpers/CTextEditWidget.cpp
- canvas/CCanvas.cpp
- canvas/CCanvasSetup.cpp
- canvas/IDrawContext.cpp
-@@ -93,6 +94,7 @@
- helpers/CInputDialog.h
- helpers/CPositionDialog.h
- helpers/CWptIconDialog.h
-+ helpers/CTextEditWidget.h
- canvas/CCanvas.h
- canvas/CCanvasSetup.h
- canvas/IDrawContext.h
-@@ -160,6 +162,7 @@
- helpers/IInputDialog.ui
- helpers/IPositionDialog.ui
- helpers/IWptIconDialog.ui
-+ helpers/ITextEditWidget.ui
- canvas/ICanvasSetup.ui
- dem/IDemList.ui
- dem/IDemPathSetup.ui
-diff --git a/src/gis/CGisWidget.cpp b/src/gis/CGisWidget.cpp
---- a/src/gis/CGisWidget.cpp
-+++ b/src/gis/CGisWidget.cpp
-@@ -33,7 +33,9 @@
- pSelf = this;
- setupUi(this);
-
-- treeWks->header()->setSectionResizeMode(0,QHeaderView::ResizeToContents);
-+// treeWks->header()->setSectionResizeMode(0,QHeaderView::Interactive);
-+ treeWks->header()->setSectionResizeMode(1,QHeaderView::ResizeToContents);
-+// treeWks->header()->setCascadingSectionResizes(true);
-
-
- connect(treeWks, SIGNAL(sigChanged()), SIGNAL(sigChanged()));
-diff --git a/src/gis/wpt/CDetailsWpt.h b/src/gis/wpt/CDetailsWpt.h
---- a/src/gis/wpt/CDetailsWpt.h
-+++ b/src/gis/wpt/CDetailsWpt.h
-@@ -34,6 +34,8 @@
- private slots:
- void slotLinkActivated(const QString& link);
- void slotChangeIcon();
-+ void slotChangeCmt();
-+ void slotChangeDesc();
-
- private:
- void setupGui();
-diff --git a/src/helpers/IWptIconDialog.ui b/src/helpers/IWptIconDialog.ui
---- a/src/helpers/IWptIconDialog.ui
-+++ b/src/helpers/IWptIconDialog.ui
-@@ -24,16 +24,6 @@
- </property>
- </widget>
- </item>
-- <item>
-- <widget class="QDialogButtonBox" name="buttonBox">
-- <property name="orientation">
-- <enum>Qt::Horizontal</enum>
-- </property>
-- <property name="standardButtons">
-- <set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
-- </property>
-- </widget>
-- </item>
- </layout>
- </widget>
- <resources/>
-@@ -37,38 +27,5 @@
- </layout>
- </widget>
- <resources/>
-- <connections>
-- <connection>
-- <sender>buttonBox</sender>
-- <signal>accepted()</signal>
-- <receiver>IWptIconDialog</receiver>
-- <slot>accept()</slot>
-- <hints>
-- <hint type="sourcelabel">
-- <x>248</x>
-- <y>254</y>
-- </hint>
-- <hint type="destinationlabel">
-- <x>157</x>
-- <y>274</y>
-- </hint>
-- </hints>
-- </connection>
-- <connection>
-- <sender>buttonBox</sender>
-- <signal>rejected()</signal>
-- <receiver>IWptIconDialog</receiver>
-- <slot>reject()</slot>
-- <hints>
-- <hint type="sourcelabel">
-- <x>316</x>
-- <y>260</y>
-- </hint>
-- <hint type="destinationlabel">
-- <x>286</x>
-- <y>274</y>
-- </hint>
-- </hints>
-- </connection>
-- </connections>
-+ <connections/>
- </ui>
diff --git a/.hg/Trashcan/2014-08-10_14-17-09_parent_rev_212_dQbVnU.bak b/.hg/Trashcan/2014-08-10_14-17-09_parent_rev_212_dQbVnU.bak
deleted file mode 100644
index 57109e9..0000000
--- a/.hg/Trashcan/2014-08-10_14-17-09_parent_rev_212_dQbVnU.bak
+++ /dev/null
@@ -1,127 +0,0 @@
-diff --git a/src/gis/CGisListWks.cpp b/src/gis/CGisListWks.cpp
---- a/src/gis/CGisListWks.cpp
-+++ b/src/gis/CGisListWks.cpp
-@@ -351,6 +351,15 @@
- int y2 = e->pos().y();
- int off = y2 > y1 ? 1 : 0;
-
-+ IGisProject * prj1 = dynamic_cast<IGisProject*>(currentItem());
-+ IGisProject * prj2 = dynamic_cast<IGisProject*>(itemAt(e->pos()));
-+ if(prj1 && prj2)
-+ {
-+ QTreeWidget::dropEvent(e);
-+ emit sigChanged();
-+ return;
-+ }
-+
- CGisItemWpt * wpt1 = dynamic_cast<CGisItemWpt*>(currentItem());
- CGisItemWpt * wpt2 = dynamic_cast<CGisItemWpt*>(itemAt(e->pos()));
-
-@@ -454,7 +463,10 @@
- }
-
- IGisItem * gisItem = dynamic_cast<IGisItem*>(item);
-- project->insertCopyOfItem(gisItem, -1, lastResult);
-+ if(gisItem)
-+ {
-+ project->insertCopyOfItem(gisItem, -1, lastResult);
-+ }
- }
- }
- emit sigChanged();
-diff --git a/src/gis/IGisItem.cpp b/src/gis/IGisItem.cpp
---- a/src/gis/IGisItem.cpp
-+++ b/src/gis/IGisItem.cpp
-@@ -190,7 +190,7 @@
- }
- }
-
--QString IGisItem::getNameEx()
-+QString IGisItem::getNameEx() const
- {
- QString str = getName();
- IGisProject * project = dynamic_cast<IGisProject*>(parent());
-@@ -350,8 +350,8 @@
- }
- }
-
--bool IGisItem::isReadOnly()
-+bool IGisItem::isReadOnly() const
- {
- return !(flags & eFlagWriteAllowed);
- }
-
-@@ -354,8 +354,8 @@
- {
- return !(flags & eFlagWriteAllowed);
- }
-
--bool IGisItem::isTainted()
-+bool IGisItem::isTainted() const
- {
- return (flags & eFlagTainted);
- }
-diff --git a/src/gis/IGisItem.h b/src/gis/IGisItem.h
---- a/src/gis/IGisItem.h
-+++ b/src/gis/IGisItem.h
-@@ -174,7 +174,7 @@
- @brief Get name of this item extended by the project name
- @return A string object.
- */
-- virtual QString getNameEx();
-+ virtual QString getNameEx() const;
-
- /**
- @brief Get a short string with the items properties to be displayed in tool tips or similar
-@@ -198,7 +198,7 @@
-
- @return
- */
-- virtual const QRectF& getBoundingRect(){return boundingRect;}
-+ virtual const QRectF& getBoundingRect() const {return boundingRect;}
-
- /**
- @brief Get screen option object to display and handle actions for this item.
-@@ -226,9 +226,9 @@
- @brief Query if this item is read only
- @return True if it is read only.
- */
-- bool isReadOnly();
-+ bool isReadOnly() const;
-
- /**
- @brief Query if the item is imported and was changed
- @return True if content was changed.
- */
-@@ -230,9 +230,9 @@
-
- /**
- @brief Query if the item is imported and was changed
- @return True if content was changed.
- */
-- bool isTainted();
-+ bool isTainted() const;
- /**
- @brief Set the read only mode.
-
-@@ -255,7 +255,7 @@
-
- @return True if the item has user focus. The default implementation is always false.
- */
-- virtual bool hasUserFocus(){return false;}
-+ virtual bool hasUserFocus() const {return false;}
-
-
- /**
-diff --git a/src/gis/prj/IGisProject.cpp b/src/gis/prj/IGisProject.cpp
---- a/src/gis/prj/IGisProject.cpp
-+++ b/src/gis/prj/IGisProject.cpp
-@@ -136,7 +136,7 @@
- }
- }
-
--QString IGisProject::getInfo()
-+QString IGisProject::getInfo() const
- {
- QString str = metadata.name.isEmpty() ? text(CGisListWks::eColumnName) : metadata.name;
- str = "<div style='font-weight: bold;'>" + str + "</div>";
diff --git a/.hg/Trashcan/2014-08-10_14-17-09_parent_rev_212_dXCOib.bak b/.hg/Trashcan/2014-08-10_14-17-09_parent_rev_212_dXCOib.bak
deleted file mode 100644
index aa5723b..0000000
--- a/.hg/Trashcan/2014-08-10_14-17-09_parent_rev_212_dXCOib.bak
+++ /dev/null
@@ -1,140 +0,0 @@
-diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
---- a/src/CMakeLists.txt
-+++ b/src/CMakeLists.txt
-@@ -20,6 +20,7 @@
- helpers/CInputDialog.cpp
- helpers/CPositionDialog.cpp
- helpers/CWptIconDialog.cpp
-+ helpers/CTextEditWidget.cpp
- canvas/CCanvas.cpp
- canvas/CCanvasSetup.cpp
- canvas/IDrawContext.cpp
-@@ -93,6 +94,7 @@
- helpers/CInputDialog.h
- helpers/CPositionDialog.h
- helpers/CWptIconDialog.h
-+ helpers/CTextEditWidget.h
- canvas/CCanvas.h
- canvas/CCanvasSetup.h
- canvas/IDrawContext.h
-@@ -160,6 +162,7 @@
- helpers/IInputDialog.ui
- helpers/IPositionDialog.ui
- helpers/IWptIconDialog.ui
-+ helpers/ITextEditWidget.ui
- canvas/ICanvasSetup.ui
- dem/IDemList.ui
- dem/IDemPathSetup.ui
-diff --git a/src/gis/CGisListWks.cpp b/src/gis/CGisListWks.cpp
---- a/src/gis/CGisListWks.cpp
-+++ b/src/gis/CGisListWks.cpp
-@@ -39,8 +39,6 @@
- menuItem = new QMenu(this);
- actionEditDetails = menuItem->addAction(QIcon("://icons/32x32/EditDetails.png"),tr("Edit..."), this, SLOT(slotEditItem()));
- actionDelete = menuItem->addAction(QIcon("://icons/48x48/DeleteOne.png"),tr("Delete"), this, SLOT(slotDeleteItem()));
--
-- actionEditDetails->setEnabled(false);
- }
-
- CGisListWks::~CGisListWks()
-@@ -143,7 +141,14 @@
-
- void CGisListWks::slotEditItem()
- {
--
-+ IGisItem::mutexItems.lock();
-+ IGisItem * gisItem = dynamic_cast<IGisItem*>(currentItem());
-+ if(gisItem != 0)
-+ {
-+ QString key = gisItem->getKey();
-+ CGisWidget::self().editItemByKey(key);
-+ }
-+ IGisItem::mutexItems.unlock();
- }
-
- void CGisListWks::slotDeleteItem()
-diff --git a/src/gis/CGisWidget.cpp b/src/gis/CGisWidget.cpp
---- a/src/gis/CGisWidget.cpp
-+++ b/src/gis/CGisWidget.cpp
-@@ -33,7 +33,9 @@
- pSelf = this;
- setupUi(this);
-
-- treeWks->header()->setSectionResizeMode(0,QHeaderView::ResizeToContents);
-+// treeWks->header()->setSectionResizeMode(0,QHeaderView::Interactive);
-+ treeWks->header()->setSectionResizeMode(1,QHeaderView::ResizeToContents);
-+// treeWks->header()->setCascadingSectionResizes(true);
-
-
- connect(treeWks, SIGNAL(sigChanged()), SIGNAL(sigChanged()));
-diff --git a/src/gis/IGisItem.cpp b/src/gis/IGisItem.cpp
---- a/src/gis/IGisItem.cpp
-+++ b/src/gis/IGisItem.cpp
-@@ -278,7 +278,7 @@
- }
- }
-
--void IGisItem::removeHtml(QString &str)
-+QString IGisItem::removeHtml(const QString &str)
- {
- QTextDocument html;
- html.setHtml(str);
-@@ -282,5 +282,5 @@
- {
- QTextDocument html;
- html.setHtml(str);
-- str = html.toPlainText();
-+ return html.toPlainText();
- }
-diff --git a/src/gis/IGisItem.h b/src/gis/IGisItem.h
---- a/src/gis/IGisItem.h
-+++ b/src/gis/IGisItem.h
-@@ -115,6 +115,8 @@
-
- virtual void edit(){}
-
-+ static QString removeHtml(const QString &str);
-+
- protected:
- friend class CGisProject;
- struct wpt_t;
-@@ -125,7 +127,7 @@
- QString color2str(const QColor &color);
- void splitLineToViewport(const QPolygonF& line, const QRectF& extViewport, QList<QPolygonF>& lines);
- void drawArrows(const QPolygonF &line, const QRectF &extViewport, QPainter& p);
-- void removeHtml(QString &str);
-+
-
-
- struct color_t
-diff --git a/src/gis/IGisWidget.ui b/src/gis/IGisWidget.ui
---- a/src/gis/IGisWidget.ui
-+++ b/src/gis/IGisWidget.ui
-@@ -43,8 +43,5 @@
- <height>22</height>
- </size>
- </property>
-- <attribute name="headerVisible">
-- <bool>false</bool>
-- </attribute>
- <column>
- <property name="text">
-@@ -49,7 +46,7 @@
- <column>
- <property name="text">
-- <string notr="true">1</string>
-+ <string notr="true">Name</string>
- </property>
- </column>
- <column>
- <property name="text">
-@@ -52,8 +49,8 @@
- </property>
- </column>
- <column>
- <property name="text">
-- <string>2</string>
-+ <string>State</string>
- </property>
- </column>
- </widget>
diff --git a/.hg/Trashcan/2014-08-10_14-17-09_parent_rev_212_gPbjzI.bak b/.hg/Trashcan/2014-08-10_14-17-09_parent_rev_212_gPbjzI.bak
deleted file mode 100644
index 379bf57..0000000
--- a/.hg/Trashcan/2014-08-10_14-17-09_parent_rev_212_gPbjzI.bak
+++ /dev/null
@@ -1,360 +0,0 @@
-diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
---- a/src/CMakeLists.txt
-+++ b/src/CMakeLists.txt
-@@ -20,6 +20,7 @@
- helpers/CInputDialog.cpp
- helpers/CPositionDialog.cpp
- helpers/CWptIconDialog.cpp
-+ helpers/CTextEditWidget.cpp
- canvas/CCanvas.cpp
- canvas/CCanvasSetup.cpp
- canvas/IDrawContext.cpp
-@@ -93,6 +94,7 @@
- helpers/CInputDialog.h
- helpers/CPositionDialog.h
- helpers/CWptIconDialog.h
-+ helpers/CTextEditWidget.h
- canvas/CCanvas.h
- canvas/CCanvasSetup.h
- canvas/IDrawContext.h
-@@ -160,6 +162,7 @@
- helpers/IInputDialog.ui
- helpers/IPositionDialog.ui
- helpers/IWptIconDialog.ui
-+ helpers/ITextEditWidget.ui
- canvas/ICanvasSetup.ui
- dem/IDemList.ui
- dem/IDemPathSetup.ui
-diff --git a/src/gis/CGisListWks.cpp b/src/gis/CGisListWks.cpp
---- a/src/gis/CGisListWks.cpp
-+++ b/src/gis/CGisListWks.cpp
-@@ -39,8 +39,6 @@
- menuItem = new QMenu(this);
- actionEditDetails = menuItem->addAction(QIcon("://icons/32x32/EditDetails.png"),tr("Edit..."), this, SLOT(slotEditItem()));
- actionDelete = menuItem->addAction(QIcon("://icons/48x48/DeleteOne.png"),tr("Delete"), this, SLOT(slotDeleteItem()));
--
-- actionEditDetails->setEnabled(false);
- }
-
- CGisListWks::~CGisListWks()
-@@ -143,7 +141,14 @@
-
- void CGisListWks::slotEditItem()
- {
--
-+ IGisItem::mutexItems.lock();
-+ IGisItem * gisItem = dynamic_cast<IGisItem*>(currentItem());
-+ if(gisItem != 0)
-+ {
-+ QString key = gisItem->getKey();
-+ CGisWidget::self().editItemByKey(key);
-+ }
-+ IGisItem::mutexItems.unlock();
- }
-
- void CGisListWks::slotDeleteItem()
-diff --git a/src/gis/CGisWidget.cpp b/src/gis/CGisWidget.cpp
---- a/src/gis/CGisWidget.cpp
-+++ b/src/gis/CGisWidget.cpp
-@@ -33,7 +33,9 @@
- pSelf = this;
- setupUi(this);
-
-- treeWks->header()->setSectionResizeMode(0,QHeaderView::ResizeToContents);
-+// treeWks->header()->setSectionResizeMode(0,QHeaderView::Interactive);
-+ treeWks->header()->setSectionResizeMode(1,QHeaderView::ResizeToContents);
-+// treeWks->header()->setCascadingSectionResizes(true);
-
-
- connect(treeWks, SIGNAL(sigChanged()), SIGNAL(sigChanged()));
-diff --git a/src/gis/IGisItem.cpp b/src/gis/IGisItem.cpp
---- a/src/gis/IGisItem.cpp
-+++ b/src/gis/IGisItem.cpp
-@@ -278,7 +278,7 @@
- }
- }
-
--void IGisItem::removeHtml(QString &str)
-+QString IGisItem::removeHtml(const QString &str)
- {
- QTextDocument html;
- html.setHtml(str);
-@@ -282,5 +282,5 @@
- {
- QTextDocument html;
- html.setHtml(str);
-- str = html.toPlainText();
-+ return html.toPlainText();
- }
-diff --git a/src/gis/IGisWidget.ui b/src/gis/IGisWidget.ui
---- a/src/gis/IGisWidget.ui
-+++ b/src/gis/IGisWidget.ui
-@@ -43,8 +43,5 @@
- <height>22</height>
- </size>
- </property>
-- <attribute name="headerVisible">
-- <bool>false</bool>
-- </attribute>
- <column>
- <property name="text">
-@@ -49,7 +46,7 @@
- <column>
- <property name="text">
-- <string notr="true">1</string>
-+ <string notr="true">Name</string>
- </property>
- </column>
- <column>
- <property name="text">
-@@ -52,8 +49,8 @@
- </property>
- </column>
- <column>
- <property name="text">
-- <string>2</string>
-+ <string>State</string>
- </property>
- </column>
- </widget>
-diff --git a/src/gis/wpt/CDetailsWpt.cpp b/src/gis/wpt/CDetailsWpt.cpp
---- a/src/gis/wpt/CDetailsWpt.cpp
-+++ b/src/gis/wpt/CDetailsWpt.cpp
-@@ -23,6 +23,7 @@
- #include "helpers/CInputDialog.h"
- #include "helpers/CPositionDialog.h"
- #include "helpers/CWptIconDialog.h"
-+#include "helpers/CTextEditWidget.h"
-
-
- #include <QtWidgets>
-@@ -38,6 +39,8 @@
- connect(labelElevation, SIGNAL(linkActivated(QString)), this, SLOT(slotLinkActivated(QString)));
- connect(labelProximity, SIGNAL(linkActivated(QString)), this, SLOT(slotLinkActivated(QString)));
- connect(toolIcon, SIGNAL(clicked()), this, SLOT(slotChangeIcon()));
-+ connect(toolEditCmt, SIGNAL(clicked()), this, SLOT(slotChangeCmt()));
-+ connect(toolEditDesc, SIGNAL(clicked()), this, SLOT(slotChangeDesc()));
- }
-
- CDetailsWpt::~CDetailsWpt()
-@@ -151,3 +154,25 @@
- setupGui();
- }
- }
-+
-+void CDetailsWpt::slotChangeCmt()
-+{
-+ CTextEditWidget dlg(0);
-+ dlg.setHtml(wpt.getComment());
-+ if(dlg.exec() == QDialog::Accepted)
-+ {
-+ wpt.setComment(dlg.getHtml());
-+ setupGui();
-+ }
-+}
-+
-+void CDetailsWpt::slotChangeDesc()
-+{
-+ CTextEditWidget dlg(0);
-+ dlg.setHtml(wpt.getDescription());
-+ if(dlg.exec() == QDialog::Accepted)
-+ {
-+ wpt.setDescription(dlg.getHtml());
-+ setupGui();
-+ }
-+}
-diff --git a/src/gis/wpt/CDetailsWpt.h b/src/gis/wpt/CDetailsWpt.h
---- a/src/gis/wpt/CDetailsWpt.h
-+++ b/src/gis/wpt/CDetailsWpt.h
-@@ -34,6 +34,8 @@
- private slots:
- void slotLinkActivated(const QString& link);
- void slotChangeIcon();
-+ void slotChangeCmt();
-+ void slotChangeDesc();
-
- private:
- void setupGui();
-diff --git a/src/gis/wpt/CGisItemWpt.h b/src/gis/wpt/CGisItemWpt.h
---- a/src/gis/wpt/CGisItemWpt.h
-+++ b/src/gis/wpt/CGisItemWpt.h
-@@ -35,6 +35,8 @@
- void setElevation(qint32 val);
- void setProximity(qreal val);
- void setIcon(const QString& name);
-+ void setComment(const QString& str);
-+ void setDescription(const QString& str);
-
- const QString& getName(){return wpt.name;}
- QString getInfo();
-diff --git a/src/gis/wpt/CScrOptWpt.cpp b/src/gis/wpt/CScrOptWpt.cpp
---- a/src/gis/wpt/CScrOptWpt.cpp
-+++ b/src/gis/wpt/CScrOptWpt.cpp
-@@ -33,7 +33,7 @@
- setupUi(this);
- setOrigin(origin);
- label->setFont(CMainWindow::self().getMapFont());
-- label->setText(wpt->getInfo());
-+ label->setText(IGisItem::removeHtml(wpt->getInfo()));
-
- anchor = wpt->getPointCloseBy(origin);
- move(anchor.toPoint() + QPoint(30,30));
-diff --git a/src/gis/wpt/IScrOptWpt.ui b/src/gis/wpt/IScrOptWpt.ui
---- a/src/gis/wpt/IScrOptWpt.ui
-+++ b/src/gis/wpt/IScrOptWpt.ui
-@@ -88,9 +88,15 @@
- </item>
- <item>
- <widget class="QLabel" name="label">
-+ <property name="maximumSize">
-+ <size>
-+ <width>400</width>
-+ <height>16777215</height>
-+ </size>
-+ </property>
- <property name="text">
- <string>TextLabel</string>
- </property>
- <property name="textFormat">
- <enum>Qt::AutoText</enum>
- </property>
-@@ -91,9 +97,12 @@
- <property name="text">
- <string>TextLabel</string>
- </property>
- <property name="textFormat">
- <enum>Qt::AutoText</enum>
- </property>
-+ <property name="wordWrap">
-+ <bool>true</bool>
-+ </property>
- </widget>
- </item>
- </layout>
-diff --git a/src/helpers/IWptIconDialog.ui b/src/helpers/IWptIconDialog.ui
---- a/src/helpers/IWptIconDialog.ui
-+++ b/src/helpers/IWptIconDialog.ui
-@@ -24,16 +24,6 @@
- </property>
- </widget>
- </item>
-- <item>
-- <widget class="QDialogButtonBox" name="buttonBox">
-- <property name="orientation">
-- <enum>Qt::Horizontal</enum>
-- </property>
-- <property name="standardButtons">
-- <set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
-- </property>
-- </widget>
-- </item>
- </layout>
- </widget>
- <resources/>
-@@ -37,38 +27,5 @@
- </layout>
- </widget>
- <resources/>
-- <connections>
-- <connection>
-- <sender>buttonBox</sender>
-- <signal>accepted()</signal>
-- <receiver>IWptIconDialog</receiver>
-- <slot>accept()</slot>
-- <hints>
-- <hint type="sourcelabel">
-- <x>248</x>
-- <y>254</y>
-- </hint>
-- <hint type="destinationlabel">
-- <x>157</x>
-- <y>274</y>
-- </hint>
-- </hints>
-- </connection>
-- <connection>
-- <sender>buttonBox</sender>
-- <signal>rejected()</signal>
-- <receiver>IWptIconDialog</receiver>
-- <slot>reject()</slot>
-- <hints>
-- <hint type="sourcelabel">
-- <x>316</x>
-- <y>260</y>
-- </hint>
-- <hint type="destinationlabel">
-- <x>286</x>
-- <y>274</y>
-- </hint>
-- </hints>
-- </connection>
-- </connections>
-+ <connections/>
- </ui>
-diff --git a/src/resources.qrc b/src/resources.qrc
---- a/src/resources.qrc
-+++ b/src/resources.qrc
-@@ -68,6 +68,19 @@
- <file>icons/16x16/EditDetails.png</file>
- <file>icons/16x16/EditText.png</file>
- <file>icons/16x16/TimeZoneSetup.png</file>
-+ <file>icons/16x16/Undo.png</file>
-+ <file>icons/16x16/Redo.png</file>
-+ <file>icons/16x16/Cut.png</file>
-+ <file>icons/16x16/Copy.png</file>
-+ <file>icons/16x16/Paste.png</file>
-+ <file>icons/16x16/TextLeft.png</file>
-+ <file>icons/16x16/TextRight.png</file>
-+ <file>icons/16x16/TextCenter.png</file>
-+ <file>icons/16x16/TextJustified.png</file>
-+ <file>icons/16x16/TextBold.png</file>
-+ <file>icons/16x16/TextUnderlined.png</file>
-+ <file>icons/16x16/TextItalic.png</file>
-+
- <file>icons/32x32/2DFix.png</file>
- <file>icons/32x32/3DFix.png</file>
- <file>icons/32x32/Add.png</file>
-@@ -118,6 +131,21 @@
- <file>icons/32x32/EditDetails.png</file>
- <file>icons/32x32/EditText.png</file>
- <file>icons/32x32/TimeZoneSetup.png</file>
-+ <file>icons/32x32/Undo.png</file>
-+ <file>icons/32x32/Redo.png</file>
-+ <file>icons/32x32/Cut.png</file>
-+ <file>icons/32x32/Copy.png</file>
-+ <file>icons/32x32/Paste.png</file>
-+ <file>icons/32x32/TextLeft.png</file>
-+ <file>icons/32x32/TextRight.png</file>
-+ <file>icons/32x32/TextCenter.png</file>
-+ <file>icons/32x32/TextJustified.png</file>
-+ <file>icons/32x32/TextBold.png</file>
-+ <file>icons/32x32/TextUnderlined.png</file>
-+ <file>icons/32x32/TextItalic.png</file>
-+
-+
-+
- <file>icons/48x48/2DFix.png</file>
- <file>icons/48x48/3DFix.png</file>
- <file>icons/48x48/Add.png</file>
-@@ -168,6 +196,21 @@
- <file>icons/48x48/EditDetails.png</file>
- <file>icons/48x48/EditText.png</file>
- <file>icons/48x48/TimeZoneSetup.png</file>
-+ <file>icons/48x48/Undo.png</file>
-+ <file>icons/48x48/Redo.png</file>
-+ <file>icons/48x48/Cut.png</file>
-+ <file>icons/48x48/Copy.png</file>
-+ <file>icons/48x48/Paste.png</file>
-+ <file>icons/48x48/TextLeft.png</file>
-+ <file>icons/48x48/TextRight.png</file>
-+ <file>icons/48x48/TextCenter.png</file>
-+ <file>icons/48x48/TextJustified.png</file>
-+ <file>icons/48x48/TextBold.png</file>
-+ <file>icons/48x48/TextUnderlined.png</file>
-+ <file>icons/48x48/TextItalic.png</file>
-+
-+
-+
- <file>icons/cache/32x32/bluepin.png</file>
- <file>icons/cache/32x32/cito.png</file>
- <file>icons/cache/32x32/corrected.png</file>
diff --git a/.hg/Trashcan/2014-08-10_14-17-09_parent_rev_212_irk_tW.bak b/.hg/Trashcan/2014-08-10_14-17-09_parent_rev_212_irk_tW.bak
deleted file mode 100644
index a32363f..0000000
--- a/.hg/Trashcan/2014-08-10_14-17-09_parent_rev_212_irk_tW.bak
+++ /dev/null
@@ -1,406 +0,0 @@
-diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
---- a/src/CMakeLists.txt
-+++ b/src/CMakeLists.txt
-@@ -20,6 +20,7 @@
- helpers/CInputDialog.cpp
- helpers/CPositionDialog.cpp
- helpers/CWptIconDialog.cpp
-+ helpers/CTextEditWidget.cpp
- canvas/CCanvas.cpp
- canvas/CCanvasSetup.cpp
- canvas/IDrawContext.cpp
-@@ -93,6 +94,7 @@
- helpers/CInputDialog.h
- helpers/CPositionDialog.h
- helpers/CWptIconDialog.h
-+ helpers/CTextEditWidget.h
- canvas/CCanvas.h
- canvas/CCanvasSetup.h
- canvas/IDrawContext.h
-@@ -160,6 +162,7 @@
- helpers/IInputDialog.ui
- helpers/IPositionDialog.ui
- helpers/IWptIconDialog.ui
-+ helpers/ITextEditWidget.ui
- canvas/ICanvasSetup.ui
- dem/IDemList.ui
- dem/IDemPathSetup.ui
-diff --git a/src/gis/CGisListWks.cpp b/src/gis/CGisListWks.cpp
---- a/src/gis/CGisListWks.cpp
-+++ b/src/gis/CGisListWks.cpp
-@@ -39,8 +39,6 @@
- menuItem = new QMenu(this);
- actionEditDetails = menuItem->addAction(QIcon("://icons/32x32/EditDetails.png"),tr("Edit..."), this, SLOT(slotEditItem()));
- actionDelete = menuItem->addAction(QIcon("://icons/48x48/DeleteOne.png"),tr("Delete"), this, SLOT(slotDeleteItem()));
--
-- actionEditDetails->setEnabled(false);
- }
-
- CGisListWks::~CGisListWks()
-@@ -143,7 +141,14 @@
-
- void CGisListWks::slotEditItem()
- {
--
-+ IGisItem::mutexItems.lock();
-+ IGisItem * gisItem = dynamic_cast<IGisItem*>(currentItem());
-+ if(gisItem != 0)
-+ {
-+ QString key = gisItem->getKey();
-+ CGisWidget::self().editItemByKey(key);
-+ }
-+ IGisItem::mutexItems.unlock();
- }
-
- void CGisListWks::slotDeleteItem()
-diff --git a/src/gis/CGisWidget.cpp b/src/gis/CGisWidget.cpp
---- a/src/gis/CGisWidget.cpp
-+++ b/src/gis/CGisWidget.cpp
-@@ -33,7 +33,9 @@
- pSelf = this;
- setupUi(this);
-
-- treeWks->header()->setSectionResizeMode(0,QHeaderView::ResizeToContents);
-+// treeWks->header()->setSectionResizeMode(0,QHeaderView::Interactive);
-+ treeWks->header()->setSectionResizeMode(1,QHeaderView::ResizeToContents);
-+// treeWks->header()->setCascadingSectionResizes(true);
-
-
- connect(treeWks, SIGNAL(sigChanged()), SIGNAL(sigChanged()));
-diff --git a/src/gis/IGisItem.cpp b/src/gis/IGisItem.cpp
---- a/src/gis/IGisItem.cpp
-+++ b/src/gis/IGisItem.cpp
-@@ -278,7 +278,7 @@
- }
- }
-
--void IGisItem::removeHtml(QString &str)
-+QString IGisItem::removeHtml(const QString &str)
- {
- QTextDocument html;
- html.setHtml(str);
-@@ -282,5 +282,5 @@
- {
- QTextDocument html;
- html.setHtml(str);
-- str = html.toPlainText();
-+ return html.toPlainText();
- }
-diff --git a/src/gis/IGisItem.h b/src/gis/IGisItem.h
---- a/src/gis/IGisItem.h
-+++ b/src/gis/IGisItem.h
-@@ -115,6 +115,8 @@
-
- virtual void edit(){}
-
-+ static QString removeHtml(const QString &str);
-+
- protected:
- friend class CGisProject;
- struct wpt_t;
-@@ -125,7 +127,7 @@
- QString color2str(const QColor &color);
- void splitLineToViewport(const QPolygonF& line, const QRectF& extViewport, QList<QPolygonF>& lines);
- void drawArrows(const QPolygonF &line, const QRectF &extViewport, QPainter& p);
-- void removeHtml(QString &str);
-+
-
-
- struct color_t
-diff --git a/src/gis/IGisWidget.ui b/src/gis/IGisWidget.ui
---- a/src/gis/IGisWidget.ui
-+++ b/src/gis/IGisWidget.ui
-@@ -43,8 +43,5 @@
- <height>22</height>
- </size>
- </property>
-- <attribute name="headerVisible">
-- <bool>false</bool>
-- </attribute>
- <column>
- <property name="text">
-@@ -49,7 +46,7 @@
- <column>
- <property name="text">
-- <string notr="true">1</string>
-+ <string notr="true">Name</string>
- </property>
- </column>
- <column>
- <property name="text">
-@@ -52,8 +49,8 @@
- </property>
- </column>
- <column>
- <property name="text">
-- <string>2</string>
-+ <string>State</string>
- </property>
- </column>
- </widget>
-diff --git a/src/gis/wpt/CDetailsWpt.cpp b/src/gis/wpt/CDetailsWpt.cpp
---- a/src/gis/wpt/CDetailsWpt.cpp
-+++ b/src/gis/wpt/CDetailsWpt.cpp
-@@ -23,6 +23,7 @@
- #include "helpers/CInputDialog.h"
- #include "helpers/CPositionDialog.h"
- #include "helpers/CWptIconDialog.h"
-+#include "helpers/CTextEditWidget.h"
-
-
- #include <QtWidgets>
-@@ -38,6 +39,8 @@
- connect(labelElevation, SIGNAL(linkActivated(QString)), this, SLOT(slotLinkActivated(QString)));
- connect(labelProximity, SIGNAL(linkActivated(QString)), this, SLOT(slotLinkActivated(QString)));
- connect(toolIcon, SIGNAL(clicked()), this, SLOT(slotChangeIcon()));
-+ connect(toolEditCmt, SIGNAL(clicked()), this, SLOT(slotChangeCmt()));
-+ connect(toolEditDesc, SIGNAL(clicked()), this, SLOT(slotChangeDesc()));
- }
-
- CDetailsWpt::~CDetailsWpt()
-@@ -151,3 +154,25 @@
- setupGui();
- }
- }
-+
-+void CDetailsWpt::slotChangeCmt()
-+{
-+ CTextEditWidget dlg(0);
-+ dlg.setHtml(wpt.getComment());
-+ if(dlg.exec() == QDialog::Accepted)
-+ {
-+ wpt.setComment(dlg.getHtml());
-+ setupGui();
-+ }
-+}
-+
-+void CDetailsWpt::slotChangeDesc()
-+{
-+ CTextEditWidget dlg(0);
-+ dlg.setHtml(wpt.getDescription());
-+ if(dlg.exec() == QDialog::Accepted)
-+ {
-+ wpt.setDescription(dlg.getHtml());
-+ setupGui();
-+ }
-+}
-diff --git a/src/gis/wpt/CDetailsWpt.h b/src/gis/wpt/CDetailsWpt.h
---- a/src/gis/wpt/CDetailsWpt.h
-+++ b/src/gis/wpt/CDetailsWpt.h
-@@ -34,6 +34,8 @@
- private slots:
- void slotLinkActivated(const QString& link);
- void slotChangeIcon();
-+ void slotChangeCmt();
-+ void slotChangeDesc();
-
- private:
- void setupGui();
-diff --git a/src/gis/wpt/CGisItemWpt.cpp b/src/gis/wpt/CGisItemWpt.cpp
---- a/src/gis/wpt/CGisItemWpt.cpp
-+++ b/src/gis/wpt/CGisItemWpt.cpp
-@@ -18,8 +18,9 @@
-
- #include "gis/wpt/CGisItemWpt.h"
- #include "gis/wpt/CDetailsWpt.h"
-+#include "gis/wpt/CScrOptWpt.h"
- #include "gis/CGisProject.h"
- #include "gis/CGisDraw.h"
- #include "gis/WptIcons.h"
- #include "canvas/CCanvas.h"
- #include "mouse/IMouse.h"
-@@ -21,9 +22,8 @@
- #include "gis/CGisProject.h"
- #include "gis/CGisDraw.h"
- #include "gis/WptIcons.h"
- #include "canvas/CCanvas.h"
- #include "mouse/IMouse.h"
--#include "gis/wpt/CScrOptWpt.h"
- #include "units/IUnit.h"
- #include "GeoMath.h"
-
-@@ -88,7 +88,7 @@
-
- QString CGisItemWpt::getInfo()
- {
-- QString str = getName();
-+ QString str = "<p>" + getName() + "</p>";
-
- if(geocache.hasData)
- {
-@@ -97,10 +97,10 @@
-
- if(wpt.time.isValid())
- {
-- if(!str.isEmpty()) str += "\n";
-+ if(!str.isEmpty()) str += "<br/>\n";
-
- str += IUnit::datetime2string(wpt.time, QPointF(wpt.lon*DEG_TO_RAD, wpt.lat*DEG_TO_RAD));
- }
-
- if(wpt.ele != NOINT)
- {
-@@ -101,10 +101,10 @@
-
- str += IUnit::datetime2string(wpt.time, QPointF(wpt.lon*DEG_TO_RAD, wpt.lat*DEG_TO_RAD));
- }
-
- if(wpt.ele != NOINT)
- {
-- if(!str.isEmpty()) str += "\n";
-+ if(!str.isEmpty()) str += "<br/>\n";
- QString val, unit;
- IUnit::self().meter2elevation(wpt.ele, val, unit);
- str += QObject::tr("Elevation: %1 %2").arg(val).arg(unit);
-@@ -112,9 +112,9 @@
-
- if(proximity != NOFLOAT)
- {
-- if(!str.isEmpty()) str += "\n";
-+ if(!str.isEmpty()) str += "<br/>\n";
- QString val, unit;
- IUnit::self().meter2distance(proximity, val, unit);
- str += QObject::tr("Proximity: %1 %2").arg(val).arg(unit);
- }
-
-@@ -116,7 +116,8 @@
- QString val, unit;
- IUnit::self().meter2distance(proximity, val, unit);
- str += QObject::tr("Proximity: %1 %2").arg(val).arg(unit);
- }
-
-- if(wpt.desc.count())
-+ QString desc = removeHtml(wpt.desc);
-+ if(desc.count())
- {
-@@ -122,3 +123,3 @@
- {
-- if(!str.isEmpty()) str += "\n";
-+ if(!str.isEmpty()) str += "<br/>\n";
-
-@@ -124,3 +125,3 @@
-
-- if(wpt.desc.count() < 200)
-+ if(desc.count() < 200)
- {
-@@ -126,5 +127,5 @@
- {
-- str += wpt.desc;
-+ str += desc;
- }
- else
- {
-@@ -128,8 +129,8 @@
- }
- else
- {
-- str += wpt.desc.left(197) + "...";
-+ str += desc.left(197) + "...";
- }
- }
- else
- {
-@@ -132,7 +133,7 @@
- }
- }
- else
- {
-- QString cmt = wpt.cmt;
-+ QString cmt = removeHtml(wpt.cmt);
- if(cmt.count())
- {
-@@ -137,6 +138,6 @@
- if(cmt.count())
- {
-- if(!str.isEmpty()) str += "\n";
-+ if(!str.isEmpty()) str += "<br/>\n";
-
- if(cmt.count() < 200)
- {
-@@ -148,6 +149,9 @@
- }
- }
- }
-+
-+ qDebug() << "-----------------------";
-+ qDebug() << str;
- return str;
- }
-
-@@ -207,6 +211,20 @@
- setIcon();
- }
-
-+void CGisItemWpt::setComment(const QString& str)
-+{
-+ setText(1,"*");
-+ wpt.cmt = str;
-+ setToolTip(0,getInfo());
-+}
-+
-+void CGisItemWpt::setDescription(const QString& str)
-+{
-+ setText(1,"*");
-+ wpt.desc = str;
-+ setToolTip(0,getInfo());
-+}
-+
- void CGisItemWpt::save(QDomNode& gpx)
- {
- QDomDocument doc = gpx.ownerDocument();
-diff --git a/src/gis/wpt/CGisItemWpt.h b/src/gis/wpt/CGisItemWpt.h
---- a/src/gis/wpt/CGisItemWpt.h
-+++ b/src/gis/wpt/CGisItemWpt.h
-@@ -35,6 +35,8 @@
- void setElevation(qint32 val);
- void setProximity(qreal val);
- void setIcon(const QString& name);
-+ void setComment(const QString& str);
-+ void setDescription(const QString& str);
-
- const QString& getName(){return wpt.name;}
- QString getInfo();
-diff --git a/src/gis/wpt/CScrOptWpt.cpp b/src/gis/wpt/CScrOptWpt.cpp
---- a/src/gis/wpt/CScrOptWpt.cpp
-+++ b/src/gis/wpt/CScrOptWpt.cpp
-@@ -33,7 +33,7 @@
- setupUi(this);
- setOrigin(origin);
- label->setFont(CMainWindow::self().getMapFont());
-- label->setText(wpt->getInfo());
-+ label->setText(IGisItem::removeHtml(wpt->getInfo()));
-
- anchor = wpt->getPointCloseBy(origin);
- move(anchor.toPoint() + QPoint(30,30));
-diff --git a/src/gis/wpt/IScrOptWpt.ui b/src/gis/wpt/IScrOptWpt.ui
---- a/src/gis/wpt/IScrOptWpt.ui
-+++ b/src/gis/wpt/IScrOptWpt.ui
-@@ -88,9 +88,15 @@
- </item>
- <item>
- <widget class="QLabel" name="label">
-+ <property name="maximumSize">
-+ <size>
-+ <width>400</width>
-+ <height>16777215</height>
-+ </size>
-+ </property>
- <property name="text">
- <string>TextLabel</string>
- </property>
- <property name="textFormat">
- <enum>Qt::AutoText</enum>
- </property>
-@@ -91,9 +97,12 @@
- <property name="text">
- <string>TextLabel</string>
- </property>
- <property name="textFormat">
- <enum>Qt::AutoText</enum>
- </property>
-+ <property name="wordWrap">
-+ <bool>true</bool>
-+ </property>
- </widget>
- </item>
- </layout>
diff --git a/.hg/Trashcan/2014-08-10_14-17-09_parent_rev_212_jkEjw8.bak b/.hg/Trashcan/2014-08-10_14-17-09_parent_rev_212_jkEjw8.bak
deleted file mode 100644
index daa045d..0000000
--- a/.hg/Trashcan/2014-08-10_14-17-09_parent_rev_212_jkEjw8.bak
+++ /dev/null
@@ -1,15 +0,0 @@
-diff --git a/src/gis/IGisItem.cpp b/src/gis/IGisItem.cpp
---- a/src/gis/IGisItem.cpp
-+++ b/src/gis/IGisItem.cpp
-@@ -451,6 +451,11 @@
- QPolygonF subline;
- const int size = line.size();
-
-+ if(line.isEmpty())
-+ {
-+ return;
-+ }
-+
- pt = line[0];
- subline << pt;
-
diff --git a/.hg/Trashcan/2014-08-10_14-17-09_parent_rev_212_pZMY9I.bak b/.hg/Trashcan/2014-08-10_14-17-09_parent_rev_212_pZMY9I.bak
deleted file mode 100644
index b7d4990..0000000
--- a/.hg/Trashcan/2014-08-10_14-17-09_parent_rev_212_pZMY9I.bak
+++ /dev/null
@@ -1,466 +0,0 @@
-diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
---- a/src/CMakeLists.txt
-+++ b/src/CMakeLists.txt
-@@ -20,6 +20,7 @@
- helpers/CInputDialog.cpp
- helpers/CPositionDialog.cpp
- helpers/CWptIconDialog.cpp
-+ helpers/CTextEditWidget.cpp
- canvas/CCanvas.cpp
- canvas/CCanvasSetup.cpp
- canvas/IDrawContext.cpp
-@@ -93,6 +94,7 @@
- helpers/CInputDialog.h
- helpers/CPositionDialog.h
- helpers/CWptIconDialog.h
-+ helpers/CTextEditWidget.h
- canvas/CCanvas.h
- canvas/CCanvasSetup.h
- canvas/IDrawContext.h
-@@ -160,6 +162,7 @@
- helpers/IInputDialog.ui
- helpers/IPositionDialog.ui
- helpers/IWptIconDialog.ui
-+ helpers/ITextEditWidget.ui
- canvas/ICanvasSetup.ui
- dem/IDemList.ui
- dem/IDemPathSetup.ui
-diff --git a/src/gis/CGisListWks.cpp b/src/gis/CGisListWks.cpp
---- a/src/gis/CGisListWks.cpp
-+++ b/src/gis/CGisListWks.cpp
-@@ -39,8 +39,6 @@
- menuItem = new QMenu(this);
- actionEditDetails = menuItem->addAction(QIcon("://icons/32x32/EditDetails.png"),tr("Edit..."), this, SLOT(slotEditItem()));
- actionDelete = menuItem->addAction(QIcon("://icons/48x48/DeleteOne.png"),tr("Delete"), this, SLOT(slotDeleteItem()));
--
-- actionEditDetails->setEnabled(false);
- }
-
- CGisListWks::~CGisListWks()
-@@ -143,7 +141,14 @@
-
- void CGisListWks::slotEditItem()
- {
--
-+ IGisItem::mutexItems.lock();
-+ IGisItem * gisItem = dynamic_cast<IGisItem*>(currentItem());
-+ if(gisItem != 0)
-+ {
-+ QString key = gisItem->getKey();
-+ CGisWidget::self().editItemByKey(key);
-+ }
-+ IGisItem::mutexItems.unlock();
- }
-
- void CGisListWks::slotDeleteItem()
-diff --git a/src/gis/CGisWidget.cpp b/src/gis/CGisWidget.cpp
---- a/src/gis/CGisWidget.cpp
-+++ b/src/gis/CGisWidget.cpp
-@@ -33,7 +33,9 @@
- pSelf = this;
- setupUi(this);
-
-- treeWks->header()->setSectionResizeMode(0,QHeaderView::ResizeToContents);
-+// treeWks->header()->setSectionResizeMode(0,QHeaderView::Interactive);
-+ treeWks->header()->setSectionResizeMode(1,QHeaderView::ResizeToContents);
-+// treeWks->header()->setCascadingSectionResizes(true);
-
-
- connect(treeWks, SIGNAL(sigChanged()), SIGNAL(sigChanged()));
-diff --git a/src/gis/IGisItem.cpp b/src/gis/IGisItem.cpp
---- a/src/gis/IGisItem.cpp
-+++ b/src/gis/IGisItem.cpp
-@@ -278,7 +278,7 @@
- }
- }
-
--void IGisItem::removeHtml(QString &str)
-+QString IGisItem::removeHtml(const QString &str)
- {
- QTextDocument html;
- html.setHtml(str);
-@@ -282,5 +282,5 @@
- {
- QTextDocument html;
- html.setHtml(str);
-- str = html.toPlainText();
-+ return html.toPlainText();
- }
-diff --git a/src/gis/IGisItem.h b/src/gis/IGisItem.h
---- a/src/gis/IGisItem.h
-+++ b/src/gis/IGisItem.h
-@@ -115,6 +115,8 @@
-
- virtual void edit(){}
-
-+ static QString removeHtml(const QString &str);
-+
- protected:
- friend class CGisProject;
- struct wpt_t;
-@@ -125,7 +127,7 @@
- QString color2str(const QColor &color);
- void splitLineToViewport(const QPolygonF& line, const QRectF& extViewport, QList<QPolygonF>& lines);
- void drawArrows(const QPolygonF &line, const QRectF &extViewport, QPainter& p);
-- void removeHtml(QString &str);
-+
-
-
- struct color_t
-diff --git a/src/gis/IGisWidget.ui b/src/gis/IGisWidget.ui
---- a/src/gis/IGisWidget.ui
-+++ b/src/gis/IGisWidget.ui
-@@ -43,8 +43,5 @@
- <height>22</height>
- </size>
- </property>
-- <attribute name="headerVisible">
-- <bool>false</bool>
-- </attribute>
- <column>
- <property name="text">
-@@ -49,7 +46,7 @@
- <column>
- <property name="text">
-- <string notr="true">1</string>
-+ <string notr="true">Name</string>
- </property>
- </column>
- <column>
- <property name="text">
-@@ -52,8 +49,8 @@
- </property>
- </column>
- <column>
- <property name="text">
-- <string>2</string>
-+ <string>State</string>
- </property>
- </column>
- </widget>
-diff --git a/src/gis/wpt/CDetailsWpt.cpp b/src/gis/wpt/CDetailsWpt.cpp
---- a/src/gis/wpt/CDetailsWpt.cpp
-+++ b/src/gis/wpt/CDetailsWpt.cpp
-@@ -23,6 +23,7 @@
- #include "helpers/CInputDialog.h"
- #include "helpers/CPositionDialog.h"
- #include "helpers/CWptIconDialog.h"
-+#include "helpers/CTextEditWidget.h"
-
-
- #include <QtWidgets>
-@@ -38,6 +39,8 @@
- connect(labelElevation, SIGNAL(linkActivated(QString)), this, SLOT(slotLinkActivated(QString)));
- connect(labelProximity, SIGNAL(linkActivated(QString)), this, SLOT(slotLinkActivated(QString)));
- connect(toolIcon, SIGNAL(clicked()), this, SLOT(slotChangeIcon()));
-+ connect(toolEditCmt, SIGNAL(clicked()), this, SLOT(slotChangeCmt()));
-+ connect(toolEditDesc, SIGNAL(clicked()), this, SLOT(slotChangeDesc()));
- }
-
- CDetailsWpt::~CDetailsWpt()
-@@ -151,3 +154,25 @@
- setupGui();
- }
- }
-+
-+void CDetailsWpt::slotChangeCmt()
-+{
-+ CTextEditWidget dlg(0);
-+ dlg.setHtml(wpt.getComment());
-+ if(dlg.exec() == QDialog::Accepted)
-+ {
-+ wpt.setComment(dlg.getHtml());
-+ setupGui();
-+ }
-+}
-+
-+void CDetailsWpt::slotChangeDesc()
-+{
-+ CTextEditWidget dlg(0);
-+ dlg.setHtml(wpt.getDescription());
-+ if(dlg.exec() == QDialog::Accepted)
-+ {
-+ wpt.setDescription(dlg.getHtml());
-+ setupGui();
-+ }
-+}
-diff --git a/src/gis/wpt/CDetailsWpt.h b/src/gis/wpt/CDetailsWpt.h
---- a/src/gis/wpt/CDetailsWpt.h
-+++ b/src/gis/wpt/CDetailsWpt.h
-@@ -34,6 +34,8 @@
- private slots:
- void slotLinkActivated(const QString& link);
- void slotChangeIcon();
-+ void slotChangeCmt();
-+ void slotChangeDesc();
-
- private:
- void setupGui();
-diff --git a/src/gis/wpt/CGisItemWpt.cpp b/src/gis/wpt/CGisItemWpt.cpp
---- a/src/gis/wpt/CGisItemWpt.cpp
-+++ b/src/gis/wpt/CGisItemWpt.cpp
-@@ -18,8 +18,9 @@
-
- #include "gis/wpt/CGisItemWpt.h"
- #include "gis/wpt/CDetailsWpt.h"
-+#include "gis/wpt/CScrOptWpt.h"
- #include "gis/CGisProject.h"
- #include "gis/CGisDraw.h"
- #include "gis/WptIcons.h"
- #include "canvas/CCanvas.h"
- #include "mouse/IMouse.h"
-@@ -21,9 +22,8 @@
- #include "gis/CGisProject.h"
- #include "gis/CGisDraw.h"
- #include "gis/WptIcons.h"
- #include "canvas/CCanvas.h"
- #include "mouse/IMouse.h"
--#include "gis/wpt/CScrOptWpt.h"
- #include "units/IUnit.h"
- #include "GeoMath.h"
-
-@@ -88,7 +88,7 @@
-
- QString CGisItemWpt::getInfo()
- {
-- QString str = getName();
-+ QString str = "<p>" + getName() + "</p>";
-
- if(geocache.hasData)
- {
-@@ -97,10 +97,10 @@
-
- if(wpt.time.isValid())
- {
-- if(!str.isEmpty()) str += "\n";
-+ if(!str.isEmpty()) str += "<br/>\n";
-
- str += IUnit::datetime2string(wpt.time, QPointF(wpt.lon*DEG_TO_RAD, wpt.lat*DEG_TO_RAD));
- }
-
- if(wpt.ele != NOINT)
- {
-@@ -101,10 +101,10 @@
-
- str += IUnit::datetime2string(wpt.time, QPointF(wpt.lon*DEG_TO_RAD, wpt.lat*DEG_TO_RAD));
- }
-
- if(wpt.ele != NOINT)
- {
-- if(!str.isEmpty()) str += "\n";
-+ if(!str.isEmpty()) str += "<br/>\n";
- QString val, unit;
- IUnit::self().meter2elevation(wpt.ele, val, unit);
- str += QObject::tr("Elevation: %1 %2").arg(val).arg(unit);
-@@ -112,9 +112,9 @@
-
- if(proximity != NOFLOAT)
- {
-- if(!str.isEmpty()) str += "\n";
-+ if(!str.isEmpty()) str += "<br/>\n";
- QString val, unit;
- IUnit::self().meter2distance(proximity, val, unit);
- str += QObject::tr("Proximity: %1 %2").arg(val).arg(unit);
- }
-
-@@ -116,7 +116,8 @@
- QString val, unit;
- IUnit::self().meter2distance(proximity, val, unit);
- str += QObject::tr("Proximity: %1 %2").arg(val).arg(unit);
- }
-
-- if(wpt.desc.count())
-+ QString desc = removeHtml(wpt.desc);
-+ if(desc.count())
- {
-@@ -122,3 +123,3 @@
- {
-- if(!str.isEmpty()) str += "\n";
-+ if(!str.isEmpty()) str += "<br/>\n";
-
-@@ -124,3 +125,3 @@
-
-- if(wpt.desc.count() < 200)
-+ if(desc.count() < 200)
- {
-@@ -126,5 +127,5 @@
- {
-- str += wpt.desc;
-+ str += desc;
- }
- else
- {
-@@ -128,8 +129,8 @@
- }
- else
- {
-- str += wpt.desc.left(197) + "...";
-+ str += desc.left(197) + "...";
- }
- }
- else
- {
-@@ -132,7 +133,7 @@
- }
- }
- else
- {
-- QString cmt = wpt.cmt;
-+ QString cmt = removeHtml(wpt.cmt);
- if(cmt.count())
- {
-@@ -137,6 +138,6 @@
- if(cmt.count())
- {
-- if(!str.isEmpty()) str += "\n";
-+ if(!str.isEmpty()) str += "<br/>\n";
-
- if(cmt.count() < 200)
- {
-@@ -148,6 +149,9 @@
- }
- }
- }
-+
-+ qDebug() << "-----------------------";
-+ qDebug() << str;
- return str;
- }
-
-@@ -207,6 +211,20 @@
- setIcon();
- }
-
-+void CGisItemWpt::setComment(const QString& str)
-+{
-+ setText(1,"*");
-+ wpt.cmt = str;
-+ setToolTip(0,getInfo());
-+}
-+
-+void CGisItemWpt::setDescription(const QString& str)
-+{
-+ setText(1,"*");
-+ wpt.desc = str;
-+ setToolTip(0,getInfo());
-+}
-+
- void CGisItemWpt::save(QDomNode& gpx)
- {
- QDomDocument doc = gpx.ownerDocument();
-diff --git a/src/gis/wpt/CGisItemWpt.h b/src/gis/wpt/CGisItemWpt.h
---- a/src/gis/wpt/CGisItemWpt.h
-+++ b/src/gis/wpt/CGisItemWpt.h
-@@ -35,6 +35,8 @@
- void setElevation(qint32 val);
- void setProximity(qreal val);
- void setIcon(const QString& name);
-+ void setComment(const QString& str);
-+ void setDescription(const QString& str);
-
- const QString& getName(){return wpt.name;}
- QString getInfo();
-diff --git a/src/gis/wpt/CScrOptWpt.cpp b/src/gis/wpt/CScrOptWpt.cpp
---- a/src/gis/wpt/CScrOptWpt.cpp
-+++ b/src/gis/wpt/CScrOptWpt.cpp
-@@ -33,7 +33,7 @@
- setupUi(this);
- setOrigin(origin);
- label->setFont(CMainWindow::self().getMapFont());
-- label->setText(wpt->getInfo());
-+ label->setText(IGisItem::removeHtml(wpt->getInfo()));
-
- anchor = wpt->getPointCloseBy(origin);
- move(anchor.toPoint() + QPoint(30,30));
-diff --git a/src/gis/wpt/IScrOptWpt.ui b/src/gis/wpt/IScrOptWpt.ui
---- a/src/gis/wpt/IScrOptWpt.ui
-+++ b/src/gis/wpt/IScrOptWpt.ui
-@@ -88,9 +88,15 @@
- </item>
- <item>
- <widget class="QLabel" name="label">
-+ <property name="maximumSize">
-+ <size>
-+ <width>400</width>
-+ <height>16777215</height>
-+ </size>
-+ </property>
- <property name="text">
- <string>TextLabel</string>
- </property>
- <property name="textFormat">
- <enum>Qt::AutoText</enum>
- </property>
-@@ -91,9 +97,12 @@
- <property name="text">
- <string>TextLabel</string>
- </property>
- <property name="textFormat">
- <enum>Qt::AutoText</enum>
- </property>
-+ <property name="wordWrap">
-+ <bool>true</bool>
-+ </property>
- </widget>
- </item>
- </layout>
-diff --git a/src/helpers/IWptIconDialog.ui b/src/helpers/IWptIconDialog.ui
---- a/src/helpers/IWptIconDialog.ui
-+++ b/src/helpers/IWptIconDialog.ui
-@@ -24,16 +24,6 @@
- </property>
- </widget>
- </item>
-- <item>
-- <widget class="QDialogButtonBox" name="buttonBox">
-- <property name="orientation">
-- <enum>Qt::Horizontal</enum>
-- </property>
-- <property name="standardButtons">
-- <set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
-- </property>
-- </widget>
-- </item>
- </layout>
- </widget>
- <resources/>
-@@ -37,38 +27,5 @@
- </layout>
- </widget>
- <resources/>
-- <connections>
-- <connection>
-- <sender>buttonBox</sender>
-- <signal>accepted()</signal>
-- <receiver>IWptIconDialog</receiver>
-- <slot>accept()</slot>
-- <hints>
-- <hint type="sourcelabel">
-- <x>248</x>
-- <y>254</y>
-- </hint>
-- <hint type="destinationlabel">
-- <x>157</x>
-- <y>274</y>
-- </hint>
-- </hints>
-- </connection>
-- <connection>
-- <sender>buttonBox</sender>
-- <signal>rejected()</signal>
-- <receiver>IWptIconDialog</receiver>
-- <slot>reject()</slot>
-- <hints>
-- <hint type="sourcelabel">
-- <x>316</x>
-- <y>260</y>
-- </hint>
-- <hint type="destinationlabel">
-- <x>286</x>
-- <y>274</y>
-- </hint>
-- </hints>
-- </connection>
-- </connections>
-+ <connections/>
- </ui>
diff --git a/.hg/Trashcan/2014-08-10_14-17-09_parent_rev_212_s1NHwd.bak b/.hg/Trashcan/2014-08-10_14-17-09_parent_rev_212_s1NHwd.bak
deleted file mode 100644
index e69de29..0000000
diff --git a/.hg/Trashcan/2014-08-10_14-17-09_parent_rev_212_uCwhiy.bak b/.hg/Trashcan/2014-08-10_14-17-09_parent_rev_212_uCwhiy.bak
deleted file mode 100644
index 0ee4f65..0000000
--- a/.hg/Trashcan/2014-08-10_14-17-09_parent_rev_212_uCwhiy.bak
+++ /dev/null
@@ -1,317 +0,0 @@
-diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
---- a/src/CMakeLists.txt
-+++ b/src/CMakeLists.txt
-@@ -20,6 +20,7 @@
- helpers/CInputDialog.cpp
- helpers/CPositionDialog.cpp
- helpers/CWptIconDialog.cpp
-+ helpers/CTextEditWidget.cpp
- canvas/CCanvas.cpp
- canvas/CCanvasSetup.cpp
- canvas/IDrawContext.cpp
-@@ -93,6 +94,7 @@
- helpers/CInputDialog.h
- helpers/CPositionDialog.h
- helpers/CWptIconDialog.h
-+ helpers/CTextEditWidget.h
- canvas/CCanvas.h
- canvas/CCanvasSetup.h
- canvas/IDrawContext.h
-@@ -160,6 +162,7 @@
- helpers/IInputDialog.ui
- helpers/IPositionDialog.ui
- helpers/IWptIconDialog.ui
-+ helpers/ITextEditWidget.ui
- canvas/ICanvasSetup.ui
- dem/IDemList.ui
- dem/IDemPathSetup.ui
-diff --git a/src/gis/CGisListWks.cpp b/src/gis/CGisListWks.cpp
---- a/src/gis/CGisListWks.cpp
-+++ b/src/gis/CGisListWks.cpp
-@@ -39,8 +39,6 @@
- menuItem = new QMenu(this);
- actionEditDetails = menuItem->addAction(QIcon("://icons/32x32/EditDetails.png"),tr("Edit..."), this, SLOT(slotEditItem()));
- actionDelete = menuItem->addAction(QIcon("://icons/48x48/DeleteOne.png"),tr("Delete"), this, SLOT(slotDeleteItem()));
--
-- actionEditDetails->setEnabled(false);
- }
-
- CGisListWks::~CGisListWks()
-@@ -143,7 +141,14 @@
-
- void CGisListWks::slotEditItem()
- {
--
-+ IGisItem::mutexItems.lock();
-+ IGisItem * gisItem = dynamic_cast<IGisItem*>(currentItem());
-+ if(gisItem != 0)
-+ {
-+ QString key = gisItem->getKey();
-+ CGisWidget::self().editItemByKey(key);
-+ }
-+ IGisItem::mutexItems.unlock();
- }
-
- void CGisListWks::slotDeleteItem()
-diff --git a/src/gis/CGisWidget.cpp b/src/gis/CGisWidget.cpp
---- a/src/gis/CGisWidget.cpp
-+++ b/src/gis/CGisWidget.cpp
-@@ -33,7 +33,9 @@
- pSelf = this;
- setupUi(this);
-
-- treeWks->header()->setSectionResizeMode(0,QHeaderView::ResizeToContents);
-+// treeWks->header()->setSectionResizeMode(0,QHeaderView::Interactive);
-+ treeWks->header()->setSectionResizeMode(1,QHeaderView::ResizeToContents);
-+// treeWks->header()->setCascadingSectionResizes(true);
-
-
- connect(treeWks, SIGNAL(sigChanged()), SIGNAL(sigChanged()));
-diff --git a/src/gis/IGisWidget.ui b/src/gis/IGisWidget.ui
---- a/src/gis/IGisWidget.ui
-+++ b/src/gis/IGisWidget.ui
-@@ -43,8 +43,5 @@
- <height>22</height>
- </size>
- </property>
-- <attribute name="headerVisible">
-- <bool>false</bool>
-- </attribute>
- <column>
- <property name="text">
-@@ -49,7 +46,7 @@
- <column>
- <property name="text">
-- <string notr="true">1</string>
-+ <string notr="true">Name</string>
- </property>
- </column>
- <column>
- <property name="text">
-@@ -52,8 +49,8 @@
- </property>
- </column>
- <column>
- <property name="text">
-- <string>2</string>
-+ <string>State</string>
- </property>
- </column>
- </widget>
-diff --git a/src/gis/wpt/CDetailsWpt.cpp b/src/gis/wpt/CDetailsWpt.cpp
---- a/src/gis/wpt/CDetailsWpt.cpp
-+++ b/src/gis/wpt/CDetailsWpt.cpp
-@@ -23,6 +23,7 @@
- #include "helpers/CInputDialog.h"
- #include "helpers/CPositionDialog.h"
- #include "helpers/CWptIconDialog.h"
-+#include "helpers/CTextEditWidget.h"
-
-
- #include <QtWidgets>
-@@ -38,6 +39,8 @@
- connect(labelElevation, SIGNAL(linkActivated(QString)), this, SLOT(slotLinkActivated(QString)));
- connect(labelProximity, SIGNAL(linkActivated(QString)), this, SLOT(slotLinkActivated(QString)));
- connect(toolIcon, SIGNAL(clicked()), this, SLOT(slotChangeIcon()));
-+ connect(toolEditCmt, SIGNAL(clicked()), this, SLOT(slotChangeCmt()));
-+ connect(toolEditDesc, SIGNAL(clicked()), this, SLOT(slotChangeDesc()));
- }
-
- CDetailsWpt::~CDetailsWpt()
-@@ -151,3 +154,25 @@
- setupGui();
- }
- }
-+
-+void CDetailsWpt::slotChangeCmt()
-+{
-+ CTextEditWidget dlg(0);
-+ dlg.setHtml(wpt.getComment());
-+ if(dlg.exec() == QDialog::Accepted)
-+ {
-+ wpt.setComment(dlg.getHtml());
-+ setupGui();
-+ }
-+}
-+
-+void CDetailsWpt::slotChangeDesc()
-+{
-+ CTextEditWidget dlg(0);
-+ dlg.setHtml(wpt.getDescription());
-+ if(dlg.exec() == QDialog::Accepted)
-+ {
-+ wpt.setDescription(dlg.getHtml());
-+ setupGui();
-+ }
-+}
-diff --git a/src/gis/wpt/CDetailsWpt.h b/src/gis/wpt/CDetailsWpt.h
---- a/src/gis/wpt/CDetailsWpt.h
-+++ b/src/gis/wpt/CDetailsWpt.h
-@@ -34,6 +34,8 @@
- private slots:
- void slotLinkActivated(const QString& link);
- void slotChangeIcon();
-+ void slotChangeCmt();
-+ void slotChangeDesc();
-
- private:
- void setupGui();
-diff --git a/src/gis/wpt/IScrOptWpt.ui b/src/gis/wpt/IScrOptWpt.ui
---- a/src/gis/wpt/IScrOptWpt.ui
-+++ b/src/gis/wpt/IScrOptWpt.ui
-@@ -88,9 +88,15 @@
- </item>
- <item>
- <widget class="QLabel" name="label">
-+ <property name="maximumSize">
-+ <size>
-+ <width>400</width>
-+ <height>16777215</height>
-+ </size>
-+ </property>
- <property name="text">
- <string>TextLabel</string>
- </property>
- <property name="textFormat">
- <enum>Qt::AutoText</enum>
- </property>
-@@ -91,9 +97,12 @@
- <property name="text">
- <string>TextLabel</string>
- </property>
- <property name="textFormat">
- <enum>Qt::AutoText</enum>
- </property>
-+ <property name="wordWrap">
-+ <bool>true</bool>
-+ </property>
- </widget>
- </item>
- </layout>
-diff --git a/src/helpers/IWptIconDialog.ui b/src/helpers/IWptIconDialog.ui
---- a/src/helpers/IWptIconDialog.ui
-+++ b/src/helpers/IWptIconDialog.ui
-@@ -24,16 +24,6 @@
- </property>
- </widget>
- </item>
-- <item>
-- <widget class="QDialogButtonBox" name="buttonBox">
-- <property name="orientation">
-- <enum>Qt::Horizontal</enum>
-- </property>
-- <property name="standardButtons">
-- <set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
-- </property>
-- </widget>
-- </item>
- </layout>
- </widget>
- <resources/>
-@@ -37,38 +27,5 @@
- </layout>
- </widget>
- <resources/>
-- <connections>
-- <connection>
-- <sender>buttonBox</sender>
-- <signal>accepted()</signal>
-- <receiver>IWptIconDialog</receiver>
-- <slot>accept()</slot>
-- <hints>
-- <hint type="sourcelabel">
-- <x>248</x>
-- <y>254</y>
-- </hint>
-- <hint type="destinationlabel">
-- <x>157</x>
-- <y>274</y>
-- </hint>
-- </hints>
-- </connection>
-- <connection>
-- <sender>buttonBox</sender>
-- <signal>rejected()</signal>
-- <receiver>IWptIconDialog</receiver>
-- <slot>reject()</slot>
-- <hints>
-- <hint type="sourcelabel">
-- <x>316</x>
-- <y>260</y>
-- </hint>
-- <hint type="destinationlabel">
-- <x>286</x>
-- <y>274</y>
-- </hint>
-- </hints>
-- </connection>
-- </connections>
-+ <connections/>
- </ui>
-diff --git a/src/resources.qrc b/src/resources.qrc
---- a/src/resources.qrc
-+++ b/src/resources.qrc
-@@ -68,6 +68,19 @@
- <file>icons/16x16/EditDetails.png</file>
- <file>icons/16x16/EditText.png</file>
- <file>icons/16x16/TimeZoneSetup.png</file>
-+ <file>icons/16x16/Undo.png</file>
-+ <file>icons/16x16/Redo.png</file>
-+ <file>icons/16x16/Cut.png</file>
-+ <file>icons/16x16/Copy.png</file>
-+ <file>icons/16x16/Paste.png</file>
-+ <file>icons/16x16/TextLeft.png</file>
-+ <file>icons/16x16/TextRight.png</file>
-+ <file>icons/16x16/TextCenter.png</file>
-+ <file>icons/16x16/TextJustified.png</file>
-+ <file>icons/16x16/TextBold.png</file>
-+ <file>icons/16x16/TextUnderlined.png</file>
-+ <file>icons/16x16/TextItalic.png</file>
-+
- <file>icons/32x32/2DFix.png</file>
- <file>icons/32x32/3DFix.png</file>
- <file>icons/32x32/Add.png</file>
-@@ -118,6 +131,21 @@
- <file>icons/32x32/EditDetails.png</file>
- <file>icons/32x32/EditText.png</file>
- <file>icons/32x32/TimeZoneSetup.png</file>
-+ <file>icons/32x32/Undo.png</file>
-+ <file>icons/32x32/Redo.png</file>
-+ <file>icons/32x32/Cut.png</file>
-+ <file>icons/32x32/Copy.png</file>
-+ <file>icons/32x32/Paste.png</file>
-+ <file>icons/32x32/TextLeft.png</file>
-+ <file>icons/32x32/TextRight.png</file>
-+ <file>icons/32x32/TextCenter.png</file>
-+ <file>icons/32x32/TextJustified.png</file>
-+ <file>icons/32x32/TextBold.png</file>
-+ <file>icons/32x32/TextUnderlined.png</file>
-+ <file>icons/32x32/TextItalic.png</file>
-+
-+
-+
- <file>icons/48x48/2DFix.png</file>
- <file>icons/48x48/3DFix.png</file>
- <file>icons/48x48/Add.png</file>
-@@ -168,6 +196,21 @@
- <file>icons/48x48/EditDetails.png</file>
- <file>icons/48x48/EditText.png</file>
- <file>icons/48x48/TimeZoneSetup.png</file>
-+ <file>icons/48x48/Undo.png</file>
-+ <file>icons/48x48/Redo.png</file>
-+ <file>icons/48x48/Cut.png</file>
-+ <file>icons/48x48/Copy.png</file>
-+ <file>icons/48x48/Paste.png</file>
-+ <file>icons/48x48/TextLeft.png</file>
-+ <file>icons/48x48/TextRight.png</file>
-+ <file>icons/48x48/TextCenter.png</file>
-+ <file>icons/48x48/TextJustified.png</file>
-+ <file>icons/48x48/TextBold.png</file>
-+ <file>icons/48x48/TextUnderlined.png</file>
-+ <file>icons/48x48/TextItalic.png</file>
-+
-+
-+
- <file>icons/cache/32x32/bluepin.png</file>
- <file>icons/cache/32x32/cito.png</file>
- <file>icons/cache/32x32/corrected.png</file>
diff --git a/.hg/Trashcan/2014-08-10_14-17-09_parent_rev_212_ygOGzc.bak b/.hg/Trashcan/2014-08-10_14-17-09_parent_rev_212_ygOGzc.bak
deleted file mode 100644
index a096400..0000000
--- a/.hg/Trashcan/2014-08-10_14-17-09_parent_rev_212_ygOGzc.bak
+++ /dev/null
@@ -1,374 +0,0 @@
-diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
---- a/src/CMakeLists.txt
-+++ b/src/CMakeLists.txt
-@@ -20,6 +20,7 @@
- helpers/CInputDialog.cpp
- helpers/CPositionDialog.cpp
- helpers/CWptIconDialog.cpp
-+ helpers/CTextEditWidget.cpp
- canvas/CCanvas.cpp
- canvas/CCanvasSetup.cpp
- canvas/IDrawContext.cpp
-@@ -93,6 +94,7 @@
- helpers/CInputDialog.h
- helpers/CPositionDialog.h
- helpers/CWptIconDialog.h
-+ helpers/CTextEditWidget.h
- canvas/CCanvas.h
- canvas/CCanvasSetup.h
- canvas/IDrawContext.h
-@@ -160,6 +162,7 @@
- helpers/IInputDialog.ui
- helpers/IPositionDialog.ui
- helpers/IWptIconDialog.ui
-+ helpers/ITextEditWidget.ui
- canvas/ICanvasSetup.ui
- dem/IDemList.ui
- dem/IDemPathSetup.ui
-diff --git a/src/gis/CGisListWks.cpp b/src/gis/CGisListWks.cpp
---- a/src/gis/CGisListWks.cpp
-+++ b/src/gis/CGisListWks.cpp
-@@ -39,8 +39,6 @@
- menuItem = new QMenu(this);
- actionEditDetails = menuItem->addAction(QIcon("://icons/32x32/EditDetails.png"),tr("Edit..."), this, SLOT(slotEditItem()));
- actionDelete = menuItem->addAction(QIcon("://icons/48x48/DeleteOne.png"),tr("Delete"), this, SLOT(slotDeleteItem()));
--
-- actionEditDetails->setEnabled(false);
- }
-
- CGisListWks::~CGisListWks()
-@@ -143,7 +141,14 @@
-
- void CGisListWks::slotEditItem()
- {
--
-+ IGisItem::mutexItems.lock();
-+ IGisItem * gisItem = dynamic_cast<IGisItem*>(currentItem());
-+ if(gisItem != 0)
-+ {
-+ QString key = gisItem->getKey();
-+ CGisWidget::self().editItemByKey(key);
-+ }
-+ IGisItem::mutexItems.unlock();
- }
-
- void CGisListWks::slotDeleteItem()
-diff --git a/src/gis/CGisWidget.cpp b/src/gis/CGisWidget.cpp
---- a/src/gis/CGisWidget.cpp
-+++ b/src/gis/CGisWidget.cpp
-@@ -33,7 +33,9 @@
- pSelf = this;
- setupUi(this);
-
-- treeWks->header()->setSectionResizeMode(0,QHeaderView::ResizeToContents);
-+// treeWks->header()->setSectionResizeMode(0,QHeaderView::Interactive);
-+ treeWks->header()->setSectionResizeMode(1,QHeaderView::ResizeToContents);
-+// treeWks->header()->setCascadingSectionResizes(true);
-
-
- connect(treeWks, SIGNAL(sigChanged()), SIGNAL(sigChanged()));
-diff --git a/src/gis/IGisItem.cpp b/src/gis/IGisItem.cpp
---- a/src/gis/IGisItem.cpp
-+++ b/src/gis/IGisItem.cpp
-@@ -278,7 +278,7 @@
- }
- }
-
--void IGisItem::removeHtml(QString &str)
-+QString IGisItem::removeHtml(const QString &str)
- {
- QTextDocument html;
- html.setHtml(str);
-@@ -282,5 +282,5 @@
- {
- QTextDocument html;
- html.setHtml(str);
-- str = html.toPlainText();
-+ return html.toPlainText();
- }
-diff --git a/src/gis/IGisItem.h b/src/gis/IGisItem.h
---- a/src/gis/IGisItem.h
-+++ b/src/gis/IGisItem.h
-@@ -115,6 +115,8 @@
-
- virtual void edit(){}
-
-+ static QString removeHtml(const QString &str);
-+
- protected:
- friend class CGisProject;
- struct wpt_t;
-@@ -125,7 +127,7 @@
- QString color2str(const QColor &color);
- void splitLineToViewport(const QPolygonF& line, const QRectF& extViewport, QList<QPolygonF>& lines);
- void drawArrows(const QPolygonF &line, const QRectF &extViewport, QPainter& p);
-- void removeHtml(QString &str);
-+
-
-
- struct color_t
-diff --git a/src/gis/IGisWidget.ui b/src/gis/IGisWidget.ui
---- a/src/gis/IGisWidget.ui
-+++ b/src/gis/IGisWidget.ui
-@@ -43,8 +43,5 @@
- <height>22</height>
- </size>
- </property>
-- <attribute name="headerVisible">
-- <bool>false</bool>
-- </attribute>
- <column>
- <property name="text">
-@@ -49,7 +46,7 @@
- <column>
- <property name="text">
-- <string notr="true">1</string>
-+ <string notr="true">Name</string>
- </property>
- </column>
- <column>
- <property name="text">
-@@ -52,8 +49,8 @@
- </property>
- </column>
- <column>
- <property name="text">
-- <string>2</string>
-+ <string>State</string>
- </property>
- </column>
- </widget>
-diff --git a/src/gis/wpt/CDetailsWpt.cpp b/src/gis/wpt/CDetailsWpt.cpp
---- a/src/gis/wpt/CDetailsWpt.cpp
-+++ b/src/gis/wpt/CDetailsWpt.cpp
-@@ -23,6 +23,7 @@
- #include "helpers/CInputDialog.h"
- #include "helpers/CPositionDialog.h"
- #include "helpers/CWptIconDialog.h"
-+#include "helpers/CTextEditWidget.h"
-
-
- #include <QtWidgets>
-@@ -38,6 +39,8 @@
- connect(labelElevation, SIGNAL(linkActivated(QString)), this, SLOT(slotLinkActivated(QString)));
- connect(labelProximity, SIGNAL(linkActivated(QString)), this, SLOT(slotLinkActivated(QString)));
- connect(toolIcon, SIGNAL(clicked()), this, SLOT(slotChangeIcon()));
-+ connect(toolEditCmt, SIGNAL(clicked()), this, SLOT(slotChangeCmt()));
-+ connect(toolEditDesc, SIGNAL(clicked()), this, SLOT(slotChangeDesc()));
- }
-
- CDetailsWpt::~CDetailsWpt()
-@@ -151,3 +154,25 @@
- setupGui();
- }
- }
-+
-+void CDetailsWpt::slotChangeCmt()
-+{
-+ CTextEditWidget dlg(0);
-+ dlg.setHtml(wpt.getComment());
-+ if(dlg.exec() == QDialog::Accepted)
-+ {
-+ wpt.setComment(dlg.getHtml());
-+ setupGui();
-+ }
-+}
-+
-+void CDetailsWpt::slotChangeDesc()
-+{
-+ CTextEditWidget dlg(0);
-+ dlg.setHtml(wpt.getDescription());
-+ if(dlg.exec() == QDialog::Accepted)
-+ {
-+ wpt.setDescription(dlg.getHtml());
-+ setupGui();
-+ }
-+}
-diff --git a/src/gis/wpt/CDetailsWpt.h b/src/gis/wpt/CDetailsWpt.h
---- a/src/gis/wpt/CDetailsWpt.h
-+++ b/src/gis/wpt/CDetailsWpt.h
-@@ -34,6 +34,8 @@
- private slots:
- void slotLinkActivated(const QString& link);
- void slotChangeIcon();
-+ void slotChangeCmt();
-+ void slotChangeDesc();
-
- private:
- void setupGui();
-diff --git a/src/gis/wpt/CGisItemWpt.cpp b/src/gis/wpt/CGisItemWpt.cpp
---- a/src/gis/wpt/CGisItemWpt.cpp
-+++ b/src/gis/wpt/CGisItemWpt.cpp
-@@ -18,8 +18,9 @@
-
- #include "gis/wpt/CGisItemWpt.h"
- #include "gis/wpt/CDetailsWpt.h"
-+#include "gis/wpt/CScrOptWpt.h"
- #include "gis/CGisProject.h"
- #include "gis/CGisDraw.h"
- #include "gis/WptIcons.h"
- #include "canvas/CCanvas.h"
- #include "mouse/IMouse.h"
-@@ -21,9 +22,8 @@
- #include "gis/CGisProject.h"
- #include "gis/CGisDraw.h"
- #include "gis/WptIcons.h"
- #include "canvas/CCanvas.h"
- #include "mouse/IMouse.h"
--#include "gis/wpt/CScrOptWpt.h"
- #include "units/IUnit.h"
- #include "GeoMath.h"
-
-@@ -88,7 +88,7 @@
-
- QString CGisItemWpt::getInfo()
- {
-- QString str = getName();
-+ QString str = "<p>" + getName() + "</p>";
-
- if(geocache.hasData)
- {
-@@ -97,10 +97,10 @@
-
- if(wpt.time.isValid())
- {
-- if(!str.isEmpty()) str += "\n";
-+ if(!str.isEmpty()) str += "<br/>\n";
-
- str += IUnit::datetime2string(wpt.time, QPointF(wpt.lon*DEG_TO_RAD, wpt.lat*DEG_TO_RAD));
- }
-
- if(wpt.ele != NOINT)
- {
-@@ -101,10 +101,10 @@
-
- str += IUnit::datetime2string(wpt.time, QPointF(wpt.lon*DEG_TO_RAD, wpt.lat*DEG_TO_RAD));
- }
-
- if(wpt.ele != NOINT)
- {
-- if(!str.isEmpty()) str += "\n";
-+ if(!str.isEmpty()) str += "<br/>\n";
- QString val, unit;
- IUnit::self().meter2elevation(wpt.ele, val, unit);
- str += QObject::tr("Elevation: %1 %2").arg(val).arg(unit);
-@@ -112,9 +112,9 @@
-
- if(proximity != NOFLOAT)
- {
-- if(!str.isEmpty()) str += "\n";
-+ if(!str.isEmpty()) str += "<br/>\n";
- QString val, unit;
- IUnit::self().meter2distance(proximity, val, unit);
- str += QObject::tr("Proximity: %1 %2").arg(val).arg(unit);
- }
-
-@@ -116,7 +116,8 @@
- QString val, unit;
- IUnit::self().meter2distance(proximity, val, unit);
- str += QObject::tr("Proximity: %1 %2").arg(val).arg(unit);
- }
-
-- if(wpt.desc.count())
-+ QString desc = removeHtml(wpt.desc);
-+ if(desc.count())
- {
-@@ -122,3 +123,3 @@
- {
-- if(!str.isEmpty()) str += "\n";
-+ if(!str.isEmpty()) str += "<br/>\n";
-
-@@ -124,3 +125,3 @@
-
-- if(wpt.desc.count() < 200)
-+ if(desc.count() < 200)
- {
-@@ -126,5 +127,5 @@
- {
-- str += wpt.desc;
-+ str += desc;
- }
- else
- {
-@@ -128,8 +129,8 @@
- }
- else
- {
-- str += wpt.desc.left(197) + "...";
-+ str += desc.left(197) + "...";
- }
- }
- else
- {
-@@ -132,7 +133,7 @@
- }
- }
- else
- {
-- QString cmt = wpt.cmt;
-+ QString cmt = removeHtml(wpt.cmt);
- if(cmt.count())
- {
-@@ -137,6 +138,6 @@
- if(cmt.count())
- {
-- if(!str.isEmpty()) str += "\n";
-+ if(!str.isEmpty()) str += "<br/>\n";
-
- if(cmt.count() < 200)
- {
-@@ -148,6 +149,9 @@
- }
- }
- }
-+
-+ qDebug() << "-----------------------";
-+ qDebug() << str;
- return str;
- }
-
-@@ -207,6 +211,20 @@
- setIcon();
- }
-
-+void CGisItemWpt::setComment(const QString& str)
-+{
-+ setText(1,"*");
-+ wpt.cmt = str;
-+ setToolTip(0,getInfo());
-+}
-+
-+void CGisItemWpt::setDescription(const QString& str)
-+{
-+ setText(1,"*");
-+ wpt.desc = str;
-+ setToolTip(0,getInfo());
-+}
-+
- void CGisItemWpt::save(QDomNode& gpx)
- {
- QDomDocument doc = gpx.ownerDocument();
-diff --git a/src/gis/wpt/CGisItemWpt.h b/src/gis/wpt/CGisItemWpt.h
---- a/src/gis/wpt/CGisItemWpt.h
-+++ b/src/gis/wpt/CGisItemWpt.h
-@@ -35,6 +35,8 @@
- void setElevation(qint32 val);
- void setProximity(qreal val);
- void setIcon(const QString& name);
-+ void setComment(const QString& str);
-+ void setDescription(const QString& str);
-
- const QString& getName(){return wpt.name;}
- QString getInfo();
-diff --git a/src/gis/wpt/CScrOptWpt.cpp b/src/gis/wpt/CScrOptWpt.cpp
---- a/src/gis/wpt/CScrOptWpt.cpp
-+++ b/src/gis/wpt/CScrOptWpt.cpp
-@@ -33,7 +33,7 @@
- setupUi(this);
- setOrigin(origin);
- label->setFont(CMainWindow::self().getMapFont());
-- label->setText(wpt->getInfo());
-+ label->setText(IGisItem::removeHtml(wpt->getInfo()));
-
- anchor = wpt->getPointCloseBy(origin);
- move(anchor.toPoint() + QPoint(30,30));
diff --git a/.hg/Trashcan/2015-02-22_12-03-51_parent_rev_750_8rXOP9.bak b/.hg/Trashcan/2015-02-22_12-03-51_parent_rev_750_8rXOP9.bak
deleted file mode 100644
index bd92182..0000000
--- a/.hg/Trashcan/2015-02-22_12-03-51_parent_rev_750_8rXOP9.bak
+++ /dev/null
@@ -1,14 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -20,8 +20,8 @@
- set(APPLICATION_NAME qmapshack)
-
- set(APPLICATION_VERSION_MAJOR "1")
--set(APPLICATION_VERSION_MINOR "X")
--set(APPLICATION_VERSION_PATCH "X")
-+set(APPLICATION_VERSION_MINOR "0")
-+set(APPLICATION_VERSION_PATCH "0")
-
- add_definitions(-DVER_MAJOR=${APPLICATION_VERSION_MAJOR} -DVER_MINOR=${APPLICATION_VERSION_MINOR} -DVER_STEP=${APPLICATION_VERSION_PATCH} -DAPPLICATION_NAME=${PROJECT_NAME})
-
diff --git a/.hg/Trashcan/2015-02-22_12-03-51_parent_rev_750_BKqvxh.bak b/.hg/Trashcan/2015-02-22_12-03-51_parent_rev_750_BKqvxh.bak
deleted file mode 100644
index 8fcd592..0000000
--- a/.hg/Trashcan/2015-02-22_12-03-51_parent_rev_750_BKqvxh.bak
+++ /dev/null
@@ -1,30 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -20,8 +20,8 @@
- set(APPLICATION_NAME qmapshack)
-
- set(APPLICATION_VERSION_MAJOR "1")
--set(APPLICATION_VERSION_MINOR "X")
--set(APPLICATION_VERSION_PATCH "X")
-+set(APPLICATION_VERSION_MINOR "0")
-+set(APPLICATION_VERSION_PATCH "0")
-
- add_definitions(-DVER_MAJOR=${APPLICATION_VERSION_MAJOR} -DVER_MINOR=${APPLICATION_VERSION_MINOR} -DVER_STEP=${APPLICATION_VERSION_PATCH} -DAPPLICATION_NAME=${PROJECT_NAME})
-
-diff --git a/changelog.txt b/changelog.txt
---- a/changelog.txt
-+++ b/changelog.txt
-@@ -1,3 +1,12 @@
-+V 1.0.0
-+* Update Czech, French, German and Spanish translation
-+* Fix dialogs hiding behind main window
-+* Fix various application crashes
-+* Fix tile cache growing too large
-+* Fix cliff polylines in Garmin maps
-+* Add device support on Windows
-+* Various little GUI optimizations
-+
- V 1.0.beta1
- * Add support for TwoNav units
- * Load/Restore images attached to waypoints on devices
diff --git a/.hg/Trashcan/2015-02-22_12-03-51_parent_rev_750_Yt2BGo.bak b/.hg/Trashcan/2015-02-22_12-03-51_parent_rev_750_Yt2BGo.bak
deleted file mode 100644
index 5d446f4..0000000
--- a/.hg/Trashcan/2015-02-22_12-03-51_parent_rev_750_Yt2BGo.bak
+++ /dev/null
@@ -1,11 +0,0 @@
-diff --git a/src/map/cache/CDiskCache.cpp b/src/map/cache/CDiskCache.cpp
---- a/src/map/cache/CDiskCache.cpp
-+++ b/src/map/cache/CDiskCache.cpp
-@@ -135,6 +135,7 @@
-
- if(tmpSize > maxSize)
- {
-+ files = dir.entryInfoList(QStringList("*.png"), QDir::Files, QDir::Time|QDir::Reversed);
- // if cache is still too large remove oldest files
- foreach(const QFileInfo &fileinfo, files)
- {
diff --git a/.hg/Trashcan/2015-02-22_12-03-51_parent_rev_750_oX1H7k.bak b/.hg/Trashcan/2015-02-22_12-03-51_parent_rev_750_oX1H7k.bak
deleted file mode 100644
index e69de29..0000000
diff --git a/.hg/Trashcan/2015-02-22_12-03-51_parent_rev_750_q0CIcf.bak b/.hg/Trashcan/2015-02-22_12-03-51_parent_rev_750_q0CIcf.bak
deleted file mode 100644
index e69de29..0000000
diff --git a/.hg/Trashcan/2015-02-22_12-03-51_parent_rev_750_urUEGg.bak b/.hg/Trashcan/2015-02-22_12-03-51_parent_rev_750_urUEGg.bak
deleted file mode 100644
index bd92182..0000000
--- a/.hg/Trashcan/2015-02-22_12-03-51_parent_rev_750_urUEGg.bak
+++ /dev/null
@@ -1,14 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -20,8 +20,8 @@
- set(APPLICATION_NAME qmapshack)
-
- set(APPLICATION_VERSION_MAJOR "1")
--set(APPLICATION_VERSION_MINOR "X")
--set(APPLICATION_VERSION_PATCH "X")
-+set(APPLICATION_VERSION_MINOR "0")
-+set(APPLICATION_VERSION_PATCH "0")
-
- add_definitions(-DVER_MAJOR=${APPLICATION_VERSION_MAJOR} -DVER_MINOR=${APPLICATION_VERSION_MINOR} -DVER_STEP=${APPLICATION_VERSION_PATCH} -DAPPLICATION_NAME=${PROJECT_NAME})
-
diff --git a/.hg/Trashcan/CDetailsTrk_6SCvxa.cpp.bak b/.hg/Trashcan/CDetailsTrk_6SCvxa.cpp.bak
deleted file mode 100644
index 3b22b1f..0000000
--- a/.hg/Trashcan/CDetailsTrk_6SCvxa.cpp.bak
+++ /dev/null
@@ -1,373 +0,0 @@
-/**********************************************************************************************
- Copyright (C) 2014 Oliver Eichler oliver.eichler at gmx.de
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-**********************************************************************************************/
-
-#include "gis/trk/CDetailsTrk.h"
-#include "helpers/CSettings.h"
-#include "helpers/CTextEditWidget.h"
-#include "helpers/CLinksDialog.h"
-#include "units/IUnit.h"
-#include "GeoMath.h"
-
-#include <QtWidgets>
-#include <proj_api.h>
-
-CDetailsTrk::CDetailsTrk(CGisItemTrk& trk, QWidget *parent)
- : QWidget(parent)
- , trk(trk)
- , originator(false)
-{
- setupUi(this);
-
- QPixmap icon(16,8);
- for(int i=0; i < TRK_N_COLORS; ++i)
- {
- icon.fill(CGisItemTrk::lineColors[i]);
- comboColor->addItem(icon,"",CGisItemTrk::lineColors[i]);
- }
-
- setupGui();
-
- SETTINGS;
- cfg.beginGroup("TrackDetails");
- checkProfile->setChecked(cfg.value("showProfile", true).toBool());
- checkSpeed->setChecked(cfg.value("showSpeed", true).toBool());
- checkProgress->setChecked(cfg.value("showProgress", true).toBool());
- splitter->restoreState(cfg.value("splitterSizes").toByteArray());
- cfg.endGroup();
-
- connect(checkProfile, SIGNAL(clicked()), this, SLOT(slotShowPlots()));
- connect(checkSpeed, SIGNAL(clicked()), this, SLOT(slotShowPlots()));
- connect(checkProgress, SIGNAL(clicked()), this, SLOT(slotShowPlots()));
- connect(comboColor, SIGNAL(currentIndexChanged(int)), this, SLOT(slotColorChanged(int)));
- connect(lineName, SIGNAL(returnPressed()), this, SLOT(slotNameChanged()));
- connect(lineName, SIGNAL(textChanged(QString)), this, SLOT(slotNameChanged(QString)));
- connect(toolLock, SIGNAL(toggled(bool)), this, SLOT(slotChangeReadOnlyMode(bool)));
- connect(treeWidget, SIGNAL(itemSelectionChanged()), this, SLOT(slotItemSelectionChanged()));
- connect(textCmtDesc, SIGNAL(anchorClicked(QUrl)), this, SLOT(slotLinkActivated(QUrl)));
-
- connect(listHistory, SIGNAL(sigChanged()), this, SLOT(setupGui()));
-
- slotShowPlots();
-
-}
-
-CDetailsTrk::~CDetailsTrk()
-{
- SETTINGS;
- cfg.beginGroup("TrackDetails");
- cfg.setValue("showProfile", checkProfile->isChecked());
- cfg.setValue("showSpeed", checkSpeed->isChecked());
- cfg.setValue("showProgress", checkProgress->isChecked());
- cfg.setValue("splitterSizes", splitter->saveState());
- cfg.endGroup();
-}
-
-
-
-void CDetailsTrk::setupGui()
-{
- if(originator)
- {
- return;
- }
- QApplication::setOverrideCursor(Qt::WaitCursor);
- originator = true;
-
- QString str, val, unit;
- bool isReadOnly = trk.isReadOnly();
-
- if(trk.isTainted())
- {
- labelTainted->show();
- }
- else
- {
- labelTainted->hide();
- }
-
- labelInfo->setText(trk.getInfo());
- lineName->setEnabled(!isReadOnly);
- comboColor->setCurrentIndex(trk.getColorIdx());
- comboColor->setEnabled(!isReadOnly);
- toolLock->setChecked(isReadOnly);
-
- QList<QTreeWidgetItem*> items;
- const CGisItemTrk::trk_t& t = trk.getTrackData();
- foreach (const CGisItemTrk::trkseg_t& seg, t.segs)
- {
- foreach(const CGisItemTrk::trkpt_t& trkpt, seg.pts)
- {
-
- QTreeWidgetItem * item = new QTreeWidgetItem();
- item->setTextAlignment(eColNum,Qt::AlignLeft);
- item->setTextAlignment(eColEle,Qt::AlignRight);
- item->setTextAlignment(eColDelta,Qt::AlignRight);
- item->setTextAlignment(eColDist,Qt::AlignRight);
- item->setTextAlignment(eColAscend,Qt::AlignRight);
- item->setTextAlignment(eColDescend,Qt::AlignRight);
- item->setTextAlignment(eColSpeed,Qt::AlignRight);
-
-
- if(trkpt.flags & CGisItemTrk::trkpt_t::eHidden)
- {
- for(int i = 0; i < eColMax; i++)
- {
- item->setForeground(i,QBrush(Qt::gray));
- }
- }
- else
- {
- for(int i = 0; i < eColMax; i++)
- {
- item->setForeground(i,QBrush(Qt::black));
- }
- }
-
- item->setText(eColNum,QString::number(trkpt.idxTotal));
- if(trkpt.time.isValid())
- {
- item->setText(eColTime, IUnit::self().datetime2string(trkpt.time, true, QPointF(trkpt.lon, trkpt.lat)*DEG_TO_RAD));
- }
- else
- {
- item->setText(eColTime, "-");
- }
-
- if(trkpt.ele != NOINT)
- {
- IUnit::self().meter2elevation(trkpt.ele, val, unit);
- str = tr("%1 %2").arg(val).arg(unit);
- }
- else
- {
- str = "-";
- }
- item->setText(eColEle,str);
-
- IUnit::self().meter2distance(trkpt.deltaDistance, val, unit);
- item->setText(eColDelta, tr("%1 %2").arg(val).arg(unit));
-
- IUnit::self().meter2distance(trkpt.distance, val, unit);
- item->setText(eColDist, tr("%1 %2").arg(val).arg(unit));
-
- // speed
- if(trkpt.speed != NOFLOAT)
- {
- IUnit::self().meter2speed(trkpt.speed, val, unit);
- str = tr("%1 %2").arg(val).arg(unit);
- }
- else
- {
- str = "-";
- }
- item->setText(eColSpeed,str);
-
- if(trkpt.slope1 != NOFLOAT)
- {
- str = QString("%1°(%2%)").arg(trkpt.slope1,2,'f',0).arg(trkpt.slope2,2,'f',0);
- }
- else
- {
- str = "-";
- }
- item->setText(eColSlope,str);
-
- IUnit::self().meter2elevation(trkpt.ascend, val, unit);
- item->setText(eColAscend, tr("%1 %2").arg(val).arg(unit));
- IUnit::self().meter2elevation(trkpt.descend, val, unit);
- item->setText(eColDescend, tr("%1 %2").arg(val).arg(unit));
-
- // position
- GPS_Math_Deg_To_Str(trkpt.lon, trkpt.lat, str);
- item->setText(eColPosition,str);
-
- items << item;
-
- }
- }
-
- treeWidget->clear();
- treeWidget->addTopLevelItems(items);
- treeWidget->header()->resizeSections(QHeaderView::ResizeToContents);
-
- lineName->setText(trk.getName());
-
- textCmtDesc->document()->clear();
- textCmtDesc->append(IGisItem::createText(isReadOnly, trk.getComment(), trk.getDescription(), trk.getLinks()));
- textCmtDesc->moveCursor (QTextCursor::Start) ;
- textCmtDesc->ensureCursorVisible() ;
-
- plotElevation->setTrack(&trk);
- plotDistance->setTrack(&trk);
- plotSpeed->setTrack(&trk);
- plotTrack->setTrack(&trk);
-
- listHistory->setupHistory(trk);
-
- originator = false;
- QApplication::restoreOverrideCursor();
-}
-
-void CDetailsTrk::setMouseMoveFocus(const CGisItemTrk::trkpt_t * pt)
-{
- if(pt != 0)
- {
- plotTrack->setMouseMoveFocus(pt->lon, pt->lat);
- labelInfoTrkPt->setText(trk.getInfoTrkPt(*pt));
- labelInfoProgress->setText(trk.getInfoProgress(*pt));
- }
- else
- {
- labelInfoTrkPt->setText("-\n-");
- labelInfoProgress->setText("-\n-");
- }
-}
-
-void CDetailsTrk::setMouseClickFocus(const CGisItemTrk::trkpt_t * pt)
-{
- if(pt != 0)
- {
- treeWidget->blockSignals(true);
- treeWidget->setCurrentItem(treeWidget->topLevelItem(pt->idxTotal));
- treeWidget->blockSignals(false);
- }
-}
-
-void CDetailsTrk::slotShowPlots()
-{
- if(checkProfile->isChecked())
- {
- plotElevation->show();
- }
- else
- {
- plotElevation->hide();
- }
-
- if(checkSpeed->isChecked())
- {
- plotSpeed->show();
- }
- else
- {
- plotSpeed->hide();
- }
-
- if(checkProgress->isChecked())
- {
- plotDistance->show();
- }
- else
- {
- plotDistance->hide();
- }
-}
-
-void CDetailsTrk::slotColorChanged(int idx)
-{
- if(trk.getColorIdx() != idx)
- {
- trk.setColor(idx);
- }
-}
-
-void CDetailsTrk::slotChangeReadOnlyMode(bool on)
-{
- trk.setReadOnlyMode(on);
- setupGui();
-
-}
-
-void CDetailsTrk::slotNameChanged(const QString& name)
-{
- QPalette palette = lineName->palette();
- if(trk.getName() != name)
- {
- palette.setColor(QPalette::Base, QColor(255, 128, 128));
- }
- else
- {
- palette.setColor(QPalette::Base, QColor(255, 255, 255));
- }
- lineName->setPalette(palette);
-}
-
-
-void CDetailsTrk::slotNameChanged()
-{
- QString name = lineName->text();
- QString _name_ = trk.getName();
-
- QPalette palette = lineName->palette();
-
- if(_name_ != name)
- {
- trk.setName(name);
- palette.setColor(QPalette::Base, QColor(128, 255, 128));
- }
-
- lineName->setPalette(palette);
-}
-
-void CDetailsTrk::slotItemSelectionChanged()
-{
- QTreeWidgetItem * item = treeWidget->currentItem();
- if(item != 0)
- {
- quint32 idx = item->text(eColNum).toUInt();
- trk.setMouseFocusByIndex(idx, CGisItemTrk::eFocusMouseMove);
- }
-}
-
-void CDetailsTrk::slotLinkActivated(const QUrl& url)
-{
- if(url.toString() == "comment")
- {
- CTextEditWidget dlg(0);
- dlg.setHtml(trk.getComment());
- if(dlg.exec() == QDialog::Accepted)
- {
- trk.setComment(dlg.getHtml());
- }
- setupGui();
- }
- else if(url.toString() == "description")
- {
- CTextEditWidget dlg(0);
- dlg.setHtml(trk.getDescription());
- if(dlg.exec() == QDialog::Accepted)
- {
- trk.setDescription(dlg.getHtml());
- }
- setupGui();
- }
- else if(url.toString() == "links")
- {
- QList<IGisItem::link_t> links = trk.getLinks();
- CLinksDialog dlg(links, 0);
- if(dlg.exec() == QDialog::Accepted)
- {
- trk.setLinks(links);
- }
- setupGui();
- }
- else
- {
- QDesktopServices::openUrl(url);
- }
-}
diff --git a/.hg/Trashcan/CDetailsTrk_8daxWy.cpp.bak b/.hg/Trashcan/CDetailsTrk_8daxWy.cpp.bak
deleted file mode 100644
index dd6af46..0000000
--- a/.hg/Trashcan/CDetailsTrk_8daxWy.cpp.bak
+++ /dev/null
@@ -1,371 +0,0 @@
-/**********************************************************************************************
- Copyright (C) 2014 Oliver Eichler oliver.eichler at gmx.de
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-**********************************************************************************************/
-
-#include "gis/trk/CDetailsTrk.h"
-#include "helpers/CSettings.h"
-#include "helpers/CTextEditWidget.h"
-#include "helpers/CLinksDialog.h"
-#include "units/IUnit.h"
-#include "GeoMath.h"
-
-#include <QtWidgets>
-#include <proj_api.h>
-
-CDetailsTrk::CDetailsTrk(CGisItemTrk& trk, QWidget *parent)
- : QWidget(parent)
- , trk(trk)
- , originator(false)
-{
- setupUi(this);
-
- QPixmap icon(16,8);
- for(int i=0; i < TRK_N_COLORS; ++i)
- {
- icon.fill(CGisItemTrk::lineColors[i]);
- comboColor->addItem(icon,"",CGisItemTrk::lineColors[i]);
- }
-
- setupGui();
-
- SETTINGS;
- cfg.beginGroup("TrackDetails");
- checkProfile->setChecked(cfg.value("showProfile", true).toBool());
- checkSpeed->setChecked(cfg.value("showSpeed", true).toBool());
- checkProgress->setChecked(cfg.value("showProgress", true).toBool());
- splitter->restoreState(cfg.value("splitterSizes").toByteArray());
- cfg.endGroup();
-
- connect(checkProfile, SIGNAL(clicked()), this, SLOT(slotShowPlots()));
- connect(checkSpeed, SIGNAL(clicked()), this, SLOT(slotShowPlots()));
- connect(checkProgress, SIGNAL(clicked()), this, SLOT(slotShowPlots()));
- connect(comboColor, SIGNAL(currentIndexChanged(int)), this, SLOT(slotColorChanged(int)));
- connect(lineName, SIGNAL(returnPressed()), this, SLOT(slotNameChanged()));
- connect(lineName, SIGNAL(textChanged(QString)), this, SLOT(slotNameChanged(QString)));
- connect(toolLock, SIGNAL(toggled(bool)), this, SLOT(slotChangeReadOnlyMode(bool)));
- connect(treeWidget, SIGNAL(itemSelectionChanged()), this, SLOT(slotItemSelectionChanged()));
- connect(textCmtDesc, SIGNAL(anchorClicked(QUrl)), this, SLOT(slotLinkActivated(QUrl)));
-
- connect(listHistory, SIGNAL(sigChanged()), this, SLOT(setupGui()));
-
- slotShowPlots();
-
-}
-
-CDetailsTrk::~CDetailsTrk()
-{
- SETTINGS;
- cfg.beginGroup("TrackDetails");
- cfg.setValue("showProfile", checkProfile->isChecked());
- cfg.setValue("showSpeed", checkSpeed->isChecked());
- cfg.setValue("showProgress", checkProgress->isChecked());
- cfg.setValue("splitterSizes", splitter->saveState());
- cfg.endGroup();
-}
-
-
-
-void CDetailsTrk::setupGui()
-{
- if(originator)
- {
- return;
- }
- QApplication::setOverrideCursor(Qt::WaitCursor);
- originator = true;
-
- QString str, val, unit;
- bool isReadOnly = trk.isReadOnly();
-
- if(trk.isTainted())
- {
- labelTainted->show();
- }
- else
- {
- labelTainted->hide();
- }
-
- labelInfo->setText(trk.getInfo());
- lineName->setEnabled(!isReadOnly);
- comboColor->setCurrentIndex(trk.getColorIdx());
- comboColor->setEnabled(!isReadOnly);
- toolLock->setChecked(isReadOnly);
-
- QList<QTreeWidgetItem*> items;
- const CGisItemTrk::trk_t& t = trk.getTrackData();
- foreach (const CGisItemTrk::trkseg_t& seg, t.segs)
- {
- foreach(const CGisItemTrk::trkpt_t& trkpt, seg.pts)
- {
-
- QTreeWidgetItem * item = new QTreeWidgetItem();
- item->setTextAlignment(eColNum,Qt::AlignLeft);
- item->setTextAlignment(eColEle,Qt::AlignRight);
- item->setTextAlignment(eColDelta,Qt::AlignRight);
- item->setTextAlignment(eColDist,Qt::AlignRight);
- item->setTextAlignment(eColAscend,Qt::AlignRight);
- item->setTextAlignment(eColDescend,Qt::AlignRight);
- item->setTextAlignment(eColSpeed,Qt::AlignRight);
-
-
- if(trkpt.flags & CGisItemTrk::trkpt_t::eHidden)
- {
- for(int i = 0; i < eColMax; i++)
- {
- item->setForeground(i,QBrush(Qt::gray));
- }
- }
- else
- {
- for(int i = 0; i < eColMax; i++)
- {
- item->setForeground(i,QBrush(Qt::black));
- }
- }
-
- item->setText(eColNum,QString::number(trkpt.idxTotal));
- if(trkpt.time.isValid())
- {
- item->setText(eColTime, IUnit::self().datetime2string(trkpt.time, true, QPointF(trkpt.lon, trkpt.lat)*DEG_TO_RAD));
- }
- else
- {
- item->setText(eColTime, "-");
- }
-
- if(trkpt.ele != NOINT)
- {
- IUnit::self().meter2elevation(trkpt.ele, val, unit);
- str = tr("%1 %2").arg(val).arg(unit);
- }
- else
- {
- str = "-";
- }
- item->setText(eColEle,str);
-
- IUnit::self().meter2distance(trkpt.deltaDistance, val, unit);
- item->setText(eColDelta, tr("%1 %2").arg(val).arg(unit));
-
- IUnit::self().meter2distance(trkpt.distance, val, unit);
- item->setText(eColDist, tr("%1 %2").arg(val).arg(unit));
-
- // speed
- if(trkpt.speed != NOFLOAT)
- {
- IUnit::self().meter2speed(trkpt.speed, val, unit);
- str = tr("%1 %2").arg(val).arg(unit);
- }
- else
- {
- str = "-";
- }
- item->setText(eColSpeed,str);
-
- if(trkpt.slope1 != NOFLOAT)
- {
- str = QString("%1°(%2%)").arg(trkpt.slope1,2,'f',0).arg(trkpt.slope2,2,'f',0);
- }
- else
- {
- str = "-";
- }
- item->setText(eColSlope,str);
-
- IUnit::self().meter2elevation(trkpt.ascend, val, unit);
- item->setText(eColAscend, tr("%1 %2").arg(val).arg(unit));
- IUnit::self().meter2elevation(trkpt.descend, val, unit);
- item->setText(eColDescend, tr("%1 %2").arg(val).arg(unit));
-
- // position
- GPS_Math_Deg_To_Str(trkpt.lon, trkpt.lat, str);
- item->setText(eColPosition,str);
-
- items << item;
-
- }
- }
-
- treeWidget->clear();
- treeWidget->addTopLevelItems(items);
- treeWidget->header()->resizeSections(QHeaderView::ResizeToContents);
-
- lineName->setText(trk.getName());
-
- textCmtDesc->document()->clear();
- textCmtDesc->append(IGisItem::createText(isReadOnly, trk.getComment(), trk.getDescription(), trk.getLinks()));
- textCmtDesc->moveCursor (QTextCursor::Start) ;
- textCmtDesc->ensureCursorVisible() ;
-
- plotElevation->setTrack(&trk);
- plotDistance->setTrack(&trk);
- plotSpeed->setTrack(&trk);
- plotTrack->setTrack(&trk);
-
- listHistory->setupHistory(trk);
-
- originator = false;
- QApplication::restoreOverrideCursor();
-}
-
-void CDetailsTrk::setMouseMoveFocus(const CGisItemTrk::trkpt_t * pt)
-{
- if(pt != 0)
- {
- plotTrack->setMouseMoveFocus(pt->lon, pt->lat);
- labelInfoTrkPt->setText(trk.getInfoTrkPt(*pt));
- labelInfoProgress->setText(trk.getInfoProgress(*pt));
- }
- else
- {
- labelInfoTrkPt->setText("-\n-");
- labelInfoProgress->setText("-\n-");
- }
-}
-
-void CDetailsTrk::setMouseClickFocus(const CGisItemTrk::trkpt_t * pt)
-{
- if(pt != 0)
- {
- treeWidget->blockSignals(true);
- treeWidget->setCurrentItem(treeWidget->topLevelItem(pt->idxTotal));
- treeWidget->blockSignals(false);
- }
-}
-
-void CDetailsTrk::slotShowPlots()
-{
- if(checkProfile->isChecked())
- {
- plotElevation->show();
- }
- else
- {
- plotElevation->hide();
- }
-
- if(checkSpeed->isChecked())
- {
- plotSpeed->show();
- }
- else
- {
- plotSpeed->hide();
- }
-
- if(checkProgress->isChecked())
- {
- plotDistance->show();
- }
- else
- {
- plotDistance->hide();
- }
-}
-
-void CDetailsTrk::slotColorChanged(int idx)
-{
- if(trk.getColorIdx() != idx)
- {
- trk.setColor(idx);
- }
-}
-
-void CDetailsTrk::slotChangeReadOnlyMode(bool on)
-{
- trk.setReadOnlyMode(on);
- setupGui();
-
-}
-
-void CDetailsTrk::slotNameChanged(const QString& name)
-{
- QPalette palette = lineName->palette();
- if(trk.getName() != name)
- {
- palette.setColor(QPalette::Base, QColor(255, 128, 128));
- }
- else
- {
- palette.setColor(QPalette::Base, QColor(255, 255, 255));
- }
- lineName->setPalette(palette);
-}
-
-
-void CDetailsTrk::slotNameChanged()
-{
- QString name = lineName->text();
- QString _name_ = trk.getName();
-
- QPalette palette = lineName->palette();
-
- if(_name_ != name)
- {
- trk.setName(name);
- palette.setColor(QPalette::Base, QColor(128, 255, 128));
- }
-
- lineName->setPalette(palette);
-}
-
-void CDetailsTrk::slotItemSelectionChanged()
-{
- QTreeWidgetItem * item = treeWidget->currentItem();
- if(item != 0)
- {
- quint32 idx = item->text(eColNum).toUInt();
- trk.setMouseFocusByIndex(idx, CGisItemTrk::eFocusMouseMove);
- }
-}
-
-void CDetailsTrk::slotLinkActivated(const QUrl& url)
-{
- if(url.toString() == "comment")
- {
- CTextEditWidget dlg(0);
- dlg.setHtml(trk.getComment());
- if(dlg.exec() == QDialog::Accepted)
- {
- trk.setComment(dlg.getHtml());
- }
- }
- else if(url.toString() == "description")
- {
- CTextEditWidget dlg(0);
- dlg.setHtml(trk.getDescription());
- if(dlg.exec() == QDialog::Accepted)
- {
- trk.setDescription(dlg.getHtml());
- }
- }
- else if(url.toString() == "links")
- {
- QList<IGisItem::link_t> links = trk.getLinks();
- CLinksDialog dlg(links, 0);
- if(dlg.exec() == QDialog::Accepted)
- {
- trk.setLinks(links);
- }
- setupGui();
- }
- else
- {
- QDesktopServices::openUrl(url);
- }
-}
diff --git a/.hg/Trashcan/CDetailsWpt_JkBB6Z.h.bak b/.hg/Trashcan/CDetailsWpt_JkBB6Z.h.bak
deleted file mode 100644
index 2a09d32..0000000
--- a/.hg/Trashcan/CDetailsWpt_JkBB6Z.h.bak
+++ /dev/null
@@ -1,44 +0,0 @@
-/**********************************************************************************************
- Copyright (C) 2014 Oliver Eichler oliver.eichler at gmx.de
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-**********************************************************************************************/
-
-#ifndef CDETAILSWPT_H
-#define CDETAILSWPT_H
-
-#include <QDialog>
-#include "ui_IDetailsWpt.h"
-
-class CGisItemWpt;
-
-class CDetailsWpt : public QDialog, private Ui::IDetailsWpt
-{
- Q_OBJECT
- public:
- CDetailsWpt(CGisItemWpt& wpt, QWidget * parent);
- virtual ~CDetailsWpt();
-
- private slots:
- void slotLinkActivated(const QString& link);
- void slotChangeIcon();
-
- private:
- void setupGui();
- CGisItemWpt& wpt;
-};
-
-#endif //CDETAILSWPT_H
-
diff --git a/.hg/Trashcan/CDetailsWpt_KUyyGh.cpp.bak b/.hg/Trashcan/CDetailsWpt_KUyyGh.cpp.bak
deleted file mode 100644
index 487ced0..0000000
--- a/.hg/Trashcan/CDetailsWpt_KUyyGh.cpp.bak
+++ /dev/null
@@ -1,178 +0,0 @@
-/**********************************************************************************************
- Copyright (C) 2014 Oliver Eichler oliver.eichler at gmx.de
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-**********************************************************************************************/
-
-#include "gis/wpt/CDetailsWpt.h"
-#include "gis/wpt/CGisItemWpt.h"
-#include "GeoMath.h"
-#include "units/IUnit.h"
-#include "helpers/CInputDialog.h"
-#include "helpers/CPositionDialog.h"
-#include "helpers/CWptIconDialog.h"
-#include "helpers/CTextEditWidget.h"
-
-
-#include <QtWidgets>
-
-CDetailsWpt::CDetailsWpt(CGisItemWpt &wpt, QWidget *parent)
- : QDialog(parent)
- , wpt(wpt)
-{
- setupUi(this);
- setupGui();
- connect(labelName, SIGNAL(linkActivated(QString)), this, SLOT(slotLinkActivated(QString)));
- connect(labelPositon, SIGNAL(linkActivated(QString)), this, SLOT(slotLinkActivated(QString)));
- connect(labelElevation, SIGNAL(linkActivated(QString)), this, SLOT(slotLinkActivated(QString)));
- connect(labelProximity, SIGNAL(linkActivated(QString)), this, SLOT(slotLinkActivated(QString)));
- connect(toolIcon, SIGNAL(clicked()), this, SLOT(slotChangeIcon()));
- connect(toolEditCmt, SIGNAL(clicked()), this, SLOT(slotChangeCmt()));
- connect(toolEditDesc, SIGNAL(clicked()), this, SLOT(slotChangeDesc()));
-}
-
-CDetailsWpt::~CDetailsWpt()
-{
-
-}
-
-void CDetailsWpt::setupGui()
-{
- setWindowTitle(wpt.getName());
-
- QString val, unit;
- QString strPos;
- QPointF pos = wpt.getPosition();
- GPS_Math_Deg_To_Str(pos.x(), pos.y(), strPos);
-
- toolIcon->setIcon(wpt.getIcon());
- toolIcon->setObjectName(wpt.getIconName());
- labelName->setText(QString("<a href='name'>%1</a>").arg(wpt.getName()));
- labelPositon->setText(QString("<a href='position'>%1</a>").arg(strPos));
-
- if(wpt.getElevation() != NOINT)
- {
- IUnit::self().meter2elevation(wpt.getElevation(), val, unit);
- labelElevation->setText(QString("<a href='elevation'>%1</a> %2").arg(val).arg(unit));
- }
- else
- {
- labelElevation->setText(QString("<a href='elevation'>--</a>"));
- }
-
- if(wpt.getProximity() != NOFLOAT)
- {
- IUnit::self().meter2elevation(wpt.getProximity(), val, unit);
- labelProximity->setText(QString("<a href='proximity'>%1</a> %2").arg(val).arg(unit));
- }
- else
- {
- labelProximity->setText(QString("<a href='proximity'>--</a>"));
- }
-
- if(wpt.getComment().isEmpty())
- {
- labelCmt->setText(tr("no comment"));
- }
- else
- {
- labelCmt->setText(wpt.getComment());
- }
-
- if(wpt.getDescription().isEmpty())
- {
- labelDesc->setText(tr("no description"));
- }
- else
- {
- labelDesc->setText(wpt.getDescription());
- }
-
-}
-
-void CDetailsWpt::slotLinkActivated(const QString& link)
-{
- if(link == "name")
- {
- QString name = QInputDialog::getText(0, tr("Edit name..."), tr("Enter new waypoint name."), QLineEdit::Normal, wpt.getName());
- if(name.isEmpty())
- {
- return;
- }
- wpt.setName(name);
- }
- else if(link == "elevation")
- {
- QVariant var(wpt.getElevation());
- CInputDialog dlg(0, tr("Enter new elevation."), var, QVariant(NOINT));
- if(dlg.exec() == QDialog::Accepted)
- {
- wpt.setElevation(var.toInt());
- }
- }
- else if(link == "proximity")
- {
- QVariant var(wpt.getProximity());
- CInputDialog dlg(0, tr("Enter new proximity range."), var, QVariant(NOFLOAT));
- if(dlg.exec() == QDialog::Accepted)
- {
- wpt.setProximity(var.toDouble());
- }
- }
- else if(link == "position")
- {
- QPointF pos = wpt.getPosition();
- CPositionDialog dlg(0, pos);
- if(dlg.exec() == QDialog::Accepted)
- {
- wpt.setPosition(pos);
- }
- }
-
- setupGui();
-}
-
-void CDetailsWpt::slotChangeIcon()
-{
-
- CWptIconDialog dlg(toolIcon);
- if(dlg.exec() == QDialog::Accepted)
- {
- wpt.setIcon(toolIcon->objectName());
- setupGui();
- }
-}
-
-void CDetailsWpt::slotChangeCmt()
-{
- CTextEditWidget dlg(0);
- dlg.setHtml(wpt.getComment());
- if(dlg.exec() == QDialog::Accepted)
- {
- wpt.setComment(dlg.getHtml());
- setupGui();
- }
-}
-
-void CDetailsWpt::slotChangeDesc()
-{
- CTextEditWidget dlg(0);
- dlg.setHtml(wpt.getDescription());
- if(dlg.exec() == QDialog::Accepted)
- {
- wpt.setDescription(dlg.getHtml());
- setupGui();
- }
-}
diff --git a/.hg/Trashcan/CDetailsWpt_VqnTW1.cpp.bak b/.hg/Trashcan/CDetailsWpt_VqnTW1.cpp.bak
deleted file mode 100644
index 4a2b8fe..0000000
--- a/.hg/Trashcan/CDetailsWpt_VqnTW1.cpp.bak
+++ /dev/null
@@ -1,153 +0,0 @@
-/**********************************************************************************************
- Copyright (C) 2014 Oliver Eichler oliver.eichler at gmx.de
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-**********************************************************************************************/
-
-#include "gis/wpt/CDetailsWpt.h"
-#include "gis/wpt/CGisItemWpt.h"
-#include "GeoMath.h"
-#include "units/IUnit.h"
-#include "helpers/CInputDialog.h"
-#include "helpers/CPositionDialog.h"
-#include "helpers/CWptIconDialog.h"
-
-
-#include <QtWidgets>
-
-CDetailsWpt::CDetailsWpt(CGisItemWpt &wpt, QWidget *parent)
- : QDialog(parent)
- , wpt(wpt)
-{
- setupUi(this);
- setupGui();
- connect(labelName, SIGNAL(linkActivated(QString)), this, SLOT(slotLinkActivated(QString)));
- connect(labelPositon, SIGNAL(linkActivated(QString)), this, SLOT(slotLinkActivated(QString)));
- connect(labelElevation, SIGNAL(linkActivated(QString)), this, SLOT(slotLinkActivated(QString)));
- connect(labelProximity, SIGNAL(linkActivated(QString)), this, SLOT(slotLinkActivated(QString)));
- connect(toolIcon, SIGNAL(clicked()), this, SLOT(slotChangeIcon()));
-}
-
-CDetailsWpt::~CDetailsWpt()
-{
-
-}
-
-void CDetailsWpt::setupGui()
-{
- setWindowTitle(wpt.getName());
-
- QString val, unit;
- QString strPos;
- QPointF pos = wpt.getPosition();
- GPS_Math_Deg_To_Str(pos.x(), pos.y(), strPos);
-
- toolIcon->setIcon(wpt.getIcon());
- toolIcon->setObjectName(wpt.getIconName());
- labelName->setText(QString("<a href='name'>%1</a>").arg(wpt.getName()));
- labelPositon->setText(QString("<a href='position'>%1</a>").arg(strPos));
-
- if(wpt.getElevation() != NOINT)
- {
- IUnit::self().meter2elevation(wpt.getElevation(), val, unit);
- labelElevation->setText(QString("<a href='elevation'>%1</a> %2").arg(val).arg(unit));
- }
- else
- {
- labelElevation->setText(QString("<a href='elevation'>--</a>"));
- }
-
- if(wpt.getProximity() != NOFLOAT)
- {
- IUnit::self().meter2elevation(wpt.getProximity(), val, unit);
- labelProximity->setText(QString("<a href='proximity'>%1</a> %2").arg(val).arg(unit));
- }
- else
- {
- labelProximity->setText(QString("<a href='proximity'>--</a>"));
- }
-
- if(wpt.getComment().isEmpty())
- {
- labelCmt->setText(tr("no comment"));
- }
- else
- {
- labelCmt->setText(wpt.getComment());
- }
-
- if(wpt.getDescription().isEmpty())
- {
- labelDesc->setText(tr("no description"));
- }
- else
- {
- labelDesc->setText(wpt.getDescription());
- }
-
-}
-
-void CDetailsWpt::slotLinkActivated(const QString& link)
-{
- if(link == "name")
- {
- QString name = QInputDialog::getText(0, tr("Edit name..."), tr("Enter new waypoint name."), QLineEdit::Normal, wpt.getName());
- if(name.isEmpty())
- {
- return;
- }
- wpt.setName(name);
- }
- else if(link == "elevation")
- {
- QVariant var(wpt.getElevation());
- CInputDialog dlg(0, tr("Enter new elevation."), var, QVariant(NOINT));
- if(dlg.exec() == QDialog::Accepted)
- {
- wpt.setElevation(var.toInt());
- }
- }
- else if(link == "proximity")
- {
- QVariant var(wpt.getProximity());
- CInputDialog dlg(0, tr("Enter new proximity range."), var, QVariant(NOFLOAT));
- if(dlg.exec() == QDialog::Accepted)
- {
- wpt.setProximity(var.toDouble());
- }
- }
- else if(link == "position")
- {
- QPointF pos = wpt.getPosition();
- CPositionDialog dlg(0, pos);
- if(dlg.exec() == QDialog::Accepted)
- {
- wpt.setPosition(pos);
- }
- }
-
- setupGui();
-}
-
-void CDetailsWpt::slotChangeIcon()
-{
-
- CWptIconDialog dlg(toolIcon);
- if(dlg.exec() == QDialog::Accepted)
- {
- wpt.setIcon(toolIcon->objectName());
- setupGui();
- }
-}
diff --git a/.hg/Trashcan/CDetailsWpt_wgDUq1.h.bak b/.hg/Trashcan/CDetailsWpt_wgDUq1.h.bak
deleted file mode 100644
index fe76a7c..0000000
--- a/.hg/Trashcan/CDetailsWpt_wgDUq1.h.bak
+++ /dev/null
@@ -1,46 +0,0 @@
-/**********************************************************************************************
- Copyright (C) 2014 Oliver Eichler oliver.eichler at gmx.de
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-**********************************************************************************************/
-
-#ifndef CDETAILSWPT_H
-#define CDETAILSWPT_H
-
-#include <QDialog>
-#include "ui_IDetailsWpt.h"
-
-class CGisItemWpt;
-
-class CDetailsWpt : public QDialog, private Ui::IDetailsWpt
-{
- Q_OBJECT
- public:
- CDetailsWpt(CGisItemWpt& wpt, QWidget * parent);
- virtual ~CDetailsWpt();
-
- private slots:
- void slotLinkActivated(const QString& link);
- void slotChangeIcon();
- void slotChangeCmt();
- void slotChangeDesc();
-
- private:
- void setupGui();
- CGisItemWpt& wpt;
-};
-
-#endif //CDETAILSWPT_H
-
diff --git a/.hg/Trashcan/CDiskCache_ZGaMAX.cpp.bak b/.hg/Trashcan/CDiskCache_ZGaMAX.cpp.bak
deleted file mode 100644
index c3a1b7b..0000000
--- a/.hg/Trashcan/CDiskCache_ZGaMAX.cpp.bak
+++ /dev/null
@@ -1,156 +0,0 @@
-/**********************************************************************************************
- Copyright (C) 2014 Oliver Eichler oliver.eichler at gmx.de
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-**********************************************************************************************/
-
-#include "CDiskCache.h"
-
-#include <QtWidgets>
-
-CDiskCache::CDiskCache(const QString &path, qint32 size, qint32 days, QObject * parent)
- : IDiskCache(parent)
- , dir(path)
- , size(size)
- , expiration(days)
- , dummy(256,256, QImage::Format_ARGB32)
-{
- dummy.fill(Qt::transparent);
-
- dir.mkpath(dir.path());
- QFileInfoList files = dir.entryInfoList(QStringList("*.png"), QDir::Files);
- foreach(const QFileInfo &fileinfo, files)
- {
- QString hash = fileinfo.baseName();
- table[hash] = fileinfo.fileName();
- }
-
- timer = new QTimer(this);
- timer->setSingleShot(false);
- timer->start(20000);
- connect(timer, SIGNAL(timeout()), this, SLOT(slotCleanup()));
-}
-
-CDiskCache::~CDiskCache()
-{
-}
-
-void CDiskCache::store(const QString& key, QImage& img)
-{
- QMutexLocker lock(&mutex);
-
- QCryptographicHash md5(QCryptographicHash::Md5);
- md5.addData(key.toLatin1());
-
- QString hash = md5.result().toHex();
- QString filename = QString("%1.png").arg(hash);
-
- if(!img.isNull())
- {
- img.save(dir.absoluteFilePath(filename));
- table[hash] = filename;
- cache[hash] = img;
- }
- else
- {
- cache[hash] = dummy;
- }
-}
-
-void CDiskCache::restore(const QString& key, QImage& img)
-{
- QMutexLocker lock(&mutex);
-
- QCryptographicHash md5(QCryptographicHash::Md5);
- md5.addData(key.toLatin1());
-
- QString hash = md5.result().toHex();
-
- if(cache.contains(hash))
- {
- img = cache[hash];
- }
- else if(table.contains(hash))
- {
- img.load(dir.absoluteFilePath(table[hash]));
- if(!cache.contains(hash))
- {
- cache[hash] = img;
- }
- }
- else
- {
- img = QImage();
- }
-}
-
-bool CDiskCache::contains(const QString& key)
-{
- QMutexLocker lock(&mutex);
-
- QCryptographicHash md5(QCryptographicHash::Md5);
- md5.addData(key.toLatin1());
-
- QString hash = md5.result().toHex();
- return table.contains(hash) || cache.contains(hash);
-}
-
-void CDiskCache::slotCleanup()
-{
- QMutexLocker lock(&mutex);
-
- QFileInfoList files = dir.entryInfoList(QStringList("*.png"), QDir::Files);
- QDateTime now = QDateTime::currentDateTime();
- int days = expiration;
- qint32 maxSize = size * 1024 * 1024;
- qint32 tmpSize = 0;
- // expire old files and calculate cache size
- foreach(const QFileInfo &fileinfo, files)
- {
- if(fileinfo.lastModified().daysTo(now) > days)
- {
- QString hash = fileinfo.baseName();
- table.remove(hash);
- cache.remove(hash);
- QFile::remove(fileinfo.absoluteFilePath());
- qDebug() << "remove old tile" << fileinfo.lastModified() << fileinfo.absoluteFilePath();
- }
- else
- {
- tmpSize += fileinfo.size();
- }
- }
-
- if(tmpSize > maxSize)
- {
- // if cache is still too large remove oldest files
- foreach(const QFileInfo &fileinfo, files)
- {
- QString hash = fileinfo.baseName();
- table.remove(hash);
- cache.remove(hash);
- QFile::remove(fileinfo.absoluteFilePath());
-
- qDebug() << "remove" << fileinfo.lastModified() << fileinfo.absoluteFilePath();
-
- tmpSize -= fileinfo.size();
-
- if(tmpSize < maxSize)
- {
- break;
- }
- }
- }
-}
diff --git a/.hg/Trashcan/CDiskCache_ceXfpe.cpp.bak b/.hg/Trashcan/CDiskCache_ceXfpe.cpp.bak
deleted file mode 100644
index 7b8cf5f..0000000
--- a/.hg/Trashcan/CDiskCache_ceXfpe.cpp.bak
+++ /dev/null
@@ -1,157 +0,0 @@
-/**********************************************************************************************
- Copyright (C) 2014 Oliver Eichler oliver.eichler at gmx.de
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-**********************************************************************************************/
-
-#include "CDiskCache.h"
-
-#include <QtWidgets>
-
-CDiskCache::CDiskCache(const QString &path, qint32 size, qint32 days, QObject * parent)
- : IDiskCache(parent)
- , dir(path)
- , size(size)
- , expiration(days)
- , dummy(256,256, QImage::Format_ARGB32)
-{
- dummy.fill(Qt::transparent);
-
- dir.mkpath(dir.path());
- QFileInfoList files = dir.entryInfoList(QStringList("*.png"), QDir::Files);
- foreach(const QFileInfo &fileinfo, files)
- {
- QString hash = fileinfo.baseName();
- table[hash] = fileinfo.fileName();
- }
-
- timer = new QTimer(this);
- timer->setSingleShot(false);
- timer->start(20000);
- connect(timer, SIGNAL(timeout()), this, SLOT(slotCleanup()));
-}
-
-CDiskCache::~CDiskCache()
-{
-}
-
-void CDiskCache::store(const QString& key, QImage& img)
-{
- QMutexLocker lock(&mutex);
-
- QCryptographicHash md5(QCryptographicHash::Md5);
- md5.addData(key.toLatin1());
-
- QString hash = md5.result().toHex();
- QString filename = QString("%1.png").arg(hash);
-
- if(!img.isNull())
- {
- img.save(dir.absoluteFilePath(filename));
- table[hash] = filename;
- cache[hash] = img;
- }
- else
- {
- cache[hash] = dummy;
- }
-}
-
-void CDiskCache::restore(const QString& key, QImage& img)
-{
- QMutexLocker lock(&mutex);
-
- QCryptographicHash md5(QCryptographicHash::Md5);
- md5.addData(key.toLatin1());
-
- QString hash = md5.result().toHex();
-
- if(cache.contains(hash))
- {
- img = cache[hash];
- }
- else if(table.contains(hash))
- {
- img.load(dir.absoluteFilePath(table[hash]));
- if(!cache.contains(hash))
- {
- cache[hash] = img;
- }
- }
- else
- {
- img = QImage();
- }
-}
-
-bool CDiskCache::contains(const QString& key)
-{
- QMutexLocker lock(&mutex);
-
- QCryptographicHash md5(QCryptographicHash::Md5);
- md5.addData(key.toLatin1());
-
- QString hash = md5.result().toHex();
- return table.contains(hash) || cache.contains(hash);
-}
-
-void CDiskCache::slotCleanup()
-{
- QMutexLocker lock(&mutex);
-
- QFileInfoList files = dir.entryInfoList(QStringList("*.png"), QDir::Files);
- QDateTime now = QDateTime::currentDateTime();
- int days = expiration;
- qint32 maxSize = size * 1024 * 1024;
- qint32 tmpSize = 0;
- // expire old files and calculate cache size
- foreach(const QFileInfo &fileinfo, files)
- {
- if(fileinfo.lastModified().daysTo(now) > days)
- {
- QString hash = fileinfo.baseName();
- table.remove(hash);
- cache.remove(hash);
- QFile::remove(fileinfo.absoluteFilePath());
- qDebug() << "remove old tile" << fileinfo.lastModified() << fileinfo.absoluteFilePath();
- }
- else
- {
- tmpSize += fileinfo.size();
- }
- }
-
- if(tmpSize > maxSize)
- {
- files = dir.entryInfoList(QStringList("*.png"), QDir::Files, QDir::Time|QDir::Reversed);
- // if cache is still too large remove oldest files
- foreach(const QFileInfo &fileinfo, files)
- {
- QString hash = fileinfo.baseName();
- table.remove(hash);
- cache.remove(hash);
- QFile::remove(fileinfo.absoluteFilePath());
-
- qDebug() << "remove" << fileinfo.lastModified() << fileinfo.absoluteFilePath();
-
- tmpSize -= fileinfo.size();
-
- if(tmpSize < maxSize)
- {
- break;
- }
- }
- }
-}
diff --git a/.hg/Trashcan/CGisItemTrk_RakRPD.cpp.bak b/.hg/Trashcan/CGisItemTrk_RakRPD.cpp.bak
deleted file mode 100644
index 4129b73..0000000
--- a/.hg/Trashcan/CGisItemTrk_RakRPD.cpp.bak
+++ /dev/null
@@ -1,1729 +0,0 @@
-/**********************************************************************************************
- Copyright (C) 2014 Oliver Eichler oliver.eichler at gmx.de
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-**********************************************************************************************/
-
-#include "CMainWindow.h"
-#include "GeoMath.h"
-#include "gis/CGisDraw.h"
-#include "gis/CGisWidget.h"
-#include "gis/prj/IGisProject.h"
-#include "gis/trk/CCombineTrk.h"
-#include "gis/trk/CDetailsTrk.h"
-#include "gis/trk/CGisItemTrk.h"
-#include "gis/trk/CScrOptTrk.h"
-#include "gis/wpt/CGisItemWpt.h"
-#include "plot/IPlot.h"
-
-#include <QtWidgets>
-#include <QtXml>
-#include <proj_api.h>
-
-#define ASCEND_THRESHOLD 5
-#define DEFAULT_COLOR 4
-#define MIN_DIST_CLOSE_TO 10
-#define MIN_DIST_FOCUS 40
-
-const QColor CGisItemTrk::lineColors[TRK_N_COLORS] =
-{
- Qt::black // 0
- ,Qt::darkRed // 1
- ,Qt::darkGreen // 2
- ,Qt::darkYellow // 3
- ,Qt::darkBlue // 4
- ,Qt::darkMagenta // 5
- ,Qt::darkCyan // 6
- ,Qt::gray // 7
- ,Qt::darkGray // 8
- ,Qt::red // 9
- ,Qt::green // 10
- ,Qt::yellow // 11
- ,Qt::blue // 12
- ,Qt::magenta // 13
- ,Qt::cyan // 14
- ,Qt::white // 15
- ,Qt::transparent // 16
-};
-
-const QString CGisItemTrk::bulletColors[TRK_N_COLORS] =
-{
- // 0
- QString("://icons/8x8/bullet_black.png")
- // 1
- ,QString("://icons/8x8/bullet_dark_red.png")
- // 2
- ,QString("://icons/8x8/bullet_dark_green.png")
- // 3
- ,QString("://icons/8x8/bullet_dark_yellow.png")
- // 4
- ,QString("://icons/8x8/bullet_dark_blue.png")
- // 5
- ,QString("://icons/8x8/bullet_dark_magenta.png")
- // 6
- ,QString("://icons/8x8/bullet_dark_cyan.png")
- // 7
- ,QString("://icons/8x8/bullet_gray.png")
- // 8
- ,QString("://icons/8x8/bullet_dark_gray.png")
- // 9
- ,QString("://icons/8x8/bullet_red.png")
- // 10
- ,QString("://icons/8x8/bullet_green.png")
- // 11
- ,QString("://icons/8x8/bullet_yellow.png")
- // 12
- ,QString("://icons/8x8/bullet_blue.png")
- // 13
- ,QString("://icons/8x8/bullet_magenta.png")
- // 14
- ,QString("://icons/8x8/bullet_cyan.png")
- // 15
- ,QString("://icons/8x8/bullet_white.png")
- ,QString("") // 16
-};
-
-
-
-const QPen CGisItemTrk::penBackground(Qt::white, 5, Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin);
-
-IGisItem::key_t CGisItemTrk::keyUserFocus;
-
-CGisItemTrk::CGisItemTrk(const QString &name, qint32 idx1, qint32 idx2, const trk_t& srctrk, IGisProject * project)
- : IGisItem(project, eTypeTrk, -1)
- , penForeground(Qt::blue, 3, Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin)
- , drawMode(eDrawNormal)
- , mouseMoveFocus(0)
- , mouseClickFocus(0)
-{
- flags = eFlagCreatedInQms;
-
- foreach(const trkseg_t &srcseg, srctrk.segs)
- {
- trkseg_t seg;
- foreach(const trkpt_t &srcpt, srcseg.pts)
- {
- if(srcpt.idxTotal < idx1)
- {
- continue;
- }
- if(srcpt.idxTotal > idx2)
- {
- break;
- }
-
- seg.pts << srcpt;
- }
-
- if(!seg.pts.isEmpty())
- {
- trk.segs << seg;
- }
- }
-
- trk.name = name;
- trk.cmt = srctrk.cmt;
- trk.desc = srctrk.desc;
- trk.src = srctrk.src;
- trk.links = srctrk.links;
- trk.number = srctrk.number;
- trk.type = srctrk.type;
-
- deriveSecondaryData();
- setupHistory();
- updateDecoration(eMarkChanged, eMarkNone);
-}
-
-CGisItemTrk::CGisItemTrk(const CGisItemTrk& parentTrk, IGisProject *project, int idx, bool clone)
- : IGisItem(project, eTypeTrk, idx)
- , penForeground(Qt::blue, 3, Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin)
- , drawMode(eDrawNormal)
- , mouseMoveFocus(0)
- , mouseClickFocus(0)
-{
- *this = parentTrk;
- key.project = project->getKey();
- key.device = project->getDeviceKey();
- registeredPlots.clear();
-
- if(clone)
- {
- trk.name += QObject::tr("_Clone");
- key.clear();
- history.events.clear();
- }
-
- deriveSecondaryData();
- setupHistory();
- updateDecoration(eMarkChanged, eMarkNone);
-}
-
-
-CGisItemTrk::CGisItemTrk(const QPolygonF& l, const QString& name, IGisProject * project, int idx)
- : IGisItem(project, eTypeTrk, idx)
- , penForeground(Qt::blue, 3, Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin)
- , drawMode(eDrawNormal)
- , mouseMoveFocus(0)
- , mouseClickFocus(0)
-{
- trk.name = name;
- readTrackDataFromPolyLine(l);
-
- flags |= eFlagCreatedInQms|eFlagWriteAllowed;
- setColor(str2color(""));
-
- setupHistory();
- updateDecoration(eMarkChanged, eMarkNone);
-}
-
-
-CGisItemTrk::CGisItemTrk(const QDomNode& xml, IGisProject *project)
- : IGisItem(project, eTypeTrk, project->childCount())
- , penForeground(Qt::blue, 3, Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin)
- , drawMode(eDrawNormal)
- , mouseMoveFocus(0)
- , mouseClickFocus(0)
-{
- // --- start read and process data ----
- setColor(penForeground.color());
- readTrk(xml, trk);
- // --- stop read and process data ----
-
- setupHistory();
- updateDecoration(eMarkNone, eMarkNone);
-}
-
-CGisItemTrk::CGisItemTrk(const QString& filename, IGisProject * project)
- : IGisItem(project, eTypeTrk, project->childCount())
- , penForeground(Qt::blue, 3, Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin)
- , drawMode(eDrawNormal)
- , mouseMoveFocus(0)
- , mouseClickFocus(0)
-{
- // --- start read and process data ----
- setColor(penForeground.color());
- if(!readTwoNav(filename))
- {
- throw -1;
- }
- // --- stop read and process data ----
-
- setupHistory();
- updateDecoration(eMarkNone, eMarkNone);
-}
-
-CGisItemTrk::CGisItemTrk(const history_t& hist, IGisProject * project)
- : IGisItem(project, eTypeTrk, project->childCount())
- , penForeground(Qt::blue, 3, Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin)
- , drawMode(eDrawNormal)
- , mouseMoveFocus(0)
- , mouseClickFocus(0)
-{
- history = hist;
- loadHistory(hist.histIdxCurrent);
-}
-
-CGisItemTrk::CGisItemTrk(quint64 id, QSqlDatabase& db, IGisProject * project)
- : IGisItem(project, eTypeTrk, -1)
- , penForeground(Qt::blue, 3, Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin)
- , drawMode(eDrawNormal)
- , mouseMoveFocus(0)
- , mouseClickFocus(0)
-{
- loadFromDb(id, db);
-}
-
-
-CGisItemTrk::~CGisItemTrk()
-{
- // reset user focus if focused on this track
- if(key == keyUserFocus)
- {
- keyUserFocus.clear();
- }
-
- /**
- Delete all registerd plot as they can't exist without the item.
- As the plot objects will unregister via unregisterPlot() in their
- destructor things will get a bit complicated here. Better create
- a copy of the list befor we start to delete.
- */
- qDeleteAll(registeredPlots.toList());
-
- delete dlgDetails;
-}
-
-void CGisItemTrk::setSymbol()
-{
- setColor(str2color(trk.color));
-}
-
-void CGisItemTrk::setDataFromPolyline(const QPolygonF &l)
-{
- /*
- as this will change the line significantly we better stop
- all focus operations and close the detail dialog.
- */
- mouseClickFocus = 0;
- mouseMoveFocus = 0;
- delete dlgDetails;
-
- readTrackDataFromPolyLine(l);
-
- flags |= eFlagTainted;
- changed(QObject::tr("Changed trackpoints, sacrificed all previous data."), "://icons/48x48/LineMove.png");
-}
-
-void CGisItemTrk::getPolylineFromData(QPolygonF &l)
-{
- l.clear();
- foreach (const trkseg_t &seg, trk.segs)
- {
- foreach(const trkpt_t &pt, seg.pts)
- {
- if(pt.flags & trkpt_t::eHidden)
- {
- continue;
- }
- l << QPointF(pt.lon * DEG_TO_RAD, pt.lat * DEG_TO_RAD);
- }
- }
-}
-
-void CGisItemTrk::readTrackDataFromPolyLine(const QPolygonF &l)
-{
- trk.segs.clear();
- trk.segs.resize(1);
- trkseg_t& seg = trk.segs.first();
-
- seg.pts.resize(l.size());
-
- QPolygonF ele(l.size());
- CMainWindow::self().getEelevationAt(l, ele);
-
- for(int i = 0; i < l.size(); i++)
- {
- trkpt_t& trkpt = seg.pts[i];
- const QPointF& pt = l[i];
-
- trkpt.lon = pt.x() * RAD_TO_DEG;
- trkpt.lat = pt.y() * RAD_TO_DEG;
- trkpt.ele = ele[i].y();
- }
-
- deriveSecondaryData();
-}
-
-void CGisItemTrk::registerPlot(IPlot * plot)
-{
- registeredPlots << plot;
-}
-
-void CGisItemTrk::unregisterPlot(IPlot * plot)
-{
- registeredPlots.remove(plot);
-}
-
-
-
-QString CGisItemTrk::getInfo() const
-{
- QString val1, unit1, val2, unit2;
- QString str = "<div style='font-weight: bold;'>" + getName() + "</div>";
-
- if(cntVisiblePoints == 0)
- {
- return str;
- }
-
- IUnit::self().meter2distance(totalDistance, val1, unit1);
- str += "<br/>\n";
- str += QObject::tr("Length: %1 %2").arg(val1).arg(unit1);
-
- if(totalAscend != NOFLOAT && totalDescend != NOFLOAT)
- {
- IUnit::self().meter2elevation(totalAscend, val1, unit1);
- IUnit::self().meter2elevation(totalDescend, val2, unit2);
-
- str += QObject::tr(", %1%2 %3, %4%5 %6").arg(QChar(0x2197)).arg(val1).arg(unit1).arg(QChar(0x2198)).arg(val2).arg(unit2);
- }
-
-
- if(totalElapsedSeconds != NOTIME)
- {
- IUnit::self().seconds2time(totalElapsedSeconds, val1, unit1);
- str += "<br/>\n";
- str += QObject::tr("Time: %1").arg(val1);
-
- IUnit::self().meter2speed(totalDistance / totalElapsedSeconds, val1, unit1);
- str += QObject::tr(", Speed: %1 %2").arg(val1).arg(unit1);
- }
-
- if(totalElapsedSecondsMoving != NOTIME)
- {
- IUnit::self().seconds2time(totalElapsedSecondsMoving, val1, unit1);
- str += "<br/>\n";
- str += QObject::tr("Moving: %1").arg(val1);
-
- IUnit::self().meter2speed(totalDistance / totalElapsedSecondsMoving, val1, unit1);
- str += QObject::tr(", Speed: %1 %2").arg(val1).arg(unit1);
- }
-
- if(timeStart.isValid())
- {
- str += "<br/>\n";
- str += QObject::tr("Start: %1").arg(IUnit::datetime2string(timeStart, false, boundingRect.center()));
- }
- if(timeEnd.isValid())
- {
- str += "<br/>\n";
- str += QObject::tr("End: %1").arg(IUnit::datetime2string(timeEnd, false, boundingRect.center()));
- }
-
- str += "<br/>\n";
- str += QObject::tr("Points: %1 (%2)").arg(cntVisiblePoints).arg(cntTotalPoints);
-
-
- return str;
-}
-
-QString CGisItemTrk::getInfoRange()
-{
- qreal tmp, d, slope1, slope2;
- QString str, val, unit;
- if(mouseClickFocus == 0 || mouseMoveFocus == 0)
- {
- return str;
- }
-
- int idx1 = mouseClickFocus->idxTotal;
- int idx2 = mouseMoveFocus->idxTotal;
- const trkpt_t * pt1, * pt2;
- if(idx1 < idx2)
- {
- pt1 = mouseClickFocus;
- pt2 = mouseMoveFocus;
- }
- else
- {
- pt1 = mouseMoveFocus;
- pt2 = mouseClickFocus;
- }
-
- d = tmp = pt2->distance - pt1->distance;
- IUnit::self().meter2distance(tmp, val, unit);
- str += QString("%3 %1%2\n").arg(val).arg(unit).arg(QChar(0x21A6));
- if(pt1->time.isValid() && pt2->time.isValid())
- {
- quint32 t = pt2->time.toTime_t() - pt1->time.toTime_t();
- quint32 hh = t / 3600;
- quint32 mm = (t - hh * 3600) / 60;
- quint32 ss = (t - hh * 3600 - mm * 60);
-
- str += QString("%4 %1:%2:%3\n").arg(hh,2,10,QChar('0')).arg(mm,2,10,QChar('0')).arg(ss,2,10,QChar('0')).arg(QChar(0x231a));
- }
-
- tmp = atan((pt2->ascend - pt1->ascend)/d);
- slope1 = qAbs(tmp * 360.0/(2 * M_PI));
- slope2 = qTan(slope1 * DEG_TO_RAD) * 100;
-
- IUnit::self().meter2elevation(pt2->ascend - pt1->ascend, val, unit);
- str += QString("%3 %1%2 (%4%5, %6%)\n").arg(val).arg(unit).arg(QChar(0x2197)).arg(qRound(slope1)).arg(QChar(0260)).arg(qRound(slope2));
-
- tmp = atan((pt2->descend - pt1->descend)/d);
- slope1 = qAbs(tmp * 360.0/(2 * M_PI));
- slope2 = qTan(slope1 * DEG_TO_RAD) * 100;
-
- IUnit::self().meter2elevation(pt2->descend - pt1->descend, val, unit);
- str += QString("%3 %1%2 (%4%5, %6%)").arg(val).arg(unit).arg(QChar(0x2198)).arg(qRound(slope1)).arg(QChar(0260)).arg(qRound(slope2));
-
-
- return str;
-}
-
-QString CGisItemTrk::getInfoTrkPt(const trkpt_t& pt)
-{
- QString str, val1, unit1;
- if(totalElapsedSeconds != 0)
- {
- str += IUnit::datetime2string(pt.time, false, QPointF(pt.lon, pt.lat) * DEG_TO_RAD) + "\n";
- }
- else
- {
- str += "\n";
- }
- IUnit::self().meter2elevation(pt.ele, val1, unit1);
- str += QObject::tr("Ele.: %1 %2").arg(val1).arg(unit1);
- if(pt.slope1 != NOFLOAT)
- {
- str += QObject::tr(" slope: %1%3 (%2%)").arg(pt.slope1, 2, 'f', 0).arg(pt.slope2, 2, 'f', 0).arg(QChar(0260));
- }
- if(pt.speed != NOFLOAT)
- {
- IUnit::self().meter2speed(pt.speed, val1, unit1);
- str += QObject::tr(" speed: %1%2").arg(val1).arg(unit1);
- }
-
- return str;
-}
-
-QString CGisItemTrk::getInfoProgress(const trkpt_t& pt)
-{
- QString str, val, unit;
- if(pt.ascend != NOFLOAT)
- {
- IUnit::self().meter2elevation(pt.ascend, val, unit);
- str += QObject::tr("Ascend: %1%2 (%3%)").arg(val).arg(unit).arg(pt.ascend * 100/totalAscend, 2,'f',0);
- }
- else
- {
- str += QObject::tr("Ascend: - (-)");
- }
-
- if(pt.descend != NOFLOAT)
- {
- IUnit::self().meter2elevation(pt.descend, val, unit);
- str += QObject::tr(" Descend: %1%2 (%3%)").arg(val).arg(unit).arg(pt.descend * 100/totalDescend, 2,'f',0);
- }
- else
- {
- str += QObject::tr(" Descend: - (-) ");
- }
-
- str += "\n";
- if(pt.distance != NOFLOAT)
- {
- IUnit::self().meter2distance(pt.distance, val, unit);
- str += QObject::tr("Dist.: %1%2 (%3%)").arg(val).arg(unit).arg(pt.distance * 100/totalDistance, 2,'f',0);
- }
- else
- {
- str += QObject::tr("Dist.: - (-)");
- }
-
- if(pt.elapsedSeconds != NOFLOAT)
- {
- IUnit::self().seconds2time(pt.elapsedSecondsMoving, val, unit);
- str += QObject::tr(" Moving: %1%2 (%3%)").arg(val).arg(unit).arg(pt.elapsedSecondsMoving * 100/totalElapsedSecondsMoving, 2,'f',0);
- }
- else
- {
- str += QObject::tr(" Moving: - (-) ");
- }
-
- return str;
-}
-
-IScrOpt * CGisItemTrk::getScreenOptions(const QPoint& origin, IMouse * mouse)
-{
- if(scrOpt.isNull())
- {
- scrOpt = new CScrOptTrk(this, origin, mouse);
- }
- return scrOpt;
-}
-
-QPointF CGisItemTrk::getPointCloseBy(const QPoint& screenPos)
-{
- qint32 i = 0;
- qint32 idx = -1;
- qint32 d = NOINT;
- foreach(const QPointF &point, lineSimple)
- {
- int tmp = (screenPos - point).manhattanLength();
- if(tmp < d)
- {
- idx = i;
- d = tmp;
- }
- i++;
- }
-
- if(idx < 0)
- {
- return NOPOINTF;
- }
-
- const trkpt_t * newPointOfFocus = getVisibleTrkPtByIndex(idx);
- publishMouseFocus(newPointOfFocus, eFocusMouseClick, 0);
-
- return lineSimple[idx];
-}
-
-
-#define WINDOW 25
-
-void CGisItemTrk::deriveSecondaryData()
-{
- qreal north = -90;
- qreal east = -180;
- qreal south = 90;
- qreal west = 180;
-
- // reset all secondary data
- cntTotalPoints = 0;
- cntVisiblePoints = 0;
- timeStart = QDateTime();
- timeEnd = QDateTime();
- totalDistance = NOFLOAT;
- totalAscend = NOFLOAT;
- totalDescend = NOFLOAT;
- totalElapsedSeconds = NOTIME;
- totalElapsedSecondsMoving = NOTIME;
-
-
- // remove empty segments
- QVector<trkseg_t>::iterator i = trk.segs.begin();
- while(i != trk.segs.end())
- {
- if((*i).pts.isEmpty())
- {
- i = trk.segs.erase(i);
- continue;
- }
- i++;
- }
-
- // no segments -> no data -> nothing to do
- if(trk.segs.isEmpty())
- {
- return;
- }
-
- trkpt_t * lastTrkpt = 0;
- qreal timestampStart = NOFLOAT;
- qreal lastEle = NOFLOAT;
-
- for(int s = 0; s < trk.segs.size(); s++)
- {
- trkseg_t& seg = trk.segs[s];
-
- for(int p = 0; p < seg.pts.size(); p++)
- {
- trkpt_t& trkpt = seg.pts[p];
-
- trkpt.idxTotal = cntTotalPoints++;
- if(trkpt.flags & trkpt_t::eHidden)
- {
- trkpt.reset();
- continue;
- }
- trkpt.idxVisible = cntVisiblePoints++;
-
- if(trkpt.lon < west)
- {
- west = trkpt.lon;
- }
- if(trkpt.lon > east)
- {
- east = trkpt.lon;
- }
- if(trkpt.lat < south)
- {
- south = trkpt.lat;
- }
- if(trkpt.lat > north)
- {
- north = trkpt.lat;
- }
-
- if(lastTrkpt != 0)
- {
- trkpt.deltaDistance = GPS_Math_Distance(lastTrkpt->lon * DEG_TO_RAD, lastTrkpt->lat * DEG_TO_RAD, trkpt.lon * DEG_TO_RAD, trkpt.lat * DEG_TO_RAD);
- trkpt.distance = lastTrkpt->distance + trkpt.deltaDistance;
- trkpt.elapsedSeconds = trkpt.time.toMSecsSinceEpoch()/1000.0 - timestampStart;
-
- // ascend descend
- if(lastEle != NOFLOAT)
- {
- qreal delta = trkpt.ele - lastEle;
- qreal absDelta = qAbs(delta);
-
- if(absDelta > ASCEND_THRESHOLD)
- {
- if(delta > 0)
- {
- trkpt.ascend = lastTrkpt->ascend + delta;
- trkpt.descend = lastTrkpt->descend;
- }
- else
- {
- trkpt.ascend = lastTrkpt->ascend;
- trkpt.descend = lastTrkpt->descend - delta;
- }
- lastEle = trkpt.ele;
- }
- else
- {
- trkpt.ascend = lastTrkpt->ascend;
- trkpt.descend = lastTrkpt->descend;
- }
- }
-
- // time moving
- qreal dt = (trkpt.time.toMSecsSinceEpoch() - lastTrkpt->time.toMSecsSinceEpoch()) / 1000.0;
- if(dt > 0 && ((trkpt.deltaDistance / dt) > 0.2))
- {
- trkpt.elapsedSecondsMoving = lastTrkpt->elapsedSecondsMoving + dt;
- }
- else
- {
- trkpt.elapsedSecondsMoving = lastTrkpt->elapsedSecondsMoving;
- }
- }
- else
- {
- timeStart = trkpt.time;
- timestampStart = timeStart.toMSecsSinceEpoch()/1000.0;
- lastEle = trkpt.ele;
-
- trkpt.deltaDistance = 0;
- trkpt.distance = 0;
- trkpt.ascend = 0;
- trkpt.descend = 0;
- trkpt.elapsedSeconds = 0;
- trkpt.elapsedSecondsMoving = 0;
- }
-
- lastTrkpt = &trkpt;
- }
- }
-
- boundingRect = QRectF(QPointF(west * DEG_TO_RAD, north * DEG_TO_RAD), QPointF(east * DEG_TO_RAD,south * DEG_TO_RAD));
-
- // speed and slope (short average +-25m)
- for(int s = 0; s < trk.segs.size(); s++)
- {
- trkseg_t& seg = trk.segs[s];
-
- for(int p = 0; p < seg.pts.size(); p++)
- {
- trkpt_t& trkpt = seg.pts[p];
- if(trkpt.flags & trkpt_t::eHidden)
- {
- continue;
- }
-
- qreal d1 = trkpt.distance;
- qreal e1 = trkpt.ele;
- qreal t1 = trkpt.time.toMSecsSinceEpoch() / 1000.0;
- int n = p;
-
- while(n>0)
- {
- trkpt_t & trkpt2 = seg.pts[n];
- if((trkpt2.flags & trkpt_t::eHidden) || (trkpt2.ele == NOINT) || (!trkpt2.time.isValid()))
- {
- n--;
- continue;
- }
-
- if(trkpt.distance - trkpt2.distance >= WINDOW)
- {
- d1 = trkpt2.distance;
- e1 = trkpt2.ele;
- t1 = trkpt2.time.toMSecsSinceEpoch()/1000.0;
- break;
- }
- n--;
- }
-
- qreal d2 = trkpt.distance;
- qreal e2 = trkpt.ele;
- qreal t2 = trkpt.time.toMSecsSinceEpoch() / 1000.0;
- n = p;
- while(n < seg.pts.size())
- {
- trkpt_t & trkpt2 = seg.pts[n];;
- if((trkpt2.flags & trkpt_t::eHidden) || (trkpt2.ele == NOINT))
- {
- n++;
- continue;
- }
-
- if(trkpt2.distance - trkpt.distance >= WINDOW)
- {
- d2 = trkpt2.distance;
- e2 = trkpt2.ele;
- t2 = trkpt2.time.toMSecsSinceEpoch() / 1000.0;
- break;
- }
- n++;
- }
-
- qreal a = atan((e2 - e1)/(d2 - d1));
- trkpt.slope1 = qAbs(a * 360.0/(2 * M_PI));
- trkpt.slope2 = qTan(trkpt.slope1 * DEG_TO_RAD) * 100;
-
- if((t2 - t1) > 0)
- {
- trkpt.speed = (d2 - d1) / (t2 - t1);
- trkpt.rateAscent = (e2 - e1) / (t2 - t1);
- }
- else
- {
- trkpt.speed = NOFLOAT;
- trkpt.rateAscent = NOFLOAT;
- }
- }
- }
-
-
-
- if(lastTrkpt != 0)
- {
- timeEnd = lastTrkpt->time;
- totalDistance = lastTrkpt->distance;
- totalAscend = lastTrkpt->ascend;
- totalDescend = lastTrkpt->descend;
- totalElapsedSeconds = lastTrkpt->elapsedSeconds;
- totalElapsedSecondsMoving = lastTrkpt->elapsedSecondsMoving;
- }
-
-// qDebug() << "--------------" << getName() << "------------------";
-// qDebug() << "totalDistance" << totalDistance;
-// qDebug() << "totalAscend" << totalAscend;
-// qDebug() << "totalDescend" << totalDescend;
-// qDebug() << "totalElapsedSeconds" << totalElapsedSeconds;
-// qDebug() << "totalElapsedSecondsMoving" << totalElapsedSecondsMoving;
-}
-
-struct trkwpt_t
-{
- trkwpt_t() : x(0), y(0), idx(-1), lastDistance(20*20)
- {
- }
-
- qreal x;
- qreal y;
- IGisItem::key_t key;
- qint32 idx;
- qreal lastDistance;
-};
-
-void CGisItemTrk::findWaypointsCloseBy()
-{
- IGisProject * project = dynamic_cast<IGisProject*>(parent());
- if(project == 0)
- {
- return;
- }
-
- QVector<pointDP> line;
-
- // combine all segments to a single line
- foreach (const trkseg_t &seg, trk.segs)
- {
- foreach(const trkpt_t &pt, seg.pts)
- {
- if(pt.flags & CGisItemTrk::trkpt_t::eHidden)
- {
- continue;
- }
- pointDP dp;
- dp.x = pt.lon * DEG_TO_RAD;
- dp.y = pt.lat * DEG_TO_RAD;
- dp.idx = pt.idxTotal;
- line << dp;
- }
- }
-
- // convert coodinates of all waypoints into meter coordinates relative to the first track point
- point3D pt0 = line[0];
- QList<trkwpt_t> trkwpts;
- for(int i=0; i < project->childCount(); i++)
- {
- CGisItemWpt * wpt = dynamic_cast<CGisItemWpt*>(project->child(i));
- if(wpt == 0)
- {
- continue;
- }
-
- QPointF pos;
- pos = wpt->getPosition();
-
- trkwpt_t trkwpt;
- trkwpt.x = pos.x() * DEG_TO_RAD;
- trkwpt.y = pos.y() * DEG_TO_RAD;
- trkwpt.key = wpt->getKey();
-
- qreal a1, a2;
- qreal d = GPS_Math_Distance(pt0.x, pt0.y, trkwpt.x, trkwpt.y, a1, a2);
-
- trkwpt.x = cos(a1 * DEG_TO_RAD) * d;
- trkwpt.y = sin(a1 * DEG_TO_RAD) * d;
-
- trkwpts << trkwpt;
- }
-
-
- // convert all coordinates into meter relative to the first track point.
- line[0].x = 0;
- line[0].y = 0;
- for(int i = 1; i < line.size(); i++)
- {
- qreal d, a1, a2;
- pointDP& pt1 = line[i - 1];
- pointDP& pt2 = line[i];
-
- d = GPS_Math_Distance(pt0.x, pt0.y, pt2.x, pt2.y, a1, a2);
-
- pt0 = pt2;
-
- pt2.x = pt1.x + cos(a1 * DEG_TO_RAD) * d;
- pt2.y = pt1.y + sin(a1 * DEG_TO_RAD) * d;
-
- // test for waypoint close by
- for(int n = 0; n < trkwpts.size(); n++)
- {
- trkwpt_t& trkwpt = trkwpts[n];
- qreal d = (trkwpt.x - pt2.x)*(trkwpt.x - pt2.x) + (trkwpt.y - pt2.y)*(trkwpt.y - pt2.y);
- if(d < trkwpt.lastDistance)
- {
- trkwpt.idx = pt2.idx;
- trkwpt.lastDistance = d;
- }
- }
- }
-}
-
-bool CGisItemTrk::isCloseTo(const QPointF& pos)
-{
- foreach(const QPointF &pt, lineSimple)
- {
- if((pt - pos).manhattanLength() < MIN_DIST_CLOSE_TO)
- {
- return true;
- }
- }
- return false;
-}
-
-void CGisItemTrk::gainUserFocus(bool yes)
-{
- keyUserFocus = yes ? key : key_t();
-}
-
-void CGisItemTrk::edit()
-{
- if(dlgDetails.isNull())
- {
- dlgDetails = new CDetailsTrk(*this, 0);
- dlgDetails->setObjectName(getName());
- }
-
- CMainWindow::self().addWidgetToTab(dlgDetails);
-}
-
-
-bool CGisItemTrk::cut()
-{
- if(mouseClickFocus == 0)
- {
- return false;
- }
-
- QString name1 = getName() + QString(" (%1 - %2)").arg(0).arg(mouseClickFocus->idxTotal);
- name1 = QInputDialog::getText(0, QObject::tr("Edit name..."), QObject::tr("Enter new track name."), QLineEdit::Normal, name1);
- if(name1.isEmpty())
- {
- return false;
- }
-
- IGisProject * project = CGisWidget::self().selectProject();
- if(project == 0)
- {
- return false;
- }
-
- new CGisItemTrk(name1, 0, mouseClickFocus->idxTotal, trk, project);
-
- name1 = getName() + QString(" (%1 - %2)").arg(mouseClickFocus->idxTotal).arg(cntTotalPoints-1);
- name1 = QInputDialog::getText(0, QObject::tr("Edit name..."), QObject::tr("Enter new track name."), QLineEdit::Normal, name1);
- if(name1.isEmpty())
- {
- return false;
- }
-
- project = CGisWidget::self().selectProject();
- if(project == 0)
- {
- return false;
- }
-
- new CGisItemTrk(name1, mouseClickFocus->idxTotal, cntTotalPoints-1, trk, project);
-
- return true;
-}
-
-void CGisItemTrk::reverse()
-{
- QString name1 = QInputDialog::getText(0, QObject::tr("Edit name..."), QObject::tr("Enter new track name."), QLineEdit::Normal, getName() + "_rev");
- if(name1.isEmpty())
- {
- return;
- }
-
- IGisProject * project = CGisWidget::self().selectProject();
- if(project == 0)
- {
- return;
- }
-
- // start with a 1:1 copy of the first track
- CGisItemTrk * trk1 = new CGisItemTrk(*this, project, -1, false);
- trk1->trk.name = name1;
- /*
- clear track data, item key and history. To clear the history is important as
- the original track's history would restore the original key
-
- */
- trk1->trk.segs.clear();
- trk1->key.clear();
- trk1->history.events.clear();
-
- foreach(const trkseg_t &seg, trk.segs)
- {
- trkseg_t seg1;
- foreach(const trkpt_t &pt, seg.pts)
- {
- trkpt_t pt1 = pt;
- pt1.time = QDateTime();
-
- seg1.pts.push_front(pt1);
- }
- trk1->trk.segs.push_front(seg1);
- }
- // restore secondary data and create a new history
- trk1->deriveSecondaryData();
- trk1->setupHistory();
- trk1->updateDecoration(eMarkChanged, eMarkNone);
-}
-
-void CGisItemTrk::combine()
-{
- IGisProject * project = dynamic_cast<IGisProject*>(parent());
- if(project == 0)
- {
- return;
- }
-
- CCombineTrk dlg(*this, *project, 0);
- dlg.exec();
-
- QList<IGisItem::key_t> keys = dlg.getTrackKeys();
- if(keys.isEmpty())
- {
- return;
- }
-
- QString name1 = QInputDialog::getText(0, QObject::tr("Edit name..."), QObject::tr("Enter new track name."), QLineEdit::Normal, getName() + " & other");
- if(name1.isEmpty())
- {
- return;
- }
-
- IGisProject * projectNew = CGisWidget::self().selectProject();
- if(projectNew == 0)
- {
- return;
- }
-
- // start with a 1:1 copy of the first track
- CGisItemTrk * trk1 = new CGisItemTrk(*this, projectNew, -1, false);
- // replace name
- trk1->trk.name = name1;
-
- /*
- clear track data, item key and history. To clear the history is important as
- the original track's history would restore the original key
-
- */
- trk1->trk.segs.clear();
- trk1->key.clear();
- trk1->history.events.clear();
-
- // copy the segments of all tracks to new track
- foreach(const IGisItem::key_t &key, keys)
- {
- CGisItemTrk * trk2 = dynamic_cast<CGisItemTrk*>(project->getItemByKey(key));
- if(trk2 == 0)
- {
- continue;
- }
-
- trk1->trk.segs += trk2->trk.segs;
- }
-
- // restore secondary data and create a new history
- trk1->deriveSecondaryData();
- trk1->setupHistory();
- trk1->updateDecoration(eMarkChanged, eMarkNone);
-}
-
-void CGisItemTrk::hideSelectedPoints()
-{
- if((mouseClickFocus == 0) && (mouseMoveFocus == 0))
- {
- return;
- }
-
- // read start/stop indices
- qint32 idx1 = mouseClickFocus->idxTotal;
- qint32 idx2 = mouseMoveFocus->idxTotal;
- if(idx1 > idx2)
- {
- qSwap(idx1,idx2);
- }
-
- // if first index is the first point adjust index to hide it, too
- if(idx1 == 0)
- {
- idx1 = -1;
- }
- // if second index is the last point adjust index to hide it, too
- if(idx2 == cntTotalPoints - 1)
- {
- idx2 = cntTotalPoints;
- }
-
- // iterate over all segments and delete points between idx1 and idx2
- for(int s = 0; s < trk.segs.size(); s++)
- {
- trkseg_t& seg = trk.segs[s];
- for(int i = 0; i < seg.pts.size(); i++)
- {
- trkpt_t& trkpt = seg.pts[i];
-
- if((idx1 < trkpt.idxTotal) && (trkpt.idxTotal < idx2))
- {
- trkpt.flags |= trkpt_t::eHidden;
- }
- }
- }
- mouseClickFocus = 0;
- mouseMoveFocus = 0;
- deriveSecondaryData();
- changed(QObject::tr("Hide points."), "://icons/48x48/PointHide.png");
-}
-
-void CGisItemTrk::showSelectedPoints()
-{
- if((mouseClickFocus == 0) && (mouseMoveFocus == 0))
- {
- return;
- }
-
- qint32 idx1 = mouseClickFocus->idxTotal;
- qint32 idx2 = mouseMoveFocus->idxTotal;
-
- if(idx1 > idx2)
- {
- qSwap(idx1,idx2);
- }
-
- for(int s = 0; s < trk.segs.size(); s++)
- {
- trkseg_t& seg = trk.segs[s];
- for(int i = 0; i < seg.pts.size(); i++)
- {
- trkpt_t& trkpt = seg.pts[i];
-
- if((idx1 < trkpt.idxTotal) && (trkpt.idxTotal < idx2))
- {
- trkpt.flags &= ~trkpt_t::eHidden;
- }
- }
- }
- mouseClickFocus = 0;
- mouseMoveFocus = 0;
- deriveSecondaryData();
- changed(QObject::tr("Show points."), "://icons/48x48/PointShow.png");
-}
-
-void CGisItemTrk::copySelectedPoints()
-{
- if((mouseClickFocus == 0) && (mouseMoveFocus == 0))
- {
- return;
- }
-
- quint32 idx1 = mouseClickFocus->idxTotal;
- quint32 idx2 = mouseMoveFocus->idxTotal;
-
- if(idx1 > idx2)
- {
- qSwap(idx1,idx2);
- }
-
- IGisProject * project = CGisWidget::self().selectProject();
- if(project == 0)
- {
- return;
- }
-
- QString name1 = getName() + QString(" (%1 - %2)").arg(idx1).arg(idx2);
- name1 = QInputDialog::getText(0, QObject::tr("Edit name..."), QObject::tr("Enter new track name."), QLineEdit::Normal, name1);
- if(name1.isEmpty())
- {
- return;
- }
- new CGisItemTrk(name1, idx1, idx2, trk, project);
-}
-
-void CGisItemTrk::drawItem(QPainter& p, const QPolygonF& viewport, QList<QRectF> &blockedAreas, CGisDraw *gis)
-{
- lineSimple.clear();
- lineFull.clear();
-
- if(!isVisible(boundingRect, viewport,gis))
- {
- return;
- }
-
- QPointF pt1;
- QPointF p1 = viewport[0];
- QPointF p2 = viewport[2];
- gis->convertRad2Px(p1);
- gis->convertRad2Px(p2);
- QRectF extViewport(p1,p2);
-
- if(drawMode == eDrawNormal)
- {
- // in normal mode the trackline without points marked as deleted is drawn
- foreach (const trkseg_t &seg, trk.segs)
- {
- foreach(const trkpt_t &pt, seg.pts)
- {
- if(pt.flags & trkpt_t::eHidden)
- {
- continue;
- }
-
- pt1.setX(pt.lon);
- pt1.setY(pt.lat);
- pt1 *= DEG_TO_RAD;
- lineSimple << pt1;
- }
- }
- }
- else
- {
- // in full mode the complete track including points marked as deleted
- // is drawn as gray line first. Then the track without points marked as
- // deleted is drawn with it's configured color
- foreach (const trkseg_t &seg, trk.segs)
- {
- foreach(const trkpt_t &pt, seg.pts)
- {
- pt1.setX(pt.lon);
- pt1.setY(pt.lat);
- pt1 *= DEG_TO_RAD;
-
- lineFull << pt1;
-
- if(pt.flags & trkpt_t::eHidden)
- {
- continue;
- }
-
- lineSimple << pt1;
- }
- }
- }
- gis->convertRad2Px(lineSimple);
- gis->convertRad2Px(lineFull);
-
- // draw the full line first
- if(drawMode == eDrawRange)
- {
- QList<QPolygonF> lines;
- splitLineToViewport(lineFull, extViewport, lines);
-
- p.setPen(QPen(Qt::lightGray,5,Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin));
-
- foreach(const QPolygonF &l, lines)
- {
- p.drawPolyline(l);
- }
-
- QPixmap bullet("://icons/8x8/bullet_dark_gray.png");
- foreach(const QPolygonF &l, lines)
- {
- foreach(const QPointF &pt, l)
- {
- p.drawPixmap(pt.x() - 3, pt.y() - 3, bullet);
- }
- }
- }
- // -------------------------
-
- // draw the reduced track line
- QList<QPolygonF> lines;
- splitLineToViewport(lineSimple, extViewport, lines);
-
- if(key == keyUserFocus)
- {
- p.setPen(QPen(Qt::red,11,Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin));
- foreach(const QPolygonF &l, lines)
- {
- p.drawPolyline(l);
- }
- }
-
- p.setBrush(color);
- p.setPen(penBackground);
- foreach(const QPolygonF &l, lines)
- {
- p.drawPolyline(l);
- drawArrows(l, extViewport, p);
- }
- penForeground.setColor(color);
- p.setPen(penForeground);
- foreach(const QPolygonF &l, lines)
- {
- p.drawPolyline(l);
- }
- // -------------------------
-}
-
-void CGisItemTrk::drawItem(QPainter& p, const QRectF& viewport, CGisDraw * gis)
-{
- if(hasUserFocus() && mouseMoveFocus)
- {
- // derive anchor
- QPointF anchor(mouseMoveFocus->lon, mouseMoveFocus->lat);
- anchor *= DEG_TO_RAD;
- gis->convertRad2Px(anchor);
-
- // create trackpoint info text
- QString str, val1, unit1, val2, unit2;
- str = getInfoTrkPt(*mouseMoveFocus);
-
- // calculate bounding box of text
- QFont f = CMainWindow::self().getMapFont();
- QFontMetrics fm(f);
- QRect rectText = fm.boundingRect(QRect(0,0,500,0), Qt::AlignLeft|Qt::AlignTop|Qt::TextWordWrap, str);
-
- // create info box
- int w = rectText.width() + 5 + 5;
- int h = rectText.height() + 5 + (fm.height() + 8);
- if(totalElapsedSeconds != 0)
- {
- h += 5 + fm.height() + 8;
- }
-
-
- QRect box(0, 0, w, h);
- box.moveBottomLeft(anchor.toPoint() + QPoint(-50,-50));
-
- // create bubble path
- QPainterPath path1;
- path1.addRoundedRect(box,5,5);
-
- QPolygonF poly2;
- poly2 << anchor << (box.bottomLeft() + QPointF(10,-5)) << (box.bottomLeft() + QPointF(30,-5)) << anchor;
- QPainterPath path2;
- path2.addPolygon(poly2);
-
- path1 = path1.united(path2);
-
- p.setFont(f);
- // draw bubble
- p.setPen(CCanvas::penBorderGray);
- p.setBrush(CCanvas::brushBackWhite);
- p.drawPolygon(path1.toFillPolygon());
-
- p.save();
- p.translate(box.topLeft());
-
- // draw progress bar distance
- p.translate(5,5);
- QRect rectBar1(0,0,rectText.width(), fm.height());
- p.setPen(QColor(150,150,255));
- p.setBrush(QColor(150,150,255));
- p.drawRect(rectBar1);
- qreal d = mouseMoveFocus->distance * rectBar1.width() / totalDistance;
- p.setPen(QColor(150,255,150));
- p.setBrush(QColor(150,255,150));
- p.drawRect(0,0,d,fm.height());
-
-
- IUnit::self().meter2distance(mouseMoveFocus->distance, val1, unit1);
- IUnit::self().meter2distance(totalDistance - mouseMoveFocus->distance, val2, unit2);
- p.setPen(Qt::darkBlue);
- p.drawText(QRect(0,1,rectBar1.width(),fm.height()), Qt::AlignVCenter|Qt::AlignLeft, QString("%1%2").arg(val1).arg(unit1));
- p.drawText(QRect(0,1,rectBar1.width(),fm.height()), Qt::AlignCenter, QString("%1%").arg(mouseMoveFocus->distance * 100 / totalDistance, 0, 'f', 0));
- p.drawText(QRect(0,1,rectBar1.width(),fm.height()), Qt::AlignVCenter|Qt::AlignRight, QString("%1%2").arg(val2).arg(unit2));
-
- // draw progress bar time
- if(totalElapsedSeconds != 0)
- {
- p.translate(0,fm.height() + 5);
- QRect rectBar2(0,0,rectText.width(), fm.height());
- p.setPen(QColor(150,150,255));
- p.setBrush(QColor(150,150,255));
- p.drawRect(rectBar2);
- qreal t = mouseMoveFocus->elapsedSecondsMoving * rectBar2.width() / totalElapsedSecondsMoving;
- p.setPen(QColor(150,255,150));
- p.setBrush(QColor(150,255,150));
- p.drawRect(0,0,t,fm.height());
-
- IUnit::self().seconds2time(mouseMoveFocus->elapsedSecondsMoving, val1, unit1);
- IUnit::self().seconds2time(totalElapsedSecondsMoving - mouseMoveFocus->elapsedSecondsMoving, val2, unit2);
- p.setPen(Qt::darkBlue);
- p.drawText(QRect(0,1,rectBar1.width(),fm.height()), Qt::AlignVCenter|Qt::AlignLeft, QString("%1%2").arg(val1).arg(unit1));
- p.drawText(QRect(0,1,rectBar1.width(),fm.height()), Qt::AlignCenter, QString("%1%").arg(mouseMoveFocus->elapsedSecondsMoving * 100 / totalElapsedSecondsMoving, 0, 'f', 0));
- p.drawText(QRect(0,1,rectBar1.width(),fm.height()), Qt::AlignVCenter|Qt::AlignRight, QString("%1%2").arg(val2).arg(unit2));
-
- p.translate(0,fm.height() + 5);
- }
- else
- {
- p.translate(0, 5);
- }
- // draw text
- p.translate(0, 3);
- p.setPen(Qt::darkBlue);
- p.drawText(rectText, Qt::AlignLeft|Qt::AlignTop|Qt::TextWordWrap,str);
-
- p.restore();
- }
-
- if(!scrOpt.isNull() && mouseClickFocus)
- {
- QPointF anchor(mouseClickFocus->lon, mouseClickFocus->lat);
- anchor *= DEG_TO_RAD;
- gis->convertRad2Px(anchor);
-
- p.drawPixmap(anchor - QPointF(4,4), QPixmap(bulletColors[colorIdx]));
- }
-}
-
-void CGisItemTrk::drawLabel(QPainter& p, const QPolygonF &viewport, QList<QRectF> &blockedAreas, const QFontMetricsF &fm, CGisDraw *gis)
-{
- // tracks have no labels
-}
-
-
-void CGisItemTrk::drawHighlight(QPainter& p)
-{
- if(lineSimple.isEmpty() || (key == keyUserFocus))
- {
- return;
- }
- p.setPen(QPen(QColor(255,0,0,100),11,Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin));
- p.drawPolyline(lineSimple);
-}
-
-void CGisItemTrk::drawRange(QPainter& p)
-{
- if((mouseClickFocus != 0) && (mouseMoveFocus != 0))
- {
- int idx1 = mouseClickFocus->idxVisible;
- int idx2 = mouseMoveFocus->idxVisible;
-
- if(idx1 > idx2)
- {
- qSwap(idx1,idx2);
- }
-
- QPolygonF line = lineSimple.mid(idx1, idx2 - idx1 + 1);
-
- p.setPen(QPen(Qt::red, 12, Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin));
- p.drawPolyline(line);
- foreach(const QPointF &pt, line)
- {
- p.drawPixmap(pt.x() - 3, pt.y() - 3, bullet);
- }
- }
-}
-
-void CGisItemTrk::setName(const QString& str)
-{
- setText(CGisListWks::eColumnName, str);
- trk.name = str;
- changed(QObject::tr("Changed name"), "://icons/48x48/EditText.png");
-}
-
-void CGisItemTrk::setComment(const QString& str)
-{
- trk.cmt = str;
- changed(QObject::tr("Changed comment"), "://icons/48x48/EditText.png");
-}
-
-void CGisItemTrk::setDescription(const QString& str)
-{
- trk.desc = str;
- changed(QObject::tr("Changed description"), "://icons/48x48/EditText.png");
-}
-
-void CGisItemTrk::setLinks(const QList<link_t>& links)
-{
- trk.links = links;
- changed(QObject::tr("Changed links"), "://icons/48x48/Link.png");
-}
-
-
-void CGisItemTrk::setColor(int idx)
-{
- int N = sizeof(lineColors)/sizeof(QColor);
- if(idx >= N)
- {
- return;
- }
- setColor(lineColors[idx]);
- changed(QObject::tr("Changed color"), "://icons/48x48/SelectColor.png");
-}
-
-void CGisItemTrk::setColor(const QColor& c)
-{
- int n;
- int N = sizeof(lineColors)/sizeof(QColor);
-
- for(n = 0; n < N; n++)
- {
- if(lineColors[n] == c)
- {
- colorIdx = n;
- color = lineColors[n];
- bullet = QPixmap(bulletColors[n]);
- break;
- }
- }
-
- if(n == N)
- {
- colorIdx = DEFAULT_COLOR;
- color = lineColors[DEFAULT_COLOR];
- bullet = QPixmap(bulletColors[DEFAULT_COLOR]);
- }
-
- setIcon(color.name());
-}
-
-
-
-void CGisItemTrk::setIcon(const QString& c)
-{
- trk.color = c;
- icon = QPixmap("://icons/48x48/Track.png");
-
- QPixmap mask( icon.size() );
- mask.fill( str2color(c) );
- mask.setMask( icon.createMaskFromColor( Qt::transparent ) );
- icon = mask.scaled(22,22, Qt::KeepAspectRatio, Qt::SmoothTransformation);
-
- QTreeWidgetItem::setIcon(CGisListWks::eColumnName,icon);
-}
-
-void CGisItemTrk::setMouseFocusByDistance(qreal dist, focusmode_e mode, IPlot *initiator)
-{
- const trkpt_t * newPointOfFocus = 0;
-
- if(dist != NOFLOAT)
- {
- qreal delta = totalDistance;
-
- /// @todo: optimze search by single out segment and then do a binary search
-
- foreach (const trkseg_t &seg, trk.segs)
- {
- foreach(const trkpt_t &pt, seg.pts)
- {
- if(pt.flags & trkpt_t::eHidden)
- {
- continue;
- }
-
- qreal d = qAbs(pt.distance - dist);
- if(d <= delta)
- {
- newPointOfFocus = &pt;
- delta = d;
- }
- else
- {
- break;
- }
- }
- }
- }
-
- publishMouseFocus(newPointOfFocus, mode, initiator);
-}
-
-void CGisItemTrk::setMouseFocusByTime(quint32 time, focusmode_e mode, IPlot * initiator)
-{
- const trkpt_t * newPointOfFocus = 0;
-
- if(time != NOTIME)
- {
- /// @todo: optimze search by single out segment and then do a binary search
-
- qreal delta = totalElapsedSeconds;
-
- foreach (const trkseg_t &seg, trk.segs)
- {
- foreach(const trkpt_t &pt, seg.pts)
- {
- if(pt.flags & trkpt_t::eHidden)
- {
- continue;
- }
-
- qreal d = qAbs(qreal(pt.time.toTime_t()) - qreal(time));
- if(d <= delta)
- {
- newPointOfFocus = &pt;
- delta = d;
- }
- else
- {
- break;
- }
- }
- }
- }
-
- publishMouseFocus(newPointOfFocus, mode, initiator);
-}
-
-QPointF CGisItemTrk::setMouseFocusByPoint(const QPoint& pt, focusmode_e mode)
-{
- const trkpt_t * newPointOfFocus = 0;
- quint32 idx = 0;
-
- if((hasUserFocus() || (drawMode == eDrawRange)) && (pt != NOPOINT))
- {
- /*
- Iterate over the polyline used to draw the track as it contains screen
- coordinates. The polyline has all visible track points. But there are
- invisible points, those marked as deleted, too. That is why the index
- into the polyline cant't be used directly. In a second step we have
- to iterate over all segments and visible points of the trk_t object
- until the visible index is reached. This is done by getVisibleTrkPtByIndex().
- */
-
- quint32 i = 0;
- qint32 d = NOINT;
- foreach(const QPointF &point, lineSimple)
- {
- int tmp = (pt - point).manhattanLength();
- if(tmp < d)
- {
- idx = i;
- d = tmp;
- }
- i++;
- }
-
- if(d < MIN_DIST_FOCUS)
- {
- newPointOfFocus = getVisibleTrkPtByIndex(idx);
- }
- }
- publishMouseFocus(newPointOfFocus, mode, 0);
-
- return newPointOfFocus ? lineSimple[idx] : NOPOINTF;
-}
-
-
-void CGisItemTrk::setMouseFocusByIndex(qint32 idx, focusmode_e mode)
-{
- const trkpt_t * newPointOfFocus = 0;
-
- foreach (const trkseg_t &seg, trk.segs)
- {
- foreach(const trkpt_t &pt, seg.pts)
- {
- if(pt.idxTotal == idx)
- {
- newPointOfFocus = &pt;
- publishMouseFocus(newPointOfFocus, mode, 0);
- return;
- }
- }
- }
-}
-
-const CGisItemTrk::trkpt_t * CGisItemTrk::getVisibleTrkPtByIndex(quint32 idx)
-{
- quint32 i = 0;
- foreach (const trkseg_t &seg, trk.segs)
- {
- foreach(const trkpt_t &pt, seg.pts)
- {
- if(pt.flags & trkpt_t::eHidden)
- {
- continue;
- }
- if(i == idx)
- {
- return &pt;
- }
- i++;
- }
- }
- return 0;
-}
-
-
-
-void CGisItemTrk::publishMouseFocus(const trkpt_t * pt, focusmode_e mode, IPlot * initiator)
-{
- switch(mode)
- {
- case eFocusMouseMove:
- if(pt != mouseMoveFocus)
- {
- mouseMoveFocus = pt;
- foreach(IPlot * plot, registeredPlots)
- {
- if(plot != initiator)
- {
- plot->setMouseMoveFocus(mouseMoveFocus);
- }
- }
-
- if(!dlgDetails.isNull())
- {
- dlgDetails->setMouseMoveFocus(mouseMoveFocus);
- }
- }
- break;
-
- case eFocusMouseClick:
- if(pt != mouseClickFocus)
- {
- mouseClickFocus = pt;
- if(!dlgDetails.isNull())
- {
- dlgDetails->setMouseClickFocus(mouseClickFocus);
- }
- }
-
- default:;
- }
-}
-
-void CGisItemTrk::changed(const QString& what, const QString& icon)
-{
- IGisItem::changed(what, icon);
- if(!dlgDetails.isNull())
- {
- dlgDetails->setupGui();
- }
-}
diff --git a/.hg/Trashcan/CGisItemTrk_jYp8hv.h.bak b/.hg/Trashcan/CGisItemTrk_jYp8hv.h.bak
deleted file mode 100644
index 046c779..0000000
--- a/.hg/Trashcan/CGisItemTrk_jYp8hv.h.bak
+++ /dev/null
@@ -1,619 +0,0 @@
-/**********************************************************************************************
- Copyright (C) 2014 Oliver Eichler oliver.eichler at gmx.de
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-**********************************************************************************************/
-
-#ifndef CGISITEMTRK_H
-#define CGISITEMTRK_H
-
-#include "gis/IGisItem.h"
-#include "gis/IGisLine.h"
-
-#include <QPen>
-#include <QPointer>
-
-class QDomNode;
-class IGisProject;
-class IPlot;
-class CDetailsTrk;
-class CScrOptTrk;
-class QSqlDatabase;
-class CQlgtTrack;
-class QDir;
-
-#define TRK_N_COLORS 17
-
-#include <QDebug>
-
-class CGisItemTrk : public IGisItem, public IGisLine
-{
-public:
- struct trk_t;
- struct trkpt_t;
-
- enum focusmode_e
- {
- eFocusMouseMove
- ,eFocusMouseClick
- };
-
- enum drawmode_e
- {
- eDrawNormal
- , eDrawRange
- };
-
- /**
- @brief Used to create a new track from a part of an existing track
- @param name
- @param idx1
- @param idx2
- @param srctrk
- @param project
- */
- CGisItemTrk(const QString& name, qint32 idx1, qint32 idx2, const trk_t &srctrk, IGisProject *project);
- /**
- @brief Used to create a copy of track with new parent
- @param parentTrk
- @param project
- @param idx
- @param clone
- */
- CGisItemTrk(const CGisItemTrk& parentTrk, IGisProject * project, int idx, bool clone);
- /**
- @brief Used to restore a track from a line of coordinates
- @param l
- @param name
- @param project
- @param idx
- */
- CGisItemTrk(const QPolygonF& l, const QString &name, IGisProject *project, int idx);
- /**
- @brief Used to create track from GPX file
- @param xml
- @param project
- */
- CGisItemTrk(const QDomNode &xml, IGisProject *project);
- /**
- @brief Used to restore track from history structure
- @param hist
- @param project
- */
- CGisItemTrk(const history_t& hist, IGisProject * project);
- /**
- @brief Used to restore track from database
- @param id
- @param db
- @param project
- */
- CGisItemTrk(quint64 id, QSqlDatabase& db, IGisProject * project);
- /**
- @brief Clone QLandkarte GT track
- @param trk1
- */
- CGisItemTrk(const CQlgtTrack& trk1);
- /**
- @brief Load track from file (e.g. TwoNav *trk)
- @param filename
- @param project
- */
- CGisItemTrk(const QString& filename, IGisProject * project);
-
- virtual ~CGisItemTrk();
-
- /**
- @brief Save track to GPX tree
- @param gpx The <gpx> node to append by the track
- */
- void save(QDomNode& gpx);
- /**
- @brief Save track to TwoNav track file
- @param dir the path to store the file
- */
- bool saveTwoNav(const QString& filename);
- /**
- @brief Read serialized track from a binary data stream
- @param stream the data stream to read from
- @return A reference to the stream
- */
- QDataStream& operator<<(QDataStream& stream);
- /**
- @brief Serialize track into a binary data stream
- @param stream the data stream to write to.
- @return A reference to the stream
- */
- QDataStream& operator>>(QDataStream& stream);
-
- const QString& getName() const
- {
- return trk.name;
- }
- int getColorIdx() const
- {
- return colorIdx;
- }
-
- const QColor& getColor() const
- {
- return color;
- }
-
- QString getInfo() const;
- QString getInfoRange();
- QString getInfoTrkPt(const trkpt_t& pt);
- QString getInfoProgress(const trkpt_t& pt);
- quint32 getTotalElapsedSeconds() const
- {
- return totalElapsedSeconds;
- }
- const QString& getComment() const
- {
- return trk.cmt;
- }
- const QString& getDescription() const
- {
- return trk.desc;
- }
- const QList<link_t>& getLinks() const
- {
- return trk.links;
- }
- void getPolylineFromData(QPolygonF& l);
- const QDateTime& getTimeStart() const
- {
- return timeStart;
- }
-
- void setName(const QString& str);
- void setColor(int idx);
- void setDrawMode(drawmode_e mode)
- {
- drawMode = mode;
- }
- void setComment(const QString& str);
- void setDescription(const QString& str);
- void setLinks(const QList<link_t>& links);
- void setDataFromPolyline(const QPolygonF& l);
-
- IScrOpt * getScreenOptions(const QPoint &origin, IMouse * mouse);
- QPointF getPointCloseBy(const QPoint& screenPos);
- bool isCloseTo(const QPointF& pos);
-
- void drawItem(QPainter& p, const QPolygonF& viewport, QList<QRectF>& blockedAreas, CGisDraw * gis);
- void drawItem(QPainter& p, const QRectF& viewport, CGisDraw * gis);
- void drawLabel(QPainter& p, const QPolygonF& viewport, QList<QRectF>& blockedAreas, const QFontMetricsF& fm, CGisDraw * gis);
- void drawHighlight(QPainter& p);
- void drawRange(QPainter& p);
-
- /**
- @brief Switch user focus on and off.
-
- If the focus is switched on any other track having the focus will loose it.
-
- @param yes set true to gain focus.
- */
- void gainUserFocus(bool yes);
-
- /**
- @brief Make sure a CDetailsTrk widget is registered with the main tab widget
- */
- void edit();
-
- /**
- @brief Cut track at mouseClickFocus
- @return Return true on success.
- */
- bool cut();
-
- /**
- @brief Reverse the complete track
-
- @note All timestamps will be removed
- */
- void reverse();
-
- /**
- @brief Combine this track with several others.
-
- Handle the complete process of selecting tracks, choosing the order and
- the final name with dialogs.
- */
- void combine();
-
- /**
- @brief Set the trkpt_t::eHidden flag
-
- The flag is set for all track points between mouseClickFocus and mouseMoveFocus,
- regardless of their previous state.
-
- */
- void hideSelectedPoints();
-
- /**
- @brief Reset the trkpt_t::eHidden flag
-
- The flag is reset for all track points between mouseClickFocus and mouseMoveFocus,
- regardless of their previous state.
-
- */
- void showSelectedPoints();
-
- /**
- @brief Copy a section into a new track object
-
- The section is defined by mouseClickFocus and mouseMoveFocus, All points are copied,
- including the hidden (trkpt_t::eHidden) ones.
-
- */
- void copySelectedPoints();
-
- /**
- @brief Check for user focus
-
- @return True if the track has user focus
- */
- bool hasUserFocus() const
- {
- return key == keyUserFocus;
- }
-
- /**
- @brief Get the key of the current track with user focus
-
- @return If no track has the focus an empty string is returned
- */
- static const key_t& getKeyUserFocus()
- {
- return keyUserFocus;
- }
-
- /**
- @brief Each plot widget that operates on the track must register during it's contruction
-
- see registeredPlots for a detailed discussion
-
- @param plot
- */
- void registerPlot(IPlot * plot);
-
- /**
- @brief Each plot widget that operates on the track must unregister during it's destruction
-
- see registeredPlots for a detailed discussion
-
- @param plot
- */
- void unregisterPlot(IPlot * plot);
-
- /**
- @brief Use point with the distance from start matching best the given distance.
-
- @param dist the distance in [m]
- @param initiator a pointer to an initiating IPlot object, or 0
- */
- void setMouseFocusByDistance(qreal dist, focusmode_e mode, IPlot * initiator);
-
- /**
- @brief Use point with time from start matching best the given time delta
-
- @param time a time delta in [s] relative to the start time
- @param initiator a pointer to an initiating IPlot object, or 0
- */
- void setMouseFocusByTime(quint32 time, focusmode_e mode, IPlot * initiator);
-
- /**
- @brief Use the point that is closest to the given point on the screen.
-
- @param pt a point on the screen in pixel.
- */
- QPointF setMouseFocusByPoint(const QPoint& pt, focusmode_e mode);
-
- /**
- @brief Use point with given index counter
- @param idx
- */
- void setMouseFocusByIndex(qint32 idx, focusmode_e mode);
-
- /**
- @brief Reduce the amount of visible track points with the help of the Douglas Peuker algorithm
-
- @note All filter implementations are found in src/gis/trk/filter/filter.cpp
-
- @param dist the Douglas Peuker distance in meters
- */
- void filterReducePoints(qreal dist);
- /**
- @brief filterReset
-
- @note All filter implementations are found in src/gis/trk/filter/filter.cpp
- */
- void filterReset();
- /**
- @brief filterDelete
-
- @note All filter implementations are found in src/gis/trk/filter/filter.cpp
- */
- void filterDelete();
- /**
- @brief filterSmoothProfile
-
- @note All filter implementations are found in src/gis/trk/filter/filter.cpp
-
- @param points size of Median filter
- */
- void filterSmoothProfile(int points);
- /**
- @brief filterReplaceElevation
- */
- void filterReplaceElevation();
- /**
- @brief filterOffsetElevation
-
- @note All filter implementations are found in src/gis/trk/filter/filter.cpp
-
- @param offset elevation offset in meters
- */
- void filterOffsetElevation(int offset);
- /**
- @brief filterNewDate
-
- @note All filter implementations are found in src/gis/trk/filter/filter.cpp
-
- @param date new date for start of track
- */
- void filterNewDate(const QDateTime& date);
- /**
- @brief filterObscureDate
-
- @note All filter implementations are found in src/gis/trk/filter/filter.cpp
-
- @param delta intervall to increase timestamps in seconds
- */
- void filterObscureDate(int delta);
- /**
- @brief filterSpeed
-
- @note All filter implementations are found in src/gis/trk/filter/filter.cpp
-
- @param speed speed in meter per seconds
- */
- void filterSpeed(qreal speed);
-
- void findWaypointsCloseBy();
-
- static const QColor lineColors[TRK_N_COLORS];
- static const QString bulletColors[TRK_N_COLORS];
-
-private:
- void setSymbol();
- /**
- @brief Read track data from section in GPX file
- @param xml The XML <trk> section
- @param trk The track structure to fill
- */
- void readTrk(const QDomNode& xml, trk_t& trk);
-
- /**
- @brief Restore track from TwoNav *trk file
- @param filename
- */
- bool readTwoNav(const QString& filename);
- /**
- @brief Derive secondary data from the track data
-
- This has to be called each time the track data is changed.
- */
- void deriveSecondaryData();
-
- /**
- @brief Try to get access Nth visible point matching the idx
-
- This will iterate over all segments and count the visible points. If the
- count matches idx a pointer to the track point is passed
-
- @param idx The index into all visible points
- @return A null pointer of no point is found.
- */
- const trkpt_t *getVisibleTrkPtByIndex(quint32 idx);
-
- /**
- @brief Tell the point of focus to all plots and the detail dialog
-
- @param pt A pointer to the point itself
- @param mode The reason for the focus
- @param initiator A pointer to an IPlot object that has set the point of focus. Can be 0.
- */
- void publishMouseFocus(const trkpt_t * pt, focusmode_e mode, IPlot *initiator);
- /**
- @brief Replace all trackpoints by the coordinates stored in the polyline
-
- The DEM layer will be queried for elevation data. All other data is lost.
-
- @param l A polyline with coordinates [rad]
- */
- void readTrackDataFromPolyLine(const QPolygonF &l);
- /**
- @brief Overide IGisItem::changed() method
-
- As the CDetailsTrk is no modal dialog that blocks the GUI from any other input the track
- can be changed while the widget is visible. Therfore it needs some feedback to update the
- CDetailsTrk widget. Usualy this would be a signal. However CGisItemTrk is a QTreeWidgetItem
- and therefor no QObject. Fortunately there the dlgDetails pointer. So CDetailsTrk::setupGui()
- can be called from changed()
-
- @param what The reason string
- @param icon An icon string
- */
- void changed(const QString& what, const QString& icon);
-
- void setColor(const QColor& c);
- void setIcon(const QString& c);
-
-public:
- struct trkpt_t : public wpt_t
- {
- trkpt_t()
- : flags(0)
- {
- reset();
- }
-
- void reset()
- {
- deltaDistance = NOFLOAT;
- distance = NOFLOAT;
- ascend = NOFLOAT;
- descend = NOFLOAT;
- elapsedSeconds = NOFLOAT;
- elapsedSecondsMoving = NOFLOAT;
- slope1 = NOFLOAT;
- slope2 = NOFLOAT;
- speed = NOFLOAT;
- rateAscent = NOFLOAT;
- rateDescent = NOFLOAT;
- }
-
- enum flag_e
- {
- eHidden = 0x00000004 ///< mark point as deleted
- };
-
- quint32 flags;
- /// index within the complete track
- qint32 idxTotal;
- /// offset into lineSimple
- qint32 idxVisible;
-
- /// the distance to the last point
- qreal deltaDistance;
- /// the distance from the start of the track
- qreal distance;
- /// the ascend from the start of the track
- qreal ascend;
- /// the descend from the start of the track
- qreal descend;
- /// the slope [°] over several points close by
- qreal slope1;
- /// the slope [%] over several points close by
- qreal slope2;
- /// the speed over several points close by
- qreal speed;
- /// the seconds since the start of the track
- qreal elapsedSeconds;
- /// the seconds since the start of the track with moving speed
- qreal elapsedSecondsMoving;
-
- qreal rateAscent;
-
- qreal rateDescent;
- };
-
- struct trkseg_t
- {
- QVector<trkpt_t> pts;
- QMap<QString, QVariant> extensions;
- };
-
- struct trk_t
- {
- trk_t() : number(0)
- {
- }
- // -- all gpx tags - start
- QString name;
- QString cmt;
- QString desc;
- QString src;
- QList<link_t> links;
- quint64 number;
- QString type;
- QVector<trkseg_t> segs;
- // -- all gpx tags - stop
- QMap<QString, QVariant> extensions;
-
- QString color;
- };
-
- /**
- @brief Read only access to the track data.
- @return
- */
- const trk_t& getTrackData() const
- {
- return trk;
- }
-
-private:
- trk_t trk;
-
- static key_t keyUserFocus;
- static const QPen penBackground;
-
- QPen penForeground;
-
- drawmode_e drawMode;
-
- qint32 cntTotalPoints;
- qint32 cntVisiblePoints;
- QDateTime timeStart;
- QDateTime timeEnd;
- qreal totalDistance;
- qreal totalAscend;
- qreal totalDescend;
- qreal totalElapsedSeconds;
- qreal totalElapsedSecondsMoving;
-
- /// the track line color
- QColor color;
- /// the trakpoint bullet icon
- QPixmap bullet;
- /// the track line color by index
- unsigned colorIdx;
- /// the current track line as screen pixel coordinates
- QPolygonF lineSimple;
- /// visible and invisible points
- QPolygonF lineFull;
-
- /**
- A list of plot objects that need to get informed on any change in data.
-
- @note This is necessary because QTreeWidgetItem is not derived from QObject.
- Thus no signals and slots can be handled. Probably this is because the
- signal/slot system would be a huge overhead on treewidgets with a large
- amount of items.
-
- Anyway we need some kind of signaling between the track object and the
- plot objects displaying the data. And we have to keep in mind that
- the track can be delete by the user at any time. That is why no other
- object is allowed to save a pointer to the track. It must store the
- key. But accessing the track via key is expensive.
-
- That is why we make an exception here. As the track will delete all
- registered plot objects upon destruction, it should be ok to store
- the track object in the plot object, too. By that plot and track can
- easily communicate with each other.
- */
- QSet<IPlot*> registeredPlots;
-
- const trkpt_t * mouseMoveFocus;
- const trkpt_t * mouseClickFocus;
-
- QPointer<CDetailsTrk> dlgDetails;
- QPointer<CScrOptTrk> scrOpt;
-};
-
-#endif //CGISITEMTRK_H
-
diff --git a/.hg/Trashcan/CGisItemWpt_dhk314.cpp.bak b/.hg/Trashcan/CGisItemWpt_dhk314.cpp.bak
deleted file mode 100644
index c731a21..0000000
--- a/.hg/Trashcan/CGisItemWpt_dhk314.cpp.bak
+++ /dev/null
@@ -1,458 +0,0 @@
-/**********************************************************************************************
- Copyright (C) 2014 Oliver Eichler oliver.eichler at gmx.de
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-**********************************************************************************************/
-
-#include "gis/wpt/CGisItemWpt.h"
-#include "gis/wpt/CDetailsWpt.h"
-#include "gis/CGisProject.h"
-#include "gis/CGisDraw.h"
-#include "gis/WptIcons.h"
-#include "canvas/CCanvas.h"
-#include "mouse/IMouse.h"
-#include "gis/wpt/CScrOptWpt.h"
-#include "units/IUnit.h"
-#include "GeoMath.h"
-
-
-#include <QtWidgets>
-#include <QtXml>
-
-QString CGisItemWpt::keyUserFocus;
-
-CGisItemWpt::CGisItemWpt(const QDomNode &xml, CGisProject *parent)
- : IGisItem(parent)
- , proximity(NOFLOAT)
- , posScreen(NOPOINTF)
-{
- // --- start read and process data ----
- readWpt(xml, wpt);
- // decode some well known extensions
- if(xml.namedItem("extensions").isElement())
- {
- const QDomNode& ext = xml.namedItem("extensions");
- readXml(ext, "ql:key", key);
-
- const QDomNode& wptx1 = ext.namedItem("wptx1:WaypointExtension");
- readXml(wptx1, "wptx1:Proximity", proximity);
-
- const QDomNode& xmlCache = ext.namedItem("cache");
- if(!xmlCache.isNull())
- {
- // read OC cache extensions
- }
- }
-
- const QDomNode& xmlCache = xml.namedItem("groundspeak:cache");
- if(!xmlCache.isNull() && !geocache.hasData)
- {
- readGcExt(xmlCache);
- }
- // --- stop read and process data ----
-
- boundingRect = QRectF(QPointF(wpt.lon,wpt.lat)*DEG_TO_RAD,QPointF(wpt.lon,wpt.lat)*DEG_TO_RAD);
-
- setText(0, wpt.name);
- setIcon();
- setToolTip(0, getInfo());
- genKey();
-}
-
-CGisItemWpt::~CGisItemWpt()
-{
-
-}
-
-void CGisItemWpt::genKey()
-{
- if(key.isEmpty())
- {
- QCryptographicHash md5(QCryptographicHash::Md5);
- md5.addData((const char*)&wpt, sizeof(wpt));
- key = md5.result().toHex();
- }
-}
-
-QString CGisItemWpt::getInfo()
-{
- QString str = getName();
-
- if(geocache.hasData)
- {
- str += QString(" %4 (%1, D %2, T %3)").arg(geocache.container).arg(geocache.difficulty, 0,'f',1).arg(geocache.terrain, 0,'f',1).arg(geocache.name);
- }
-
- if(wpt.time.isValid())
- {
- if(!str.isEmpty()) str += "\n";
-
- str += IUnit::datetime2string(wpt.time, QPointF(wpt.lon*DEG_TO_RAD, wpt.lat*DEG_TO_RAD));
- }
-
- if(wpt.ele != NOINT)
- {
- if(!str.isEmpty()) str += "\n";
- QString val, unit;
- IUnit::self().meter2elevation(wpt.ele, val, unit);
- str += QObject::tr("Elevation: %1 %2").arg(val).arg(unit);
- }
-
- if(proximity != NOFLOAT)
- {
- if(!str.isEmpty()) str += "\n";
- QString val, unit;
- IUnit::self().meter2distance(proximity, val, unit);
- str += QObject::tr("Proximity: %1 %2").arg(val).arg(unit);
- }
-
- if(wpt.desc.count())
- {
- if(!str.isEmpty()) str += "\n";
-
- if(wpt.desc.count() < 200)
- {
- str += wpt.desc;
- }
- else
- {
- str += wpt.desc.left(197) + "...";
- }
- }
- else
- {
- QString cmt = wpt.cmt;
- if(cmt.count())
- {
- if(!str.isEmpty()) str += "\n";
-
- if(cmt.count() < 200)
- {
- str += cmt;
- }
- else
- {
- str += cmt.left(197) + "...";
- }
- }
- }
- return str;
-}
-
-IScrOpt * CGisItemWpt::getScreenOptions(const QPoint& origin, IMouse * mouse)
-{
- return new CScrOptWpt(this, origin, mouse);
-}
-
-void CGisItemWpt::setIcon()
-{
- if(geocache.hasData)
- {
- icon = getWptIconByName(geocache.type, focus);
- }
- else
- {
- icon = getWptIconByName(wpt.sym, focus);
- }
-
- QTreeWidgetItem::setIcon(0,icon);
-}
-
-void CGisItemWpt::setName(const QString& str)
-{
- setText(1, "*");
- setText(0, str);
- wpt.name = str;
- setToolTip(0,getInfo());
-}
-
-void CGisItemWpt::setPosition(const QPointF& pos)
-{
- setText(1,"*");
- wpt.lon = pos.x();
- wpt.lat = pos.y();
- setToolTip(0,getInfo());
-}
-
-void CGisItemWpt::setElevation(qint32 val)
-{
- setText(1,"*");
- wpt.ele = val;
- setToolTip(0,getInfo());
-}
-
-void CGisItemWpt::setProximity(qreal val)
-{
- setText(1,"*");
- proximity = val;
- setToolTip(0,getInfo());
-}
-
-void CGisItemWpt::setIcon(const QString& name)
-{
- setText(1,"*");
- wpt.sym = name;
- setIcon();
-}
-
-void CGisItemWpt::save(QDomNode& gpx)
-{
- QDomDocument doc = gpx.ownerDocument();
-
- QDomElement xmlWpt = doc.createElement("wpt");
- gpx.appendChild(xmlWpt);
- writeWpt(xmlWpt, wpt);
-
- // write the key as extension tag
- QDomElement xmlExt = doc.createElement("extensions");
- xmlWpt.appendChild(xmlExt);
- writeXml(xmlExt, "ql:key", key);
-
- // write other well known extensions
- QDomElement wptx1 = doc.createElement("wptx1:WaypointExtension");
- xmlExt.appendChild(wptx1);
- writeXml(wptx1, "wptx1:Proximity", proximity);
-
- if(geocache.hasData && geocache.service == eGC)
- {
- QDomElement xmlCache = doc.createElement("groundspeak:cache");
- writeGcExt(xmlCache);
- xmlWpt.appendChild(xmlCache);
- }
-}
-
-void CGisItemWpt::readGcExt(const QDomNode& xmlCache)
-{
- geocache.service = eGC;
- const QDomNamedNodeMap& attr = xmlCache.attributes();
- geocache.id = attr.namedItem("id").nodeValue().toInt();
-
- geocache.archived = attr.namedItem("archived").nodeValue().toLocal8Bit() == "True";
- geocache.available = attr.namedItem("available").nodeValue().toLocal8Bit() == "True";
- if(geocache.archived)
- {
- geocache.status = QObject::tr("Archived");
- }
- else if(geocache.available)
- {
- geocache.status = QObject::tr("Available");
- }
- else
- {
- geocache.status = QObject::tr("Not Available");
- }
-
- readXml(xmlCache, "groundspeak:name", geocache.name);
- readXml(xmlCache, "groundspeak:placed_by", geocache.owner);
- readXml(xmlCache, "groundspeak:type", geocache.type);
- readXml(xmlCache, "groundspeak:container", geocache.container);
- readXml(xmlCache, "groundspeak:difficulty", geocache.difficulty);
- readXml(xmlCache, "groundspeak:terrain", geocache.terrain);
- readXml(xmlCache, "groundspeak:short_description", geocache.shortDesc);
- readXml(xmlCache, "groundspeak:long_description", geocache.longDesc);
- readXml(xmlCache, "groundspeak:encoded_hints", geocache.hint);
- readXml(xmlCache, "groundspeak:country", geocache.country);
- readXml(xmlCache, "groundspeak:state", geocache.state);
-
- const QDomNodeList& logs = xmlCache.toElement().elementsByTagName("groundspeak:log");
- uint N = logs.count();
-
- for(uint n = 0; n < N; ++n)
- {
- const QDomNode& xmlLog = logs.item(n);
- const QDomNamedNodeMap& attr = xmlLog.attributes();
-
- geocachelog_t log;
- log.id = attr.namedItem("id").nodeValue().toUInt();
- readXml(xmlLog, "groundspeak:date", log.date);
- readXml(xmlLog, "groundspeak:type", log.type);
- if(xmlLog.namedItem("groundspeak:finder").isElement())
- {
- const QDomNamedNodeMap& attr = xmlLog.namedItem("groundspeak:finder").attributes();
- log.finderId = attr.namedItem("id").nodeValue();
- }
-
- readXml(xmlLog, "groundspeak:finder", log.finder);
- readXml(xmlLog, "groundspeak:text", log.text);
-
- geocache.logs << log;
-
- }
- geocache.hasData = true;
-}
-
-void CGisItemWpt::writeGcExt(QDomNode& xmlCache)
-{
- QString str;
- xmlCache.toElement().setAttribute("xmlns:groundspeak", "http://www.groundspeak.com/cache/1/0");
- xmlCache.toElement().setAttribute("id", geocache.id);
- xmlCache.toElement().setAttribute("archived", geocache.archived ? "True" : "False");
- xmlCache.toElement().setAttribute("available", geocache.available ? "True" : "False");
-
- writeXml(xmlCache, "groundspeak:name", geocache.name);
- writeXml(xmlCache, "groundspeak:placed_by", geocache.owner);
- writeXml(xmlCache, "groundspeak:type", geocache.type);
- writeXml(xmlCache, "groundspeak:container", geocache.container);
-
- if(geocache.difficulty == int(geocache.difficulty))
- {
- str.sprintf("%1.0f", geocache.difficulty);
- }
- else
- {
- str.sprintf("%1.1f", geocache.difficulty);
- }
- writeXml(xmlCache, "groundspeak:difficulty", str);
-
- if(geocache.terrain == int(geocache.terrain))
- {
- str.sprintf("%1.0f", geocache.terrain);
- }
- else
- {
- str.sprintf("%1.1f", geocache.terrain);
- }
- writeXml(xmlCache, "groundspeak:terrain", str);
- writeXmlHtml(xmlCache, "groundspeak:short_description", geocache.shortDesc);
- writeXmlHtml(xmlCache, "groundspeak:long_description", geocache.longDesc);
- writeXml(xmlCache, "groundspeak:encoded_hints", geocache.hint);
-
- if(!geocache.logs.isEmpty())
- {
- QDomElement xmlLogs = xmlCache.ownerDocument().createElement("groundspeak:logs");
- xmlCache.appendChild(xmlLogs);
-
- foreach(const geocachelog_t& log, geocache.logs)
- {
- QDomElement xmlLog = xmlCache.ownerDocument().createElement("groundspeak:log");
- xmlLogs.appendChild(xmlLog);
-
- xmlLog.setAttribute("id", log.id);
- writeXml(xmlLog, "groundspeak:date", log.date);
- writeXml(xmlLog, "groundspeak:type", log.type);
-
- QDomElement xmlFinder = xmlCache.ownerDocument().createElement("groundspeak:finder");
- xmlLog.appendChild(xmlFinder);
-
- QDomText _finder_ = xmlCache.ownerDocument().createCDATASection(log.finder);
- xmlFinder.appendChild(_finder_);
- xmlFinder.setAttribute("id", log.finderId);
-
- writeXmlHtml(xmlLog, "groundspeak:text", log.text);
- }
- }
-}
-
-bool CGisItemWpt::isCloseTo(const QPointF& pos)
-{
- if(posScreen == NOPOINTF)
- {
- return false;
- }
-
- return ((pos - posScreen).manhattanLength() < 22);
-}
-
-void CGisItemWpt::gainUserFocus()
-{
- keyUserFocus = key;
-}
-
-void CGisItemWpt::edit()
-{
- CDetailsWpt dlg(*this, 0);
- dlg.exec();
-}
-
-void CGisItemWpt::drawItem(QPainter& p, const QRectF& viewport, QList<QRectF> &blockedAreas, CGisDraw *gis)
-{
- posScreen = QPointF(wpt.lon * DEG_TO_RAD, wpt.lat * DEG_TO_RAD);
- if(!viewport.contains(posScreen))
- {
- posScreen = NOPOINTF;
- return;
- }
- gis->convertRad2Px(posScreen);
- p.drawPixmap(posScreen - focus, icon);
-
- if(proximity != NOFLOAT)
- {
- QPointF pt1(wpt.lon * DEG_TO_RAD, wpt.lat * DEG_TO_RAD);
- pt1 = GPS_Math_Wpt_Projection(pt1, proximity, 90 * DEG_TO_RAD);
- gis->convertRad2Px(pt1);
-
- double r = pt1.x() - posScreen.x();
-
- p.save();
- p.setBrush(Qt::NoBrush);
- p.setPen(QPen(Qt::white,3));
- p.drawEllipse(QRect(posScreen.x() - r - 1, posScreen.y() - r - 1, 2*r + 1, 2*r + 1));
- p.setPen(QPen(Qt::red,1));
- p.drawEllipse(QRect(posScreen.x() - r - 1, posScreen.y() - r - 1, 2*r + 1, 2*r + 1));
- p.restore();
- }
-
- blockedAreas << QRectF(posScreen - focus, icon.size());
-}
-
-void CGisItemWpt::drawLabel(QPainter& p, const QRectF& viewport, QList<QRectF> &blockedAreas, const QFontMetricsF &fm, CGisDraw *gis)
-{
- if(posScreen == NOPOINTF)
- {
- return;
- }
-
- QPointF pt = posScreen - focus;
-
- QRectF rect = fm.boundingRect(wpt.name);
- rect.adjust(-2,-2,2,2);
-
- // place label on top
- rect.moveCenter(pt + QPointF(icon.width()/2, - fm.height()));
- if(isBlocked(rect, blockedAreas))
- {
- // place label on bottom
- rect.moveCenter(pt + QPointF( icon.width()/2, + fm.height() + icon.height()));
- if(isBlocked(rect, blockedAreas))
- {
- // place label on right
- rect.moveCenter(pt + QPointF( icon.width() + rect.width()/2, +fm.height()));
- if(isBlocked(rect, blockedAreas))
- {
- // place label on left
- rect.moveCenter(pt + QPointF( - rect.width()/2, +fm.height()));
- if(isBlocked(rect, blockedAreas))
- {
- // failed to place label anywhere
- return;
- }
- }
- }
- }
-
- CCanvas::drawText(wpt.name,p,rect.toRect(), Qt::darkBlue);
- blockedAreas << rect;
-}
-
-void CGisItemWpt::drawHighlight(QPainter& p)
-{
- if(posScreen == NOPOINTF)
- {
- return;
- }
-
- p.drawImage(posScreen - QPointF(31,31), QImage("://cursors/wptHighlight.png"));
-
-}
diff --git a/.hg/Trashcan/CGisItemWpt_lZD09f.h.bak b/.hg/Trashcan/CGisItemWpt_lZD09f.h.bak
deleted file mode 100644
index 19668ca..0000000
--- a/.hg/Trashcan/CGisItemWpt_lZD09f.h.bak
+++ /dev/null
@@ -1,117 +0,0 @@
-/**********************************************************************************************
- Copyright (C) 2014 Oliver Eichler oliver.eichler at gmx.de
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-**********************************************************************************************/
-
-#ifndef CGISITEMWPT_H
-#define CGISITEMWPT_H
-
-#include "gis/IGisItem.h"
-
-class CGisProject;
-class QDomNode;
-
-class CGisItemWpt : public IGisItem
-{
- public:
- CGisItemWpt(const QDomNode& xml, CGisProject * parent);
- virtual ~CGisItemWpt();
-
- void setName(const QString& str);
- void setPosition(const QPointF& pos);
- void setElevation(qint32 val);
- void setProximity(qreal val);
- void setIcon(const QString& name);
-
- const QString& getName(){return wpt.name;}
- QString getInfo();
- QPointF getPosition(){return QPointF(wpt.lon, wpt.lat);}
- qint32 getElevation(){return wpt.ele;}
- qreal getProximity(){return proximity;}
- const QString& getIconName(){return wpt.sym;}
- const QString& getComment(){return wpt.cmt;}
- const QString& getDescription(){return wpt.desc;}
-
- IScrOpt * getScreenOptions(const QPoint &origin, IMouse * mouse);
- QPointF getPointCloseBy(const QPoint& ){return posScreen;}
-
- void drawItem(QPainter& p, const QRectF& viewport, QList<QRectF>& blockedAreas, CGisDraw * gis);
- void drawLabel(QPainter& p, const QRectF& viewport, QList<QRectF>& blockedAreas, const QFontMetricsF& fm, CGisDraw * gis);
- void drawHighlight(QPainter& p);
- void save(QDomNode& gpx);
- bool isCloseTo(const QPointF& pos);
- void gainUserFocus();
-
- void edit();
-
- private:
- void genKey();
- void setIcon();
- void readGcExt(const QDomNode& xmlCache);
- void writeGcExt(QDomNode& xmlCache);
-
- static QString keyUserFocus;
-
- enum geocacheservice_e {eGC, eOC, eTC};
-
- struct geocachelog_t
- {
- geocachelog_t() : id(0){}
- quint32 id;
- QDateTime date;
- QString type;
- QString finderId;
- QString finder;
- QString text;
- };
-
- struct geocache_t
- {
- geocache_t() : service(eOC), hasData(false), id(0), available(true), archived(false), difficulty(0), terrain(0){}
- geocacheservice_e service;
- bool hasData;
- quint32 id;
- bool available;
- bool archived;
- qreal difficulty;
- qreal terrain;
- QString status;
- QString name;
- QString owner;
- QString ownerId;
- QString type;
- QString container;
- QString shortDesc;
- QString longDesc;
- QString hint;
- QString country;
- QString state;
- QString locale;
- QList<geocachelog_t> logs;
- };
-
-
- wpt_t wpt;
- qreal proximity;
- geocache_t geocache;
-
- QPointF focus;
- QPointF posScreen;
-
-};
-
-#endif //CGISITEMWPT_H
-
diff --git a/.hg/Trashcan/CGisItemWpt_qCGlIQ.cpp.bak b/.hg/Trashcan/CGisItemWpt_qCGlIQ.cpp.bak
deleted file mode 100644
index 24a83e2..0000000
--- a/.hg/Trashcan/CGisItemWpt_qCGlIQ.cpp.bak
+++ /dev/null
@@ -1,476 +0,0 @@
-/**********************************************************************************************
- Copyright (C) 2014 Oliver Eichler oliver.eichler at gmx.de
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-**********************************************************************************************/
-
-#include "gis/wpt/CGisItemWpt.h"
-#include "gis/wpt/CDetailsWpt.h"
-#include "gis/wpt/CScrOptWpt.h"
-#include "gis/CGisProject.h"
-#include "gis/CGisDraw.h"
-#include "gis/WptIcons.h"
-#include "canvas/CCanvas.h"
-#include "mouse/IMouse.h"
-#include "units/IUnit.h"
-#include "GeoMath.h"
-
-
-#include <QtWidgets>
-#include <QtXml>
-
-QString CGisItemWpt::keyUserFocus;
-
-CGisItemWpt::CGisItemWpt(const QDomNode &xml, CGisProject *parent)
- : IGisItem(parent)
- , proximity(NOFLOAT)
- , posScreen(NOPOINTF)
-{
- // --- start read and process data ----
- readWpt(xml, wpt);
- // decode some well known extensions
- if(xml.namedItem("extensions").isElement())
- {
- const QDomNode& ext = xml.namedItem("extensions");
- readXml(ext, "ql:key", key);
-
- const QDomNode& wptx1 = ext.namedItem("wptx1:WaypointExtension");
- readXml(wptx1, "wptx1:Proximity", proximity);
-
- const QDomNode& xmlCache = ext.namedItem("cache");
- if(!xmlCache.isNull())
- {
- // read OC cache extensions
- }
- }
-
- const QDomNode& xmlCache = xml.namedItem("groundspeak:cache");
- if(!xmlCache.isNull() && !geocache.hasData)
- {
- readGcExt(xmlCache);
- }
- // --- stop read and process data ----
-
- boundingRect = QRectF(QPointF(wpt.lon,wpt.lat)*DEG_TO_RAD,QPointF(wpt.lon,wpt.lat)*DEG_TO_RAD);
-
- setText(0, wpt.name);
- setIcon();
- setToolTip(0, getInfo());
- genKey();
-}
-
-CGisItemWpt::~CGisItemWpt()
-{
-
-}
-
-void CGisItemWpt::genKey()
-{
- if(key.isEmpty())
- {
- QCryptographicHash md5(QCryptographicHash::Md5);
- md5.addData((const char*)&wpt, sizeof(wpt));
- key = md5.result().toHex();
- }
-}
-
-QString CGisItemWpt::getInfo()
-{
- QString str = "<p>" + getName() + "</p>";
-
- if(geocache.hasData)
- {
- str += QString(" %4 (%1, D %2, T %3)").arg(geocache.container).arg(geocache.difficulty, 0,'f',1).arg(geocache.terrain, 0,'f',1).arg(geocache.name);
- }
-
- if(wpt.time.isValid())
- {
- if(!str.isEmpty()) str += "<br/>\n";
-
- str += IUnit::datetime2string(wpt.time, QPointF(wpt.lon*DEG_TO_RAD, wpt.lat*DEG_TO_RAD));
- }
-
- if(wpt.ele != NOINT)
- {
- if(!str.isEmpty()) str += "<br/>\n";
- QString val, unit;
- IUnit::self().meter2elevation(wpt.ele, val, unit);
- str += QObject::tr("Elevation: %1 %2").arg(val).arg(unit);
- }
-
- if(proximity != NOFLOAT)
- {
- if(!str.isEmpty()) str += "<br/>\n";
- QString val, unit;
- IUnit::self().meter2distance(proximity, val, unit);
- str += QObject::tr("Proximity: %1 %2").arg(val).arg(unit);
- }
-
- QString desc = removeHtml(wpt.desc);
- if(desc.count())
- {
- if(!str.isEmpty()) str += "<br/>\n";
-
- if(desc.count() < 200)
- {
- str += desc;
- }
- else
- {
- str += desc.left(197) + "...";
- }
- }
- else
- {
- QString cmt = removeHtml(wpt.cmt);
- if(cmt.count())
- {
- if(!str.isEmpty()) str += "<br/>\n";
-
- if(cmt.count() < 200)
- {
- str += cmt;
- }
- else
- {
- str += cmt.left(197) + "...";
- }
- }
- }
-
- qDebug() << "-----------------------";
- qDebug() << str;
- return str;
-}
-
-IScrOpt * CGisItemWpt::getScreenOptions(const QPoint& origin, IMouse * mouse)
-{
- return new CScrOptWpt(this, origin, mouse);
-}
-
-void CGisItemWpt::setIcon()
-{
- if(geocache.hasData)
- {
- icon = getWptIconByName(geocache.type, focus);
- }
- else
- {
- icon = getWptIconByName(wpt.sym, focus);
- }
-
- QTreeWidgetItem::setIcon(0,icon);
-}
-
-void CGisItemWpt::setName(const QString& str)
-{
- setText(1, "*");
- setText(0, str);
- wpt.name = str;
- setToolTip(0,getInfo());
-}
-
-void CGisItemWpt::setPosition(const QPointF& pos)
-{
- setText(1,"*");
- wpt.lon = pos.x();
- wpt.lat = pos.y();
- setToolTip(0,getInfo());
-}
-
-void CGisItemWpt::setElevation(qint32 val)
-{
- setText(1,"*");
- wpt.ele = val;
- setToolTip(0,getInfo());
-}
-
-void CGisItemWpt::setProximity(qreal val)
-{
- setText(1,"*");
- proximity = val;
- setToolTip(0,getInfo());
-}
-
-void CGisItemWpt::setIcon(const QString& name)
-{
- setText(1,"*");
- wpt.sym = name;
- setIcon();
-}
-
-void CGisItemWpt::setComment(const QString& str)
-{
- setText(1,"*");
- wpt.cmt = str;
- setToolTip(0,getInfo());
-}
-
-void CGisItemWpt::setDescription(const QString& str)
-{
- setText(1,"*");
- wpt.desc = str;
- setToolTip(0,getInfo());
-}
-
-void CGisItemWpt::save(QDomNode& gpx)
-{
- QDomDocument doc = gpx.ownerDocument();
-
- QDomElement xmlWpt = doc.createElement("wpt");
- gpx.appendChild(xmlWpt);
- writeWpt(xmlWpt, wpt);
-
- // write the key as extension tag
- QDomElement xmlExt = doc.createElement("extensions");
- xmlWpt.appendChild(xmlExt);
- writeXml(xmlExt, "ql:key", key);
-
- // write other well known extensions
- QDomElement wptx1 = doc.createElement("wptx1:WaypointExtension");
- xmlExt.appendChild(wptx1);
- writeXml(wptx1, "wptx1:Proximity", proximity);
-
- if(geocache.hasData && geocache.service == eGC)
- {
- QDomElement xmlCache = doc.createElement("groundspeak:cache");
- writeGcExt(xmlCache);
- xmlWpt.appendChild(xmlCache);
- }
-}
-
-void CGisItemWpt::readGcExt(const QDomNode& xmlCache)
-{
- geocache.service = eGC;
- const QDomNamedNodeMap& attr = xmlCache.attributes();
- geocache.id = attr.namedItem("id").nodeValue().toInt();
-
- geocache.archived = attr.namedItem("archived").nodeValue().toLocal8Bit() == "True";
- geocache.available = attr.namedItem("available").nodeValue().toLocal8Bit() == "True";
- if(geocache.archived)
- {
- geocache.status = QObject::tr("Archived");
- }
- else if(geocache.available)
- {
- geocache.status = QObject::tr("Available");
- }
- else
- {
- geocache.status = QObject::tr("Not Available");
- }
-
- readXml(xmlCache, "groundspeak:name", geocache.name);
- readXml(xmlCache, "groundspeak:placed_by", geocache.owner);
- readXml(xmlCache, "groundspeak:type", geocache.type);
- readXml(xmlCache, "groundspeak:container", geocache.container);
- readXml(xmlCache, "groundspeak:difficulty", geocache.difficulty);
- readXml(xmlCache, "groundspeak:terrain", geocache.terrain);
- readXml(xmlCache, "groundspeak:short_description", geocache.shortDesc);
- readXml(xmlCache, "groundspeak:long_description", geocache.longDesc);
- readXml(xmlCache, "groundspeak:encoded_hints", geocache.hint);
- readXml(xmlCache, "groundspeak:country", geocache.country);
- readXml(xmlCache, "groundspeak:state", geocache.state);
-
- const QDomNodeList& logs = xmlCache.toElement().elementsByTagName("groundspeak:log");
- uint N = logs.count();
-
- for(uint n = 0; n < N; ++n)
- {
- const QDomNode& xmlLog = logs.item(n);
- const QDomNamedNodeMap& attr = xmlLog.attributes();
-
- geocachelog_t log;
- log.id = attr.namedItem("id").nodeValue().toUInt();
- readXml(xmlLog, "groundspeak:date", log.date);
- readXml(xmlLog, "groundspeak:type", log.type);
- if(xmlLog.namedItem("groundspeak:finder").isElement())
- {
- const QDomNamedNodeMap& attr = xmlLog.namedItem("groundspeak:finder").attributes();
- log.finderId = attr.namedItem("id").nodeValue();
- }
-
- readXml(xmlLog, "groundspeak:finder", log.finder);
- readXml(xmlLog, "groundspeak:text", log.text);
-
- geocache.logs << log;
-
- }
- geocache.hasData = true;
-}
-
-void CGisItemWpt::writeGcExt(QDomNode& xmlCache)
-{
- QString str;
- xmlCache.toElement().setAttribute("xmlns:groundspeak", "http://www.groundspeak.com/cache/1/0");
- xmlCache.toElement().setAttribute("id", geocache.id);
- xmlCache.toElement().setAttribute("archived", geocache.archived ? "True" : "False");
- xmlCache.toElement().setAttribute("available", geocache.available ? "True" : "False");
-
- writeXml(xmlCache, "groundspeak:name", geocache.name);
- writeXml(xmlCache, "groundspeak:placed_by", geocache.owner);
- writeXml(xmlCache, "groundspeak:type", geocache.type);
- writeXml(xmlCache, "groundspeak:container", geocache.container);
-
- if(geocache.difficulty == int(geocache.difficulty))
- {
- str.sprintf("%1.0f", geocache.difficulty);
- }
- else
- {
- str.sprintf("%1.1f", geocache.difficulty);
- }
- writeXml(xmlCache, "groundspeak:difficulty", str);
-
- if(geocache.terrain == int(geocache.terrain))
- {
- str.sprintf("%1.0f", geocache.terrain);
- }
- else
- {
- str.sprintf("%1.1f", geocache.terrain);
- }
- writeXml(xmlCache, "groundspeak:terrain", str);
- writeXmlHtml(xmlCache, "groundspeak:short_description", geocache.shortDesc);
- writeXmlHtml(xmlCache, "groundspeak:long_description", geocache.longDesc);
- writeXml(xmlCache, "groundspeak:encoded_hints", geocache.hint);
-
- if(!geocache.logs.isEmpty())
- {
- QDomElement xmlLogs = xmlCache.ownerDocument().createElement("groundspeak:logs");
- xmlCache.appendChild(xmlLogs);
-
- foreach(const geocachelog_t& log, geocache.logs)
- {
- QDomElement xmlLog = xmlCache.ownerDocument().createElement("groundspeak:log");
- xmlLogs.appendChild(xmlLog);
-
- xmlLog.setAttribute("id", log.id);
- writeXml(xmlLog, "groundspeak:date", log.date);
- writeXml(xmlLog, "groundspeak:type", log.type);
-
- QDomElement xmlFinder = xmlCache.ownerDocument().createElement("groundspeak:finder");
- xmlLog.appendChild(xmlFinder);
-
- QDomText _finder_ = xmlCache.ownerDocument().createCDATASection(log.finder);
- xmlFinder.appendChild(_finder_);
- xmlFinder.setAttribute("id", log.finderId);
-
- writeXmlHtml(xmlLog, "groundspeak:text", log.text);
- }
- }
-}
-
-bool CGisItemWpt::isCloseTo(const QPointF& pos)
-{
- if(posScreen == NOPOINTF)
- {
- return false;
- }
-
- return ((pos - posScreen).manhattanLength() < 22);
-}
-
-void CGisItemWpt::gainUserFocus()
-{
- keyUserFocus = key;
-}
-
-void CGisItemWpt::edit()
-{
- CDetailsWpt dlg(*this, 0);
- dlg.exec();
-}
-
-void CGisItemWpt::drawItem(QPainter& p, const QRectF& viewport, QList<QRectF> &blockedAreas, CGisDraw *gis)
-{
- posScreen = QPointF(wpt.lon * DEG_TO_RAD, wpt.lat * DEG_TO_RAD);
- if(!viewport.contains(posScreen))
- {
- posScreen = NOPOINTF;
- return;
- }
- gis->convertRad2Px(posScreen);
- p.drawPixmap(posScreen - focus, icon);
-
- if(proximity != NOFLOAT)
- {
- QPointF pt1(wpt.lon * DEG_TO_RAD, wpt.lat * DEG_TO_RAD);
- pt1 = GPS_Math_Wpt_Projection(pt1, proximity, 90 * DEG_TO_RAD);
- gis->convertRad2Px(pt1);
-
- double r = pt1.x() - posScreen.x();
-
- p.save();
- p.setBrush(Qt::NoBrush);
- p.setPen(QPen(Qt::white,3));
- p.drawEllipse(QRect(posScreen.x() - r - 1, posScreen.y() - r - 1, 2*r + 1, 2*r + 1));
- p.setPen(QPen(Qt::red,1));
- p.drawEllipse(QRect(posScreen.x() - r - 1, posScreen.y() - r - 1, 2*r + 1, 2*r + 1));
- p.restore();
- }
-
- blockedAreas << QRectF(posScreen - focus, icon.size());
-}
-
-void CGisItemWpt::drawLabel(QPainter& p, const QRectF& viewport, QList<QRectF> &blockedAreas, const QFontMetricsF &fm, CGisDraw *gis)
-{
- if(posScreen == NOPOINTF)
- {
- return;
- }
-
- QPointF pt = posScreen - focus;
-
- QRectF rect = fm.boundingRect(wpt.name);
- rect.adjust(-2,-2,2,2);
-
- // place label on top
- rect.moveCenter(pt + QPointF(icon.width()/2, - fm.height()));
- if(isBlocked(rect, blockedAreas))
- {
- // place label on bottom
- rect.moveCenter(pt + QPointF( icon.width()/2, + fm.height() + icon.height()));
- if(isBlocked(rect, blockedAreas))
- {
- // place label on right
- rect.moveCenter(pt + QPointF( icon.width() + rect.width()/2, +fm.height()));
- if(isBlocked(rect, blockedAreas))
- {
- // place label on left
- rect.moveCenter(pt + QPointF( - rect.width()/2, +fm.height()));
- if(isBlocked(rect, blockedAreas))
- {
- // failed to place label anywhere
- return;
- }
- }
- }
- }
-
- CCanvas::drawText(wpt.name,p,rect.toRect(), Qt::darkBlue);
- blockedAreas << rect;
-}
-
-void CGisItemWpt::drawHighlight(QPainter& p)
-{
- if(posScreen == NOPOINTF)
- {
- return;
- }
-
- p.drawImage(posScreen - QPointF(31,31), QImage("://cursors/wptHighlight.png"));
-
-}
diff --git a/.hg/Trashcan/CGisItemWpt_v6zJBd.h.bak b/.hg/Trashcan/CGisItemWpt_v6zJBd.h.bak
deleted file mode 100644
index 0b73189..0000000
--- a/.hg/Trashcan/CGisItemWpt_v6zJBd.h.bak
+++ /dev/null
@@ -1,119 +0,0 @@
-/**********************************************************************************************
- Copyright (C) 2014 Oliver Eichler oliver.eichler at gmx.de
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-**********************************************************************************************/
-
-#ifndef CGISITEMWPT_H
-#define CGISITEMWPT_H
-
-#include "gis/IGisItem.h"
-
-class CGisProject;
-class QDomNode;
-
-class CGisItemWpt : public IGisItem
-{
- public:
- CGisItemWpt(const QDomNode& xml, CGisProject * parent);
- virtual ~CGisItemWpt();
-
- void setName(const QString& str);
- void setPosition(const QPointF& pos);
- void setElevation(qint32 val);
- void setProximity(qreal val);
- void setIcon(const QString& name);
- void setComment(const QString& str);
- void setDescription(const QString& str);
-
- const QString& getName(){return wpt.name;}
- QString getInfo();
- QPointF getPosition(){return QPointF(wpt.lon, wpt.lat);}
- qint32 getElevation(){return wpt.ele;}
- qreal getProximity(){return proximity;}
- const QString& getIconName(){return wpt.sym;}
- const QString& getComment(){return wpt.cmt;}
- const QString& getDescription(){return wpt.desc;}
-
- IScrOpt * getScreenOptions(const QPoint &origin, IMouse * mouse);
- QPointF getPointCloseBy(const QPoint& ){return posScreen;}
-
- void drawItem(QPainter& p, const QRectF& viewport, QList<QRectF>& blockedAreas, CGisDraw * gis);
- void drawLabel(QPainter& p, const QRectF& viewport, QList<QRectF>& blockedAreas, const QFontMetricsF& fm, CGisDraw * gis);
- void drawHighlight(QPainter& p);
- void save(QDomNode& gpx);
- bool isCloseTo(const QPointF& pos);
- void gainUserFocus();
-
- void edit();
-
- private:
- void genKey();
- void setIcon();
- void readGcExt(const QDomNode& xmlCache);
- void writeGcExt(QDomNode& xmlCache);
-
- static QString keyUserFocus;
-
- enum geocacheservice_e {eGC, eOC, eTC};
-
- struct geocachelog_t
- {
- geocachelog_t() : id(0){}
- quint32 id;
- QDateTime date;
- QString type;
- QString finderId;
- QString finder;
- QString text;
- };
-
- struct geocache_t
- {
- geocache_t() : service(eOC), hasData(false), id(0), available(true), archived(false), difficulty(0), terrain(0){}
- geocacheservice_e service;
- bool hasData;
- quint32 id;
- bool available;
- bool archived;
- qreal difficulty;
- qreal terrain;
- QString status;
- QString name;
- QString owner;
- QString ownerId;
- QString type;
- QString container;
- QString shortDesc;
- QString longDesc;
- QString hint;
- QString country;
- QString state;
- QString locale;
- QList<geocachelog_t> logs;
- };
-
-
- wpt_t wpt;
- qreal proximity;
- geocache_t geocache;
-
- QPointF focus;
- QPointF posScreen;
-
-};
-
-#endif //CGISITEMWPT_H
-
diff --git a/.hg/Trashcan/CGisListWks_3x8ATJ.cpp.bak b/.hg/Trashcan/CGisListWks_3x8ATJ.cpp.bak
deleted file mode 100644
index 266c790..0000000
--- a/.hg/Trashcan/CGisListWks_3x8ATJ.cpp.bak
+++ /dev/null
@@ -1,1110 +0,0 @@
-/**********************************************************************************************
- Copyright (C) 2014 Oliver Eichler oliver.eichler at gmx.de
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-**********************************************************************************************/
-
-#include "CMainWindow.h"
-#include "config.h"
-#include "gis/CGisListWks.h"
-#include "gis/CGisWidget.h"
-#include "gis/IGisItem.h"
-#include "gis/db/CDBProject.h"
-#include "gis/db/macros.h"
-#include "gis/gpx/CGpxProject.h"
-#include "gis/ovl/CGisItemOvlArea.h"
-#include "gis/prj/IGisProject.h"
-#include "gis/qms/CQmsProject.h"
-#include "gis/rte/CGisItemRte.h"
-#include "gis/search/CSearchGoogle.h"
-#include "gis/trk/CGisItemTrk.h"
-#include "gis/wpt/CGisItemWpt.h"
-#include "helpers/CSelectProjectDialog.h"
-#include "helpers/CSelectCopyAction.h"
-#include "helpers/CSettings.h"
-
-#include <QtSql>
-#include <QtWidgets>
-
-#define DB_VERSION 1
-
-class CGisListWksEditLock
-{
- public:
- CGisListWksEditLock(bool waitCursor, QMutex& mutex) : mutex(mutex), waitCursor(waitCursor)
- {
- if(waitCursor)
- {
- QApplication::setOverrideCursor(Qt::WaitCursor);
- }
- mutex.lock();
- }
- ~CGisListWksEditLock()
- {
- if(waitCursor)
- {
- QApplication::restoreOverrideCursor();
- }
- mutex.unlock();
- }
- private:
- QMutex& mutex;
- bool waitCursor;
-
-};
-
-
-CGisListWks::CGisListWks(QWidget *parent)
- : QTreeWidget(parent)
- , menuNone(0)
- , saveOnExit(true)
- , saveEvery(5)
-{
- db = QSqlDatabase::addDatabase("QSQLITE","Workspace1");
- db.setDatabaseName(QDir::home().filePath(CONFIGDIR).append("/workspace.db"));
- db.open();
- configDB();
-
- menuProject = new QMenu(this);
- actionSaveAs = menuProject->addAction(QIcon("://icons/32x32/SaveGISAs.png"),tr("Save As..."), this, SLOT(slotSaveAsProject()));
- actionSave = menuProject->addAction(QIcon("://icons/32x32/SaveGIS.png"),tr("Save"), this, SLOT(slotSaveProject()));
- actionEditPrj = menuProject->addAction(QIcon("://icons/32x32/EditDetails.png"),tr("Edit.."), this, SLOT(slotEditPrj()));
- actionClose = menuProject->addAction(QIcon("://icons/32x32/Close.png"),tr("Close"), this, SLOT(slotCloseProject()));
-
- connect(this, SIGNAL(customContextMenuRequested(QPoint)), this, SLOT(slotContextMenu(QPoint)));
- connect(this, SIGNAL(itemDoubleClicked(QTreeWidgetItem*,int)), this, SLOT(slotItemDoubleClicked(QTreeWidgetItem*,int)));
-
- menuItem = new QMenu(this);
- actionEditDetails = menuItem->addAction(QIcon("://icons/32x32/EditDetails.png"),tr("Edit..."), this, SLOT(slotEditItem()));
- actionCopyItem = menuItem->addAction(QIcon("://icons/32x32/Copy.png"),tr("Copy to..."), this, SLOT(slotCopyItem()));
- actionMoveWpt = menuItem->addAction(QIcon("://icons/32x32/WptMove.png"),tr("Move Waypoint"), this, SLOT(slotMoveWpt()));
- actionProjWpt = menuItem->addAction(QIcon("://icons/32x32/WptProj.png"),tr("Proj. Waypoint..."), this, SLOT(slotProjWpt()));
- actionFocusTrk = menuItem->addAction(QIcon("://icons/32x32/TrkProfile.png"),tr("Track Profile"));
- actionRangeTrk = menuItem->addAction(QIcon("://icons/32x32/SelectRange.png"),tr("Select Range"), this, SLOT(slotRangeTrk()));
- actionEditTrk = menuItem->addAction(QIcon("://icons/32x32/LineMove.png"),tr("Edit Track Points"), this, SLOT(slotEditTrk()));
- actionReverseTrk = menuItem->addAction(QIcon("://icons/32x32/Reverse.png"),tr("Reverse Track"), this, SLOT(slotReverseTrk()));
- actionCombineTrk = menuItem->addAction(QIcon("://icons/32x32/Combine.png"),tr("Combine Tracks"), this, SLOT(slotCombineTrk()));
- actionEditArea = menuItem->addAction(QIcon("://icons/32x32/AreaMove.png"),tr("Edit Area Points"), this, SLOT(slotEditArea()));
- actionFocusTrk->setCheckable(true);
- connect(actionFocusTrk, SIGNAL(triggered(bool)), this, SLOT(slotFocusTrk(bool)));
- actionDelete = menuItem->addAction(QIcon("://icons/32x32/DeleteOne.png"),tr("Delete"), this, SLOT(slotDeleteItem()));
-
- connect(qApp, SIGNAL(aboutToQuit ()), this, SLOT(slotSaveWorkspace()));
-
- SETTINGS;
- saveOnExit = cfg.value("Database/saveOnExit", saveOnExit).toBool();
- saveEvery = cfg.value("Database/saveEvery", saveEvery).toInt();
-
- if(saveOnExit && (saveEvery > 0))
- {
- QTimer::singleShot(saveEvery * 60000, this, SLOT(slotSaveWorkspace()));
- }
-
- QTimer::singleShot(500, this, SLOT(slotLoadWorkspace()));
-}
-
-CGisListWks::~CGisListWks()
-{
-}
-
-void CGisListWks::configDB()
-{
- QSqlQuery query(db);
- if(!query.exec("PRAGMA locking_mode=EXCLUSIVE"))
- {
- return;
- }
-
- if(!query.exec("PRAGMA synchronous=OFF"))
- {
- return;
- }
-
- if(!query.exec("PRAGMA temp_store=MEMORY"))
- {
- return;
- }
-
- if(!query.exec("PRAGMA default_cache_size=50"))
- {
- return;
- }
-
- if(!query.exec("PRAGMA page_size=8192"))
- {
- return;
- }
-
- if(!query.exec("SELECT version FROM versioninfo"))
- {
- initDB();
- }
- else if(query.next())
- {
- int version = query.value(0).toInt();
- if(version != DB_VERSION)
- {
- migrateDB(version);
- }
- }
- else
- {
- initDB();
- }
-}
-
-void CGisListWks::initDB()
-{
- QSqlQuery query(db);
-
- if(query.exec( "CREATE TABLE versioninfo ( version TEXT )"))
- {
- query.prepare( "INSERT INTO versioninfo (version) VALUES(:version)");
- query.bindValue(":version", DB_VERSION);
- QUERY_EXEC(; );
- }
-
- if(!query.exec( "CREATE TABLE workspace ("
- "id INTEGER PRIMARY KEY AUTOINCREMENT,"
- "type INTEGER NOT NULL,"
- "name TEXT NOT NULL,"
- "key TEXT NOT NULL,"
- "changed BOOLEAN DEFAULT FALSE,"
- "data BLOB NOT NULL"
-
- ")"))
- {
- qDebug() << query.lastQuery();
- qDebug() << query.lastError();
- }
-}
-
-void CGisListWks::migrateDB(int version)
-{
- QSqlQuery query(db);
-
- for(version++; version <= DB_VERSION; version++)
- {
- switch(version)
- {
- }
- }
- query.prepare( "UPDATE versioninfo set version=:version");
- query.bindValue(":version", version - 1);
- QUERY_EXEC(; );
-}
-
-void CGisListWks::setExternalMenu(QMenu * project)
-{
- menuNone = project;
- connect(CMainWindow::self().findChild<QAction*>("actionAddEmptyProject"), SIGNAL(triggered()), this, SLOT(slotAddEmptyProject()));
- connect(CMainWindow::self().findChild<QAction*>("actionCloseAllProjects"), SIGNAL(triggered(bool)), this, SLOT(slotCloseAllProjects()));
- connect(CMainWindow::self().findChild<QAction*>("actionSearchGoogle"), SIGNAL(triggered(bool)), this, SLOT(slotSearchGoogle(bool)));
-}
-
-void CGisListWks::dragMoveEvent (QDragMoveEvent * e )
-{
- QTreeWidgetItem * item1 = currentItem();
- QTreeWidgetItem * item2 = itemAt(e->pos());
-
-
- // changeing the item order is only valid for single selected items
- if(selectedItems().count() == 1)
- {
- /*
- What's happening here?
-
- 1) Cast current item and item under cursor to GIS item type
- 2) If type matches for both test for common parent
- 2.1) common parent-> move
- 2.1) different parent -> copy
- 3) go on with dragMoveEvent();
-
- */
-
- CGisItemTrk * trk1 = dynamic_cast<CGisItemTrk*>(item1);
- CGisItemTrk * trk2 = dynamic_cast<CGisItemTrk*>(item2);
-
- if(trk1 && trk2)
- {
- if(trk1->parent() == trk2->parent())
- {
- e->setDropAction(Qt::MoveAction);
- }
- else
- {
- e->setDropAction(Qt::CopyAction);
- }
- QTreeWidget::dragMoveEvent(e);
- return;
- }
-
- CGisItemWpt * wpt1 = dynamic_cast<CGisItemWpt*>(item1);
- CGisItemWpt * wpt2 = dynamic_cast<CGisItemWpt*>(item2);
-
- if(wpt1 && wpt2)
- {
- if(wpt1->parent() == wpt2->parent())
- {
- e->setDropAction(Qt::MoveAction);
- }
- else
- {
- e->setDropAction(Qt::CopyAction);
- }
- QTreeWidget::dragMoveEvent(e);
- return;
- }
-
- CGisItemRte * rte1 = dynamic_cast<CGisItemRte*>(item1);
- CGisItemRte * rte2 = dynamic_cast<CGisItemRte*>(item2);
-
- if(rte1 && rte2)
- {
- if(rte1->parent() == rte2->parent())
- {
- e->setDropAction(Qt::MoveAction);
- }
- else
- {
- e->setDropAction(Qt::CopyAction);
- }
- QTreeWidget::dragMoveEvent(e);
- return;
- }
-
- CGisItemOvlArea * area1 = dynamic_cast<CGisItemOvlArea*>(item1);
- CGisItemOvlArea * area2 = dynamic_cast<CGisItemOvlArea*>(item2);
-
- if(area1 && area2)
- {
- if(area1->parent() == area2->parent())
- {
- e->setDropAction(Qt::MoveAction);
- }
- else
- {
- e->setDropAction(Qt::CopyAction);
- }
- QTreeWidget::dragMoveEvent(e);
- return;
- }
- }
-
- IGisProject * proj = dynamic_cast<IGisProject*>(item2);
- if(proj && (proj != currentItem()->parent()))
- {
- e->setDropAction(Qt::CopyAction);
- QTreeWidget::dragMoveEvent(e);
- return;
- }
-
- e->setDropAction(Qt::IgnoreAction);
- QTreeWidget::dragMoveEvent(e);
-}
-
-void CGisListWks::dropEvent ( QDropEvent * e )
-{
-
- QList<QTreeWidgetItem*> items = selectedItems();
- if(items.isEmpty())
- {
- return;
- }
-
- int lastResult = CSelectCopyAction::eResultNone;
-
- // go on with item insertion
- /*
- What's happening here?
-
- for single selected items do:
- 1) Test if item will be inserted above ore below item under cursor.
- 2) Cast current item and item under cursor to GIS item type
- 3) If type matches for both test for common parent
- 3.1) common parent-> go on with default drop event
- 3.1) different parent -> create a copy and insert it index
- 4) signal change of project
-
- for single and multiple selected items, do:
- 5) Test if item under cursor is a project
- 6) If project and project is not item's project create a copy
-
- */
- if(items.size() == 1)
- {
- // calc. index offset (below/above item)
- QRect r = visualItemRect(itemAt(e->pos()));
- int y1 = r.top() + r.height()/2;
- int y2 = e->pos().y();
- int off = y2 > y1 ? 1 : 0;
-
- CGisItemWpt * wpt1 = dynamic_cast<CGisItemWpt*>(currentItem());
- CGisItemWpt * wpt2 = dynamic_cast<CGisItemWpt*>(itemAt(e->pos()));
-
- if(wpt1 && wpt2)
- {
- if(wpt1->parent() == wpt2->parent())
- {
- QTreeWidget::dropEvent(e);
- }
- else
- {
- IGisProject * project = dynamic_cast<IGisProject*>(wpt2->parent());
- if(project)
- {
- project->insertCopyOfItem(wpt1, off, lastResult);
- }
- }
- emit sigChanged();
- return;
- }
-
- CGisItemTrk * trk1 = dynamic_cast<CGisItemTrk*>(currentItem());
- CGisItemTrk * trk2 = dynamic_cast<CGisItemTrk*>(itemAt(e->pos()));
-
- if(trk1 && trk2)
- {
- if(trk1->parent() == trk2->parent())
- {
- QTreeWidget::dropEvent(e);
- }
- else
- {
- IGisProject * project = dynamic_cast<IGisProject*>(trk2->parent());
- if(project)
- {
- project->insertCopyOfItem(trk1, off, lastResult);
- }
- }
- emit sigChanged();
- return;
- }
-
- CGisItemRte * rte1 = dynamic_cast<CGisItemRte*>(currentItem());
- CGisItemRte * rte2 = dynamic_cast<CGisItemRte*>(itemAt(e->pos()));
-
- if(rte1 && rte2)
- {
- if(rte1->parent() == rte2->parent())
- {
- QTreeWidget::dropEvent(e);
- }
- else
- {
- IGisProject * project = dynamic_cast<IGisProject*>(rte2->parent());
- if(project)
- {
- project->insertCopyOfItem(rte1, off, lastResult);
- }
- }
- emit sigChanged();
- return;
- }
-
- CGisItemOvlArea * area1 = dynamic_cast<CGisItemOvlArea*>(currentItem());
- CGisItemOvlArea * area2 = dynamic_cast<CGisItemOvlArea*>(itemAt(e->pos()));
-
- if(area1 && area2)
- {
- if(area1->parent() == area2->parent())
- {
- QTreeWidget::dropEvent(e);
- }
- else
- {
- IGisProject * project = dynamic_cast<IGisProject*>(area2->parent());
- if(project)
- {
- project->insertCopyOfItem(area1, off, lastResult);
- }
- }
- emit sigChanged();
- return;
- }
- }
-
- // check if item at position is a project and insert a copy of all selected items
- IGisProject * project = dynamic_cast<IGisProject*>(itemAt(e->pos()));
- if(project)
- {
- int cnt = 1;
- int N = items.size();
- QProgressDialog progress("Drop items...", "Abort drop", 0, 100, this);
- progress.setWindowModality(Qt::WindowModal);
-
- foreach(QTreeWidgetItem * item, items)
- {
- progress.setValue((100 * cnt++) / N);
- if (progress.wasCanceled())
- {
- break;
- }
-
- IGisItem * gisItem = dynamic_cast<IGisItem*>(item);
- project->insertCopyOfItem(gisItem, -1, lastResult);
- }
- }
- emit sigChanged();
-}
-
-
-bool CGisListWks::hasProject(IGisProject * project)
-{
- CGisListWksEditLock lock(true, IGisItem::mutexItems);
-
- QString key = project->getKey();
-
- for(int i = 0; i < topLevelItemCount(); i++)
- {
- IGisProject * item = dynamic_cast<IGisProject*>(topLevelItem(i));
- if(item && item->getKey() == key)
- {
- if(item != project)
- {
- return(true);
- }
- }
- }
- return(false);
-}
-
-IGisProject * CGisListWks::getProjectByKey(const QString& key)
-{
- CGisListWksEditLock lock(true, IGisItem::mutexItems);
-
- for(int i = 0; i < topLevelItemCount(); i++)
- {
- IGisProject * item = dynamic_cast<IGisProject*>(topLevelItem(i));
- if(item && item->getKey() == key)
- {
- return item;
- }
- }
- return 0;
-}
-
-CDBProject * CGisListWks::getProjectById(quint64 id, const QString& db)
-{
- CGisListWksEditLock lock(true, IGisItem::mutexItems);
-
- for(int i = 0; i < topLevelItemCount(); i++)
- {
- CDBProject * item = dynamic_cast<CDBProject*>(topLevelItem(i));
- if(item && item->getId() == id && item->getDBName() == db)
- {
- return item;
- }
- }
- return 0;
-
-}
-
-void CGisListWks::slotSaveWorkspace()
-{
- if(!saveOnExit)
- {
- return;
- }
-
- QSqlQuery query(db);
- if(!query.exec("DELETE FROM workspace"))
- {
- QUERY_EXEC(return );
- }
-
- qDebug() << "slotSaveWorkspace()";
-
- const int total = topLevelItemCount();
- PROGRESS_SETUP(tr("Saving workspace. Please wait."), total);
-
- for(int i = 0; i < total; i++)
- {
- PROGRESS(i, return );
-
- IGisProject * project = dynamic_cast<IGisProject*>(topLevelItem(i));
- if(project == 0)
- {
- continue;
- }
-
- QByteArray data;
- QDataStream stream(&data, QIODevice::WriteOnly);
- stream.setVersion(QDataStream::Qt_5_2);
- stream.setByteOrder(QDataStream::LittleEndian);
-
- project->IGisProject::operator>>(stream);
-
- query.prepare("INSERT INTO workspace (type, key, name, changed, data) VALUES (:type, :key, :name, :changed, :data)");
- query.bindValue(":type", project->getType());
- query.bindValue(":key", project->getKey());
- query.bindValue(":name", project->getName());
- query.bindValue(":changed", project->text(1) == "*");
- query.bindValue(":data", data);
- QUERY_EXEC(continue);
- }
-
- if(saveEvery)
- {
- QTimer::singleShot(saveEvery * 60000, this, SLOT(slotSaveWorkspace()));
- }
-}
-
-void CGisListWks::slotLoadWorkspace()
-{
- QSqlQuery query(db);
-
- query.prepare("SELECT type, key, name, changed, data FROM workspace");
- QUERY_EXEC(return );
-
- PROGRESS_SETUP(tr("Loading workspace. Please wait."), query.size());
- quint32 progCnt = 0;
-
- while(query.next())
- {
- PROGRESS(progCnt++, return );
-
- int type = query.value(0).toInt();
- QString name = query.value(2).toString();
- bool changed = query.value(3).toBool();
- QByteArray data = query.value(4).toByteArray();
-
- QDataStream stream(&data, QIODevice::ReadOnly);
- stream.setVersion(QDataStream::Qt_5_2);
- stream.setByteOrder(QDataStream::LittleEndian);
-
- IGisProject * project = 0;
- switch(type)
- {
- case IGisProject::eTypeQms:
- {
- project = new CQmsProject(name, this);
- *project << stream;
- break;
- }
-
- case IGisProject::eTypeGpx:
- {
- project = new CGpxProject(name, this);
- *project << stream;
- break;
- }
-
- case IGisProject::eTypeDb:
- {
- CDBProject * dbProject;
- project = dbProject = new CDBProject(this);
- project->IGisProject::operator<<(stream);
- dbProject->restoreDBLink();
- if(!project->isValid())
- {
- delete project;
- project = 0;
- }
- else
- {
- dbProject->postStatus();
- }
- break;
- }
- }
-
- if(project == 0)
- {
- continue;
- }
-
- project->setToolTip(eColumnName,project->getInfo());
- if(changed)
- {
- project->setText(eColumnDecoration, "*");
- }
- }
-
- emit sigChanged();
-}
-
-void CGisListWks::slotContextMenu(const QPoint& point)
-{
- if(selectedItems().isEmpty() && menuNone)
- {
- QPoint p = mapToGlobal(point);
- menuNone->exec(p);
- return;
- }
-
- if(selectedItems().count() > 1)
- {
- IGisProject * project = dynamic_cast<IGisProject*>(currentItem());
- if(project != 0)
- {
- actionEditPrj->setVisible(false);
-
- QPoint p = mapToGlobal(point);
- menuProject->exec(p);
- return;
- }
-
- IGisItem * gisItem = dynamic_cast<IGisItem*>(currentItem());
- if(gisItem != 0)
- {
- actionEditDetails->setVisible(false);
- actionProjWpt->setVisible(false);
- actionMoveWpt->setVisible(false);
- actionFocusTrk->setVisible(false);
- actionEditTrk->setVisible(false);
- actionReverseTrk->setVisible(false);
- actionCombineTrk->setVisible(false);
- actionRangeTrk->setVisible(false);
- actionEditArea->setVisible(false);
-
- QPoint p = mapToGlobal(point);
- menuItem->exec(p);
- }
- return;
- }
-
- if(selectedItems().count() == 1)
- {
- IGisProject * project = dynamic_cast<IGisProject*>(currentItem());
- if(project != 0)
- {
- actionEditPrj->setVisible(true);
-
- QPoint p = mapToGlobal(point);
- menuProject->exec(p);
- return;
- }
-
- IGisItem * gisItem = dynamic_cast<IGisItem*>(currentItem());
- if(gisItem != 0)
- {
- actionEditDetails->setVisible(true);
-
- // try to cast item to waypoint and hide/show actions on result
- CGisItemWpt * wpt = dynamic_cast<CGisItemWpt*>(gisItem);
- if(wpt == 0)
- {
- actionProjWpt->setVisible(false);
- actionMoveWpt->setVisible(false);
- }
- else
- {
- actionProjWpt->setVisible(true);
- actionMoveWpt->setVisible(true);
- actionMoveWpt->setEnabled(!wpt->isReadOnly());
- actionProjWpt->setEnabled(!wpt->isGeocache());
- }
-
- // try to cast item to track and hide/show actions on result
- CGisItemTrk * trk = dynamic_cast<CGisItemTrk*>(gisItem);
- if(trk == 0)
- {
- actionFocusTrk->setVisible(false);
- actionEditTrk->setVisible(false);
- actionReverseTrk->setVisible(false);
- actionCombineTrk->setVisible(false);
- actionRangeTrk->setVisible(false);
- }
- else
- {
- actionFocusTrk->setVisible(true);
- actionEditTrk->setVisible(true);
- actionReverseTrk->setVisible(true);
- actionCombineTrk->setVisible(true);
- actionRangeTrk->setVisible(true);
- actionFocusTrk->setChecked(trk->hasUserFocus());
- actionEditTrk->setEnabled(!trk->isReadOnly());
- }
-
- // try to cast item to track and hide/show actions on result
- CGisItemOvlArea * area = dynamic_cast<CGisItemOvlArea*>(gisItem);
- if(area == 0)
- {
- actionEditArea->setVisible(false);
- }
- else
- {
- actionEditArea->setVisible(true);
- }
- // display menu
- QPoint p = mapToGlobal(point);
- menuItem->exec(p);
- return;
- }
- }
-}
-
-void CGisListWks::slotCloseProject()
-{
- CGisListWksEditLock lock(true, IGisItem::mutexItems);
- QList<QTreeWidgetItem*> items = selectedItems();
- foreach(QTreeWidgetItem * item, items)
- {
- IGisProject * project = dynamic_cast<IGisProject*>(item);
- if(project != 0)
- {
- delete project;
- }
- }
- emit sigChanged();
-}
-
-void CGisListWks::slotSaveProject()
-{
- CGisListWksEditLock lock(true, IGisItem::mutexItems);
-
- QList<QTreeWidgetItem*> items = selectedItems();
- foreach(QTreeWidgetItem * item, items)
- {
- IGisProject * project = dynamic_cast<IGisProject*>(item);
- if(project != 0)
- {
- project->save();
- }
- }
-}
-
-void CGisListWks::slotSaveAsProject()
-{
- CGisListWksEditLock lock(false, IGisItem::mutexItems);
-
- QList<QTreeWidgetItem*> items = selectedItems();
- foreach(QTreeWidgetItem * item, items)
- {
- IGisProject * project = dynamic_cast<IGisProject*>(item);
- if(project != 0)
- {
- project->saveAs();
- }
- }
-}
-
-void CGisListWks::slotEditPrj()
-{
- CGisListWksEditLock lock(false, IGisItem::mutexItems);
-
- IGisProject * project = dynamic_cast<IGisProject*>(currentItem());
- if(project != 0)
- {
- project->edit();
- }
-
-}
-
-void CGisListWks::slotItemDoubleClicked(QTreeWidgetItem * item, int )
-{
- CGisListWksEditLock lock(true, IGisItem::mutexItems);
- IGisItem * gisItem = dynamic_cast<IGisItem*>(item);
- if(gisItem != 0)
- {
- CMainWindow::self().zoomCanvasTo(gisItem->getBoundingRect());
- CGisWidget::self().focusTrkByKey(true, gisItem->getKey());
- }
-}
-
-void CGisListWks::slotEditItem()
-{
- CGisListWksEditLock lock(false, IGisItem::mutexItems);
- IGisItem * gisItem = dynamic_cast<IGisItem*>(currentItem());
- if(gisItem != 0)
- {
- CGisWidget::self().editItemByKey(gisItem->getKey());
- }
-}
-
-void CGisListWks::slotDeleteItem()
-{
- CGisListWksEditLock lock(true, IGisItem::mutexItems);
-
- QList<QTreeWidgetItem*> items = selectedItems();
- QMessageBox::StandardButtons last = QMessageBox::NoButton;
-
- QSet<CDBProject*> projects;
-
- foreach(QTreeWidgetItem * item, items)
- {
- IGisItem * gisItem = dynamic_cast<IGisItem*>(item);
- if(gisItem != 0)
- {
- bool yes = false;
- IGisProject * project = dynamic_cast<IGisProject*>(gisItem->parent());
- if(project)
- {
- yes = project->delItemByKey(gisItem->getKey(), last);
- }
-
- /*
- collect database projects to update their counterpart in
- the database view, after all operations are done.
- */
- if(yes && project->getType() == IGisProject::eTypeDb)
- {
- projects << dynamic_cast<CDBProject*>(project);
- }
-
- if(last == QMessageBox::Cancel)
- {
- break;
- }
- }
- }
-
- // make all database projects that are changed to post their new status
- // this will update the database view.
- foreach(CDBProject * project, projects)
- {
- if(project)
- {
- project->postStatus();
- }
- }
-}
-
-void CGisListWks::slotCopyItem()
-{
- CGisListWksEditLock lock(false, IGisItem::mutexItems);
-
- IGisProject * project = CGisWidget::self().selectProject();
- if(project == 0)
- {
- return;
- }
-
- int lastResult = CSelectCopyAction::eResultNone;
-
- QList<QTreeWidgetItem*> items = selectedItems();
- foreach(QTreeWidgetItem * item, items)
- {
- IGisItem * gisItem = dynamic_cast<IGisItem*>(item);
- if(gisItem == 0)
- {
- continue;
- }
-
- project->insertCopyOfItem(gisItem, -1, lastResult);
- }
-}
-
-void CGisListWks::slotProjWpt()
-{
- CGisListWksEditLock lock(false, IGisItem::mutexItems);
- CGisItemWpt * gisItem = dynamic_cast<CGisItemWpt*>(currentItem());
- if(gisItem != 0)
- {
- CGisWidget::self().projWptByKey(gisItem->getKey());
- }
-}
-
-void CGisListWks::slotMoveWpt()
-{
- CGisListWksEditLock lock(false, IGisItem::mutexItems);
- CGisItemWpt * gisItem = dynamic_cast<CGisItemWpt*>(currentItem());
- if(gisItem != 0)
- {
- CGisWidget::self().moveWptByKey(gisItem->getKey());
- }
-}
-
-void CGisListWks::slotFocusTrk(bool on)
-{
- CGisListWksEditLock lock(true, IGisItem::mutexItems);
- CGisItemTrk * gisItem = dynamic_cast<CGisItemTrk*>(currentItem());
- if(gisItem != 0)
- {
- CGisWidget::self().focusTrkByKey(on, gisItem->getKey());
- }
-}
-
-void CGisListWks::slotEditTrk()
-{
- CGisListWksEditLock lock(false, IGisItem::mutexItems);
- CGisItemTrk * gisItem = dynamic_cast<CGisItemTrk*>(currentItem());
- if(gisItem != 0)
- {
- CGisWidget::self().editTrkByKey(gisItem->getKey());
- }
-}
-
-void CGisListWks::slotReverseTrk()
-{
- CGisListWksEditLock lock(false, IGisItem::mutexItems);
- CGisItemTrk * gisItem = dynamic_cast<CGisItemTrk*>(currentItem());
- if(gisItem != 0)
- {
- CGisWidget::self().reverseTrkByKey(gisItem->getKey());
- }
-}
-
-void CGisListWks::slotCombineTrk()
-{
- CGisListWksEditLock lock(false, IGisItem::mutexItems);
- CGisItemTrk * gisItem = dynamic_cast<CGisItemTrk*>(currentItem());
- if(gisItem != 0)
- {
- CGisWidget::self().combineTrkByKey(gisItem->getKey());
- }
-}
-
-void CGisListWks::slotRangeTrk()
-{
- CGisListWksEditLock lock(false, IGisItem::mutexItems);
- CGisItemTrk * gisItem = dynamic_cast<CGisItemTrk*>(currentItem());
- if(gisItem != 0)
- {
- CGisWidget::self().rangeTrkByKey(gisItem->getKey());
- }
-}
-
-void CGisListWks::slotEditArea()
-{
- CGisListWksEditLock lock(false, IGisItem::mutexItems);
- CGisItemOvlArea * gisItem = dynamic_cast<CGisItemOvlArea*>(currentItem());
- if(gisItem != 0)
- {
- CGisWidget::self().editAreaByKey(gisItem->getKey());
- }
-}
-
-
-void CGisListWks::slotAddEmptyProject()
-{
- CGisListWksEditLock lock(true, IGisItem::mutexItems);
-
- QString key, name;
- CSelectProjectDialog::type_e type;
- CSelectProjectDialog dlg(key, name, type, 0);
- dlg.exec();
- if(name.isEmpty())
- {
- return;
- }
-
- if(type == CSelectProjectDialog::eTypeGpx)
- {
- new CGpxProject(name, this);
- }
- else if(type == CSelectProjectDialog::eTypeQms)
- {
- new CQmsProject(name, this);
- }
-}
-
-void CGisListWks::slotCloseAllProjects()
-{
- int res = QMessageBox::question(this, tr("Close all projects..."), tr("This will remove all projects from the workspace."), QMessageBox::Ok|QMessageBox::Abort, QMessageBox::Ok);
- if(res != QMessageBox::Ok)
- {
- return;
- }
-
-
- CGisListWksEditLock lock(true, IGisItem::mutexItems);
- QList<QTreeWidgetItem*> items = findItems("*", Qt::MatchWildcard);
- foreach(QTreeWidgetItem * item, items)
- {
- IGisProject * project = dynamic_cast<IGisProject*>(item);
- if(project != 0)
- {
- delete project;
- }
- }
- emit sigChanged();
-}
-
-void CGisListWks::slotSearchGoogle(bool on)
-{
- CGisListWksEditLock lock(true, IGisItem::mutexItems);
-
- delete searchGoogle;
- if(on)
- {
- searchGoogle = new CSearchGoogle(this);
- }
-}
-
-bool CGisListWks::event(QEvent * e)
-{
- CGisListWksEditLock lock(true, IGisItem::mutexItems);
-
- switch(e->type())
- {
- case eEvtD2WReqInfo:
- {
- CEvtD2WReqInfo * evt = (CEvtD2WReqInfo*)e;
- CDBProject * project = getProjectById(evt->id, evt->db);
- if(project)
- {
- project->postStatus();
- }
- e->accept();
- emit sigChanged();
- return true;
- }
- case eEvtD2WShowFolder:
- {
- CEvtD2WShowFolder * evt = (CEvtD2WShowFolder*)e;
- CDBProject * project = getProjectById(evt->id, evt->db);
- if(project == 0)
- {
- project = new CDBProject(evt->db, evt->id, this);
- if(!project->isValid())
- {
- delete project;
- }
- }
- e->accept();
- emit sigChanged();
- return true;
- }
- case eEvtD2WHideFolder:
- {
- CEvtD2WHideFolder * evt = (CEvtD2WHideFolder*)e;
- CDBProject * project = getProjectById(evt->id, evt->db);
- delete project;
-
- e->accept();
- emit sigChanged();
- return true;
- }
- case eEvtD2WShowItems:
- {
- CEvtD2WShowItems * evt = (CEvtD2WShowItems*)e;
- CDBProject * project = getProjectById(evt->id, evt->db);
- if(project)
- {
- project->showItems(evt);
- }
- e->accept();
- emit sigChanged();
- return true;
- }
- case eEvtD2WHideItems:
- {
- CEvtD2WHideItems * evt = (CEvtD2WHideItems*)e;
- CDBProject * project = getProjectById(evt->id, evt->db);
- if(project)
- {
- project->hideItems(evt);
- }
- e->accept();
- emit sigChanged();
- return true;
- }
- }
-
- return QTreeWidget::event(e);
-}
-
diff --git a/.hg/Trashcan/CGisListWks_HrzlcL.cpp.bak b/.hg/Trashcan/CGisListWks_HrzlcL.cpp.bak
deleted file mode 100644
index a741a60..0000000
--- a/.hg/Trashcan/CGisListWks_HrzlcL.cpp.bak
+++ /dev/null
@@ -1,159 +0,0 @@
-/**********************************************************************************************
- Copyright (C) 2014 Oliver Eichler oliver.eichler at gmx.de
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-**********************************************************************************************/
-
-#include "gis/CGisListWks.h"
-#include "gis/CGisProject.h"
-#include "gis/IGisItem.h"
-#include "gis/CGisWidget.h"
-#include "CMainWindow.h"
-
-#include <QtWidgets>
-
-CGisListWks::CGisListWks(QWidget *parent)
- : QTreeWidget(parent)
-{
-
- menuProject = new QMenu(this);
- actionSaveAs = menuProject->addAction(QIcon("://icons/32x32/SaveGIS.png"),tr("Save As..."), this, SLOT(slotSaveAsProject()));
- actionSave = menuProject->addAction(QIcon("://icons/32x32/SaveGIS.png"),tr("Save"), this, SLOT(slotSaveProject()));
- actionClose = menuProject->addAction(QIcon("://icons/32x32/Close.png"),tr("Close"), this, SLOT(slotCloseProject()));
-
- connect(this, SIGNAL(customContextMenuRequested(QPoint)), this, SLOT(slotContextMenu(QPoint)));
- connect(this, SIGNAL(itemDoubleClicked(QTreeWidgetItem*,int)), this, SLOT(slotItemDoubleClicked(QTreeWidgetItem*,int)));
-
- menuItem = new QMenu(this);
- actionEditDetails = menuItem->addAction(QIcon("://icons/32x32/EditDetails.png"),tr("Edit..."), this, SLOT(slotEditItem()));
- actionDelete = menuItem->addAction(QIcon("://icons/48x48/DeleteOne.png"),tr("Delete"), this, SLOT(slotDeleteItem()));
-
- actionEditDetails->setEnabled(false);
-}
-
-CGisListWks::~CGisListWks()
-{
-
-}
-
-bool CGisListWks::hasProject(const QString& key)
-{
- QMutexLocker lock(&IGisItem::mutexItems);
- for(int i = 0; i < topLevelItemCount(); i++)
- {
- CGisProject * item = dynamic_cast<CGisProject*>(topLevelItem(i));
- if(item && item->getKey() == key)
- {
- return true;
- }
- }
- return false;
-}
-
-void CGisListWks::slotContextMenu(const QPoint& point)
-{
- CGisProject * project = dynamic_cast<CGisProject*>(currentItem());
- if(project != 0)
- {
- QPoint p = mapToGlobal(point);
- menuProject->exec(p);
- }
-
- IGisItem * gisItem = dynamic_cast<IGisItem*>(currentItem());
- if(gisItem != 0)
- {
- QPoint p = mapToGlobal(point);
- menuItem->exec(p);
- }
-
-}
-
-void CGisListWks::slotCloseProject()
-{
- QMutexLocker lock(&IGisItem::mutexItems);
- QList<QTreeWidgetItem*> items = selectedItems();
- foreach(QTreeWidgetItem * item, items)
- {
- CGisProject * project = dynamic_cast<CGisProject*>(item);
- if(project != 0)
- {
- delete project;
- }
- }
- emit sigChanged();
-}
-
-void CGisListWks::slotSaveProject()
-{
- QApplication::setOverrideCursor(Qt::WaitCursor);
- IGisItem::mutexItems.lock();
-
- QList<QTreeWidgetItem*> items = selectedItems();
- foreach(QTreeWidgetItem * item, items)
- {
- CGisProject * project = dynamic_cast<CGisProject*>(item);
- if(project != 0)
- {
- project->save();
- }
- }
- IGisItem::mutexItems.unlock();
- QApplication::restoreOverrideCursor();
-}
-
-void CGisListWks::slotSaveAsProject()
-{
- IGisItem::mutexItems.lock();
-
- QList<QTreeWidgetItem*> items = selectedItems();
- foreach(QTreeWidgetItem * item, items)
- {
- CGisProject * project = dynamic_cast<CGisProject*>(item);
- if(project != 0)
- {
- project->saveAs();
- }
- }
- IGisItem::mutexItems.unlock();
-
-}
-
-void CGisListWks::slotItemDoubleClicked(QTreeWidgetItem * item, int )
-{
- IGisItem::mutexItems.lock();
- IGisItem * gisItem = dynamic_cast<IGisItem*>(item);
- if(gisItem != 0)
- {
- CMainWindow::self().zoomWksTo(gisItem->getBoundingRect());
- }
- IGisItem::mutexItems.unlock();
-}
-
-void CGisListWks::slotEditItem()
-{
-
-}
-
-void CGisListWks::slotDeleteItem()
-{
- IGisItem::mutexItems.lock();
- IGisItem * gisItem = dynamic_cast<IGisItem*>(currentItem());
- if(gisItem != 0)
- {
- QString key = gisItem->getKey();
- CGisWidget::self().delItemByKey(key);
- }
- IGisItem::mutexItems.unlock();
-}
diff --git a/.hg/Trashcan/CGisListWks_N1Po8J.cpp.bak b/.hg/Trashcan/CGisListWks_N1Po8J.cpp.bak
deleted file mode 100644
index a42c1d1..0000000
--- a/.hg/Trashcan/CGisListWks_N1Po8J.cpp.bak
+++ /dev/null
@@ -1,1122 +0,0 @@
-/**********************************************************************************************
- Copyright (C) 2014 Oliver Eichler oliver.eichler at gmx.de
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-**********************************************************************************************/
-
-#include "CMainWindow.h"
-#include "config.h"
-#include "gis/CGisListWks.h"
-#include "gis/CGisWidget.h"
-#include "gis/IGisItem.h"
-#include "gis/db/CDBProject.h"
-#include "gis/db/macros.h"
-#include "gis/gpx/CGpxProject.h"
-#include "gis/ovl/CGisItemOvlArea.h"
-#include "gis/prj/IGisProject.h"
-#include "gis/qms/CQmsProject.h"
-#include "gis/rte/CGisItemRte.h"
-#include "gis/search/CSearchGoogle.h"
-#include "gis/trk/CGisItemTrk.h"
-#include "gis/wpt/CGisItemWpt.h"
-#include "helpers/CSelectProjectDialog.h"
-#include "helpers/CSelectCopyAction.h"
-#include "helpers/CSettings.h"
-
-#include <QtSql>
-#include <QtWidgets>
-
-#define DB_VERSION 1
-
-class CGisListWksEditLock
-{
- public:
- CGisListWksEditLock(bool waitCursor, QMutex& mutex) : mutex(mutex), waitCursor(waitCursor)
- {
- if(waitCursor)
- {
- QApplication::setOverrideCursor(Qt::WaitCursor);
- }
- mutex.lock();
- }
- ~CGisListWksEditLock()
- {
- if(waitCursor)
- {
- QApplication::restoreOverrideCursor();
- }
- mutex.unlock();
- }
- private:
- QMutex& mutex;
- bool waitCursor;
-
-};
-
-
-CGisListWks::CGisListWks(QWidget *parent)
- : QTreeWidget(parent)
- , menuNone(0)
- , saveOnExit(true)
- , saveEvery(5)
-{
- db = QSqlDatabase::addDatabase("QSQLITE","Workspace1");
- db.setDatabaseName(QDir::home().filePath(CONFIGDIR).append("/workspace.db"));
- db.open();
- configDB();
-
- menuProject = new QMenu(this);
- actionSaveAs = menuProject->addAction(QIcon("://icons/32x32/SaveGISAs.png"),tr("Save As..."), this, SLOT(slotSaveAsProject()));
- actionSave = menuProject->addAction(QIcon("://icons/32x32/SaveGIS.png"),tr("Save"), this, SLOT(slotSaveProject()));
- actionEditPrj = menuProject->addAction(QIcon("://icons/32x32/EditDetails.png"),tr("Edit.."), this, SLOT(slotEditPrj()));
- actionClose = menuProject->addAction(QIcon("://icons/32x32/Close.png"),tr("Close"), this, SLOT(slotCloseProject()));
-
- connect(this, SIGNAL(customContextMenuRequested(QPoint)), this, SLOT(slotContextMenu(QPoint)));
- connect(this, SIGNAL(itemDoubleClicked(QTreeWidgetItem*,int)), this, SLOT(slotItemDoubleClicked(QTreeWidgetItem*,int)));
-
- menuItem = new QMenu(this);
- actionEditDetails = menuItem->addAction(QIcon("://icons/32x32/EditDetails.png"),tr("Edit..."), this, SLOT(slotEditItem()));
- actionCopyItem = menuItem->addAction(QIcon("://icons/32x32/Copy.png"),tr("Copy to..."), this, SLOT(slotCopyItem()));
- actionMoveWpt = menuItem->addAction(QIcon("://icons/32x32/WptMove.png"),tr("Move Waypoint"), this, SLOT(slotMoveWpt()));
- actionProjWpt = menuItem->addAction(QIcon("://icons/32x32/WptProj.png"),tr("Proj. Waypoint..."), this, SLOT(slotProjWpt()));
- actionFocusTrk = menuItem->addAction(QIcon("://icons/32x32/TrkProfile.png"),tr("Track Profile"));
- actionRangeTrk = menuItem->addAction(QIcon("://icons/32x32/SelectRange.png"),tr("Select Range"), this, SLOT(slotRangeTrk()));
- actionEditTrk = menuItem->addAction(QIcon("://icons/32x32/LineMove.png"),tr("Edit Track Points"), this, SLOT(slotEditTrk()));
- actionReverseTrk = menuItem->addAction(QIcon("://icons/32x32/Reverse.png"),tr("Reverse Track"), this, SLOT(slotReverseTrk()));
- actionCombineTrk = menuItem->addAction(QIcon("://icons/32x32/Combine.png"),tr("Combine Tracks"), this, SLOT(slotCombineTrk()));
- actionEditArea = menuItem->addAction(QIcon("://icons/32x32/AreaMove.png"),tr("Edit Area Points"), this, SLOT(slotEditArea()));
- actionFocusTrk->setCheckable(true);
- connect(actionFocusTrk, SIGNAL(triggered(bool)), this, SLOT(slotFocusTrk(bool)));
- actionDelete = menuItem->addAction(QIcon("://icons/32x32/DeleteOne.png"),tr("Delete"), this, SLOT(slotDeleteItem()));
-
- connect(qApp, SIGNAL(aboutToQuit ()), this, SLOT(slotSaveWorkspace()));
-
- SETTINGS;
- saveOnExit = cfg.value("Database/saveOnExit", saveOnExit).toBool();
- saveEvery = cfg.value("Database/saveEvery", saveEvery).toInt();
-
- if(saveOnExit && (saveEvery > 0))
- {
- QTimer::singleShot(saveEvery * 60000, this, SLOT(slotSaveWorkspace()));
- }
-
- QTimer::singleShot(500, this, SLOT(slotLoadWorkspace()));
-}
-
-CGisListWks::~CGisListWks()
-{
-}
-
-void CGisListWks::configDB()
-{
- QSqlQuery query(db);
- if(!query.exec("PRAGMA locking_mode=EXCLUSIVE"))
- {
- return;
- }
-
- if(!query.exec("PRAGMA synchronous=OFF"))
- {
- return;
- }
-
- if(!query.exec("PRAGMA temp_store=MEMORY"))
- {
- return;
- }
-
- if(!query.exec("PRAGMA default_cache_size=50"))
- {
- return;
- }
-
- if(!query.exec("PRAGMA page_size=8192"))
- {
- return;
- }
-
- if(!query.exec("SELECT version FROM versioninfo"))
- {
- initDB();
- }
- else if(query.next())
- {
- int version = query.value(0).toInt();
- if(version != DB_VERSION)
- {
- migrateDB(version);
- }
- }
- else
- {
- initDB();
- }
-}
-
-void CGisListWks::initDB()
-{
- QSqlQuery query(db);
-
- if(query.exec( "CREATE TABLE versioninfo ( version TEXT )"))
- {
- query.prepare( "INSERT INTO versioninfo (version) VALUES(:version)");
- query.bindValue(":version", DB_VERSION);
- QUERY_EXEC(; );
- }
-
- if(!query.exec( "CREATE TABLE workspace ("
- "id INTEGER PRIMARY KEY AUTOINCREMENT,"
- "type INTEGER NOT NULL,"
- "name TEXT NOT NULL,"
- "key TEXT NOT NULL,"
- "changed BOOLEAN DEFAULT FALSE,"
- "data BLOB NOT NULL"
-
- ")"))
- {
- qDebug() << query.lastQuery();
- qDebug() << query.lastError();
- }
-}
-
-void CGisListWks::migrateDB(int version)
-{
- QSqlQuery query(db);
-
- for(version++; version <= DB_VERSION; version++)
- {
- switch(version)
- {
- }
- }
- query.prepare( "UPDATE versioninfo set version=:version");
- query.bindValue(":version", version - 1);
- QUERY_EXEC(; );
-}
-
-void CGisListWks::setExternalMenu(QMenu * project)
-{
- menuNone = project;
- connect(CMainWindow::self().findChild<QAction*>("actionAddEmptyProject"), SIGNAL(triggered()), this, SLOT(slotAddEmptyProject()));
- connect(CMainWindow::self().findChild<QAction*>("actionCloseAllProjects"), SIGNAL(triggered(bool)), this, SLOT(slotCloseAllProjects()));
- connect(CMainWindow::self().findChild<QAction*>("actionSearchGoogle"), SIGNAL(triggered(bool)), this, SLOT(slotSearchGoogle(bool)));
-}
-
-void CGisListWks::dragMoveEvent (QDragMoveEvent * e )
-{
- QTreeWidgetItem * item1 = currentItem();
- QTreeWidgetItem * item2 = itemAt(e->pos());
-
-
- // changeing the item order is only valid for single selected items
- if(selectedItems().count() == 1)
- {
- /*
- What's happening here?
-
- 1) Cast current item and item under cursor to GIS item type
- 2) If type matches for both test for common parent
- 2.1) common parent-> move
- 2.1) different parent -> copy
- 3) go on with dragMoveEvent();
-
- */
-
- CGisItemTrk * trk1 = dynamic_cast<CGisItemTrk*>(item1);
- CGisItemTrk * trk2 = dynamic_cast<CGisItemTrk*>(item2);
-
- if(trk1 && trk2)
- {
- if(trk1->parent() == trk2->parent())
- {
- e->setDropAction(Qt::MoveAction);
- }
- else
- {
- e->setDropAction(Qt::CopyAction);
- }
- QTreeWidget::dragMoveEvent(e);
- return;
- }
-
- CGisItemWpt * wpt1 = dynamic_cast<CGisItemWpt*>(item1);
- CGisItemWpt * wpt2 = dynamic_cast<CGisItemWpt*>(item2);
-
- if(wpt1 && wpt2)
- {
- if(wpt1->parent() == wpt2->parent())
- {
- e->setDropAction(Qt::MoveAction);
- }
- else
- {
- e->setDropAction(Qt::CopyAction);
- }
- QTreeWidget::dragMoveEvent(e);
- return;
- }
-
- CGisItemRte * rte1 = dynamic_cast<CGisItemRte*>(item1);
- CGisItemRte * rte2 = dynamic_cast<CGisItemRte*>(item2);
-
- if(rte1 && rte2)
- {
- if(rte1->parent() == rte2->parent())
- {
- e->setDropAction(Qt::MoveAction);
- }
- else
- {
- e->setDropAction(Qt::CopyAction);
- }
- QTreeWidget::dragMoveEvent(e);
- return;
- }
-
- CGisItemOvlArea * area1 = dynamic_cast<CGisItemOvlArea*>(item1);
- CGisItemOvlArea * area2 = dynamic_cast<CGisItemOvlArea*>(item2);
-
- if(area1 && area2)
- {
- if(area1->parent() == area2->parent())
- {
- e->setDropAction(Qt::MoveAction);
- }
- else
- {
- e->setDropAction(Qt::CopyAction);
- }
- QTreeWidget::dragMoveEvent(e);
- return;
- }
- }
-
- IGisProject * proj = dynamic_cast<IGisProject*>(item2);
- if(proj && (proj != currentItem()->parent()))
- {
- e->setDropAction(Qt::CopyAction);
- QTreeWidget::dragMoveEvent(e);
- return;
- }
-
- e->setDropAction(Qt::IgnoreAction);
- QTreeWidget::dragMoveEvent(e);
-}
-
-void CGisListWks::dropEvent ( QDropEvent * e )
-{
-
- QList<QTreeWidgetItem*> items = selectedItems();
- if(items.isEmpty())
- {
- return;
- }
-
- int lastResult = CSelectCopyAction::eResultNone;
-
- // go on with item insertion
- /*
- What's happening here?
-
- for single selected items do:
- 1) Test if item will be inserted above ore below item under cursor.
- 2) Cast current item and item under cursor to GIS item type
- 3) If type matches for both test for common parent
- 3.1) common parent-> go on with default drop event
- 3.1) different parent -> create a copy and insert it index
- 4) signal change of project
-
- for single and multiple selected items, do:
- 5) Test if item under cursor is a project
- 6) If project and project is not item's project create a copy
-
- */
- if(items.size() == 1)
- {
- // calc. index offset (below/above item)
- QRect r = visualItemRect(itemAt(e->pos()));
- int y1 = r.top() + r.height()/2;
- int y2 = e->pos().y();
- int off = y2 > y1 ? 1 : 0;
-
- IGisProject * prj1 = dynamic_cast<IGisProject*>(currentItem());
- IGisProject * prj2 = dynamic_cast<IGisProject*>(itemAt(e->pos()));
- if(prj1 && prj2)
- {
- QTreeWidget::dropEvent(e);
- emit sigChanged();
- return;
- }
-
- CGisItemWpt * wpt1 = dynamic_cast<CGisItemWpt*>(currentItem());
- CGisItemWpt * wpt2 = dynamic_cast<CGisItemWpt*>(itemAt(e->pos()));
-
- if(wpt1 && wpt2)
- {
- if(wpt1->parent() == wpt2->parent())
- {
- QTreeWidget::dropEvent(e);
- }
- else
- {
- IGisProject * project = dynamic_cast<IGisProject*>(wpt2->parent());
- if(project)
- {
- project->insertCopyOfItem(wpt1, off, lastResult);
- }
- }
- emit sigChanged();
- return;
- }
-
- CGisItemTrk * trk1 = dynamic_cast<CGisItemTrk*>(currentItem());
- CGisItemTrk * trk2 = dynamic_cast<CGisItemTrk*>(itemAt(e->pos()));
-
- if(trk1 && trk2)
- {
- if(trk1->parent() == trk2->parent())
- {
- QTreeWidget::dropEvent(e);
- }
- else
- {
- IGisProject * project = dynamic_cast<IGisProject*>(trk2->parent());
- if(project)
- {
- project->insertCopyOfItem(trk1, off, lastResult);
- }
- }
- emit sigChanged();
- return;
- }
-
- CGisItemRte * rte1 = dynamic_cast<CGisItemRte*>(currentItem());
- CGisItemRte * rte2 = dynamic_cast<CGisItemRte*>(itemAt(e->pos()));
-
- if(rte1 && rte2)
- {
- if(rte1->parent() == rte2->parent())
- {
- QTreeWidget::dropEvent(e);
- }
- else
- {
- IGisProject * project = dynamic_cast<IGisProject*>(rte2->parent());
- if(project)
- {
- project->insertCopyOfItem(rte1, off, lastResult);
- }
- }
- emit sigChanged();
- return;
- }
-
- CGisItemOvlArea * area1 = dynamic_cast<CGisItemOvlArea*>(currentItem());
- CGisItemOvlArea * area2 = dynamic_cast<CGisItemOvlArea*>(itemAt(e->pos()));
-
- if(area1 && area2)
- {
- if(area1->parent() == area2->parent())
- {
- QTreeWidget::dropEvent(e);
- }
- else
- {
- IGisProject * project = dynamic_cast<IGisProject*>(area2->parent());
- if(project)
- {
- project->insertCopyOfItem(area1, off, lastResult);
- }
- }
- emit sigChanged();
- return;
- }
- }
-
- // check if item at position is a project and insert a copy of all selected items
- IGisProject * project = dynamic_cast<IGisProject*>(itemAt(e->pos()));
- if(project)
- {
- int cnt = 1;
- int N = items.size();
- QProgressDialog progress("Drop items...", "Abort drop", 0, 100, this);
- progress.setWindowModality(Qt::WindowModal);
-
- foreach(QTreeWidgetItem * item, items)
- {
- progress.setValue((100 * cnt++) / N);
- if (progress.wasCanceled())
- {
- break;
- }
-
- IGisItem * gisItem = dynamic_cast<IGisItem*>(item);
- if(gisItem)
- {
- project->insertCopyOfItem(gisItem, -1, lastResult);
- }
- }
- }
- emit sigChanged();
-}
-
-
-bool CGisListWks::hasProject(IGisProject * project)
-{
- CGisListWksEditLock lock(true, IGisItem::mutexItems);
-
- QString key = project->getKey();
-
- for(int i = 0; i < topLevelItemCount(); i++)
- {
- IGisProject * item = dynamic_cast<IGisProject*>(topLevelItem(i));
- if(item && item->getKey() == key)
- {
- if(item != project)
- {
- return(true);
- }
- }
- }
- return(false);
-}
-
-IGisProject * CGisListWks::getProjectByKey(const QString& key)
-{
- CGisListWksEditLock lock(true, IGisItem::mutexItems);
-
- for(int i = 0; i < topLevelItemCount(); i++)
- {
- IGisProject * item = dynamic_cast<IGisProject*>(topLevelItem(i));
- if(item && item->getKey() == key)
- {
- return item;
- }
- }
- return 0;
-}
-
-CDBProject * CGisListWks::getProjectById(quint64 id, const QString& db)
-{
- CGisListWksEditLock lock(true, IGisItem::mutexItems);
-
- for(int i = 0; i < topLevelItemCount(); i++)
- {
- CDBProject * item = dynamic_cast<CDBProject*>(topLevelItem(i));
- if(item && item->getId() == id && item->getDBName() == db)
- {
- return item;
- }
- }
- return 0;
-
-}
-
-void CGisListWks::slotSaveWorkspace()
-{
- if(!saveOnExit)
- {
- return;
- }
-
- QSqlQuery query(db);
- if(!query.exec("DELETE FROM workspace"))
- {
- QUERY_EXEC(return );
- }
-
- qDebug() << "slotSaveWorkspace()";
-
- const int total = topLevelItemCount();
- PROGRESS_SETUP(tr("Saving workspace. Please wait."), total);
-
- for(int i = 0; i < total; i++)
- {
- PROGRESS(i, return );
-
- IGisProject * project = dynamic_cast<IGisProject*>(topLevelItem(i));
- if(project == 0)
- {
- continue;
- }
-
- QByteArray data;
- QDataStream stream(&data, QIODevice::WriteOnly);
- stream.setVersion(QDataStream::Qt_5_2);
- stream.setByteOrder(QDataStream::LittleEndian);
-
- project->IGisProject::operator>>(stream);
-
- query.prepare("INSERT INTO workspace (type, key, name, changed, data) VALUES (:type, :key, :name, :changed, :data)");
- query.bindValue(":type", project->getType());
- query.bindValue(":key", project->getKey());
- query.bindValue(":name", project->getName());
- query.bindValue(":changed", project->text(1) == "*");
- query.bindValue(":data", data);
- QUERY_EXEC(continue);
- }
-
- if(saveEvery)
- {
- QTimer::singleShot(saveEvery * 60000, this, SLOT(slotSaveWorkspace()));
- }
-}
-
-void CGisListWks::slotLoadWorkspace()
-{
- QSqlQuery query(db);
-
- query.prepare("SELECT type, key, name, changed, data FROM workspace");
- QUERY_EXEC(return );
-
- PROGRESS_SETUP(tr("Loading workspace. Please wait."), query.size());
- quint32 progCnt = 0;
-
- while(query.next())
- {
- PROGRESS(progCnt++, return );
-
- int type = query.value(0).toInt();
- QString name = query.value(2).toString();
- bool changed = query.value(3).toBool();
- QByteArray data = query.value(4).toByteArray();
-
- QDataStream stream(&data, QIODevice::ReadOnly);
- stream.setVersion(QDataStream::Qt_5_2);
- stream.setByteOrder(QDataStream::LittleEndian);
-
- IGisProject * project = 0;
- switch(type)
- {
- case IGisProject::eTypeQms:
- {
- project = new CQmsProject(name, this);
- *project << stream;
- break;
- }
-
- case IGisProject::eTypeGpx:
- {
- project = new CGpxProject(name, this);
- *project << stream;
- break;
- }
-
- case IGisProject::eTypeDb:
- {
- CDBProject * dbProject;
- project = dbProject = new CDBProject(this);
- project->IGisProject::operator<<(stream);
- dbProject->restoreDBLink();
- if(!project->isValid())
- {
- delete project;
- project = 0;
- }
- else
- {
- dbProject->postStatus();
- }
- break;
- }
- }
-
- if(project == 0)
- {
- continue;
- }
-
- project->setToolTip(eColumnName,project->getInfo());
- if(changed)
- {
- project->setText(eColumnDecoration, "*");
- }
- }
-
- emit sigChanged();
-}
-
-void CGisListWks::slotContextMenu(const QPoint& point)
-{
- if(selectedItems().isEmpty() && menuNone)
- {
- QPoint p = mapToGlobal(point);
- menuNone->exec(p);
- return;
- }
-
- if(selectedItems().count() > 1)
- {
- IGisProject * project = dynamic_cast<IGisProject*>(currentItem());
- if(project != 0)
- {
- actionEditPrj->setVisible(false);
-
- QPoint p = mapToGlobal(point);
- menuProject->exec(p);
- return;
- }
-
- IGisItem * gisItem = dynamic_cast<IGisItem*>(currentItem());
- if(gisItem != 0)
- {
- actionEditDetails->setVisible(false);
- actionProjWpt->setVisible(false);
- actionMoveWpt->setVisible(false);
- actionFocusTrk->setVisible(false);
- actionEditTrk->setVisible(false);
- actionReverseTrk->setVisible(false);
- actionCombineTrk->setVisible(false);
- actionRangeTrk->setVisible(false);
- actionEditArea->setVisible(false);
-
- QPoint p = mapToGlobal(point);
- menuItem->exec(p);
- }
- return;
- }
-
- if(selectedItems().count() == 1)
- {
- IGisProject * project = dynamic_cast<IGisProject*>(currentItem());
- if(project != 0)
- {
- actionEditPrj->setVisible(true);
-
- QPoint p = mapToGlobal(point);
- menuProject->exec(p);
- return;
- }
-
- IGisItem * gisItem = dynamic_cast<IGisItem*>(currentItem());
- if(gisItem != 0)
- {
- actionEditDetails->setVisible(true);
-
- // try to cast item to waypoint and hide/show actions on result
- CGisItemWpt * wpt = dynamic_cast<CGisItemWpt*>(gisItem);
- if(wpt == 0)
- {
- actionProjWpt->setVisible(false);
- actionMoveWpt->setVisible(false);
- }
- else
- {
- actionProjWpt->setVisible(true);
- actionMoveWpt->setVisible(true);
- actionMoveWpt->setEnabled(!wpt->isReadOnly());
- actionProjWpt->setEnabled(!wpt->isGeocache());
- }
-
- // try to cast item to track and hide/show actions on result
- CGisItemTrk * trk = dynamic_cast<CGisItemTrk*>(gisItem);
- if(trk == 0)
- {
- actionFocusTrk->setVisible(false);
- actionEditTrk->setVisible(false);
- actionReverseTrk->setVisible(false);
- actionCombineTrk->setVisible(false);
- actionRangeTrk->setVisible(false);
- }
- else
- {
- actionFocusTrk->setVisible(true);
- actionEditTrk->setVisible(true);
- actionReverseTrk->setVisible(true);
- actionCombineTrk->setVisible(true);
- actionRangeTrk->setVisible(true);
- actionFocusTrk->setChecked(trk->hasUserFocus());
- actionEditTrk->setEnabled(!trk->isReadOnly());
- }
-
- // try to cast item to track and hide/show actions on result
- CGisItemOvlArea * area = dynamic_cast<CGisItemOvlArea*>(gisItem);
- if(area == 0)
- {
- actionEditArea->setVisible(false);
- }
- else
- {
- actionEditArea->setVisible(true);
- }
- // display menu
- QPoint p = mapToGlobal(point);
- menuItem->exec(p);
- return;
- }
- }
-}
-
-void CGisListWks::slotCloseProject()
-{
- CGisListWksEditLock lock(true, IGisItem::mutexItems);
- QList<QTreeWidgetItem*> items = selectedItems();
- foreach(QTreeWidgetItem * item, items)
- {
- IGisProject * project = dynamic_cast<IGisProject*>(item);
- if(project != 0)
- {
- delete project;
- }
- }
- emit sigChanged();
-}
-
-void CGisListWks::slotSaveProject()
-{
- CGisListWksEditLock lock(true, IGisItem::mutexItems);
-
- QList<QTreeWidgetItem*> items = selectedItems();
- foreach(QTreeWidgetItem * item, items)
- {
- IGisProject * project = dynamic_cast<IGisProject*>(item);
- if(project != 0)
- {
- project->save();
- }
- }
-}
-
-void CGisListWks::slotSaveAsProject()
-{
- CGisListWksEditLock lock(false, IGisItem::mutexItems);
-
- QList<QTreeWidgetItem*> items = selectedItems();
- foreach(QTreeWidgetItem * item, items)
- {
- IGisProject * project = dynamic_cast<IGisProject*>(item);
- if(project != 0)
- {
- project->saveAs();
- }
- }
-}
-
-void CGisListWks::slotEditPrj()
-{
- CGisListWksEditLock lock(false, IGisItem::mutexItems);
-
- IGisProject * project = dynamic_cast<IGisProject*>(currentItem());
- if(project != 0)
- {
- project->edit();
- }
-
-}
-
-void CGisListWks::slotItemDoubleClicked(QTreeWidgetItem * item, int )
-{
- CGisListWksEditLock lock(true, IGisItem::mutexItems);
- IGisItem * gisItem = dynamic_cast<IGisItem*>(item);
- if(gisItem != 0)
- {
- CMainWindow::self().zoomCanvasTo(gisItem->getBoundingRect());
- CGisWidget::self().focusTrkByKey(true, gisItem->getKey());
- }
-}
-
-void CGisListWks::slotEditItem()
-{
- CGisListWksEditLock lock(false, IGisItem::mutexItems);
- IGisItem * gisItem = dynamic_cast<IGisItem*>(currentItem());
- if(gisItem != 0)
- {
- CGisWidget::self().editItemByKey(gisItem->getKey());
- }
-}
-
-void CGisListWks::slotDeleteItem()
-{
- CGisListWksEditLock lock(true, IGisItem::mutexItems);
-
- QList<QTreeWidgetItem*> items = selectedItems();
- QMessageBox::StandardButtons last = QMessageBox::NoButton;
-
- QSet<CDBProject*> projects;
-
- foreach(QTreeWidgetItem * item, items)
- {
- IGisItem * gisItem = dynamic_cast<IGisItem*>(item);
- if(gisItem != 0)
- {
- bool yes = false;
- IGisProject * project = dynamic_cast<IGisProject*>(gisItem->parent());
- if(project)
- {
- yes = project->delItemByKey(gisItem->getKey(), last);
- }
-
- /*
- collect database projects to update their counterpart in
- the database view, after all operations are done.
- */
- if(yes && project->getType() == IGisProject::eTypeDb)
- {
- projects << dynamic_cast<CDBProject*>(project);
- }
-
- if(last == QMessageBox::Cancel)
- {
- break;
- }
- }
- }
-
- // make all database projects that are changed to post their new status
- // this will update the database view.
- foreach(CDBProject * project, projects)
- {
- if(project)
- {
- project->postStatus();
- }
- }
-}
-
-void CGisListWks::slotCopyItem()
-{
- CGisListWksEditLock lock(false, IGisItem::mutexItems);
-
- IGisProject * project = CGisWidget::self().selectProject();
- if(project == 0)
- {
- return;
- }
-
- int lastResult = CSelectCopyAction::eResultNone;
-
- QList<QTreeWidgetItem*> items = selectedItems();
- foreach(QTreeWidgetItem * item, items)
- {
- IGisItem * gisItem = dynamic_cast<IGisItem*>(item);
- if(gisItem == 0)
- {
- continue;
- }
-
- project->insertCopyOfItem(gisItem, -1, lastResult);
- }
-}
-
-void CGisListWks::slotProjWpt()
-{
- CGisListWksEditLock lock(false, IGisItem::mutexItems);
- CGisItemWpt * gisItem = dynamic_cast<CGisItemWpt*>(currentItem());
- if(gisItem != 0)
- {
- CGisWidget::self().projWptByKey(gisItem->getKey());
- }
-}
-
-void CGisListWks::slotMoveWpt()
-{
- CGisListWksEditLock lock(false, IGisItem::mutexItems);
- CGisItemWpt * gisItem = dynamic_cast<CGisItemWpt*>(currentItem());
- if(gisItem != 0)
- {
- CGisWidget::self().moveWptByKey(gisItem->getKey());
- }
-}
-
-void CGisListWks::slotFocusTrk(bool on)
-{
- CGisListWksEditLock lock(true, IGisItem::mutexItems);
- CGisItemTrk * gisItem = dynamic_cast<CGisItemTrk*>(currentItem());
- if(gisItem != 0)
- {
- CGisWidget::self().focusTrkByKey(on, gisItem->getKey());
- }
-}
-
-void CGisListWks::slotEditTrk()
-{
- CGisListWksEditLock lock(false, IGisItem::mutexItems);
- CGisItemTrk * gisItem = dynamic_cast<CGisItemTrk*>(currentItem());
- if(gisItem != 0)
- {
- CGisWidget::self().editTrkByKey(gisItem->getKey());
- }
-}
-
-void CGisListWks::slotReverseTrk()
-{
- CGisListWksEditLock lock(false, IGisItem::mutexItems);
- CGisItemTrk * gisItem = dynamic_cast<CGisItemTrk*>(currentItem());
- if(gisItem != 0)
- {
- CGisWidget::self().reverseTrkByKey(gisItem->getKey());
- }
-}
-
-void CGisListWks::slotCombineTrk()
-{
- CGisListWksEditLock lock(false, IGisItem::mutexItems);
- CGisItemTrk * gisItem = dynamic_cast<CGisItemTrk*>(currentItem());
- if(gisItem != 0)
- {
- CGisWidget::self().combineTrkByKey(gisItem->getKey());
- }
-}
-
-void CGisListWks::slotRangeTrk()
-{
- CGisListWksEditLock lock(false, IGisItem::mutexItems);
- CGisItemTrk * gisItem = dynamic_cast<CGisItemTrk*>(currentItem());
- if(gisItem != 0)
- {
- CGisWidget::self().rangeTrkByKey(gisItem->getKey());
- }
-}
-
-void CGisListWks::slotEditArea()
-{
- CGisListWksEditLock lock(false, IGisItem::mutexItems);
- CGisItemOvlArea * gisItem = dynamic_cast<CGisItemOvlArea*>(currentItem());
- if(gisItem != 0)
- {
- CGisWidget::self().editAreaByKey(gisItem->getKey());
- }
-}
-
-
-void CGisListWks::slotAddEmptyProject()
-{
- CGisListWksEditLock lock(true, IGisItem::mutexItems);
-
- QString key, name;
- CSelectProjectDialog::type_e type;
- CSelectProjectDialog dlg(key, name, type, 0);
- dlg.exec();
- if(name.isEmpty())
- {
- return;
- }
-
- if(type == CSelectProjectDialog::eTypeGpx)
- {
- new CGpxProject(name, this);
- }
- else if(type == CSelectProjectDialog::eTypeQms)
- {
- new CQmsProject(name, this);
- }
-}
-
-void CGisListWks::slotCloseAllProjects()
-{
- int res = QMessageBox::question(this, tr("Close all projects..."), tr("This will remove all projects from the workspace."), QMessageBox::Ok|QMessageBox::Abort, QMessageBox::Ok);
- if(res != QMessageBox::Ok)
- {
- return;
- }
-
-
- CGisListWksEditLock lock(true, IGisItem::mutexItems);
- QList<QTreeWidgetItem*> items = findItems("*", Qt::MatchWildcard);
- foreach(QTreeWidgetItem * item, items)
- {
- IGisProject * project = dynamic_cast<IGisProject*>(item);
- if(project != 0)
- {
- delete project;
- }
- }
- emit sigChanged();
-}
-
-void CGisListWks::slotSearchGoogle(bool on)
-{
- CGisListWksEditLock lock(true, IGisItem::mutexItems);
-
- delete searchGoogle;
- if(on)
- {
- searchGoogle = new CSearchGoogle(this);
- }
-}
-
-bool CGisListWks::event(QEvent * e)
-{
- CGisListWksEditLock lock(true, IGisItem::mutexItems);
-
- switch(e->type())
- {
- case eEvtD2WReqInfo:
- {
- CEvtD2WReqInfo * evt = (CEvtD2WReqInfo*)e;
- CDBProject * project = getProjectById(evt->id, evt->db);
- if(project)
- {
- project->postStatus();
- }
- e->accept();
- emit sigChanged();
- return true;
- }
- case eEvtD2WShowFolder:
- {
- CEvtD2WShowFolder * evt = (CEvtD2WShowFolder*)e;
- CDBProject * project = getProjectById(evt->id, evt->db);
- if(project == 0)
- {
- project = new CDBProject(evt->db, evt->id, this);
- if(!project->isValid())
- {
- delete project;
- }
- }
- e->accept();
- emit sigChanged();
- return true;
- }
- case eEvtD2WHideFolder:
- {
- CEvtD2WHideFolder * evt = (CEvtD2WHideFolder*)e;
- CDBProject * project = getProjectById(evt->id, evt->db);
- delete project;
-
- e->accept();
- emit sigChanged();
- return true;
- }
- case eEvtD2WShowItems:
- {
- CEvtD2WShowItems * evt = (CEvtD2WShowItems*)e;
- CDBProject * project = getProjectById(evt->id, evt->db);
- if(project)
- {
- project->showItems(evt);
- }
- e->accept();
- emit sigChanged();
- return true;
- }
- case eEvtD2WHideItems:
- {
- CEvtD2WHideItems * evt = (CEvtD2WHideItems*)e;
- CDBProject * project = getProjectById(evt->id, evt->db);
- if(project)
- {
- project->hideItems(evt);
- }
- e->accept();
- emit sigChanged();
- return true;
- }
- }
-
- return QTreeWidget::event(e);
-}
-
diff --git a/.hg/Trashcan/CGisListWks_w3G0J5.cpp.bak b/.hg/Trashcan/CGisListWks_w3G0J5.cpp.bak
deleted file mode 100644
index cafa59e..0000000
--- a/.hg/Trashcan/CGisListWks_w3G0J5.cpp.bak
+++ /dev/null
@@ -1,164 +0,0 @@
-/**********************************************************************************************
- Copyright (C) 2014 Oliver Eichler oliver.eichler at gmx.de
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-**********************************************************************************************/
-
-#include "gis/CGisListWks.h"
-#include "gis/CGisProject.h"
-#include "gis/IGisItem.h"
-#include "gis/CGisWidget.h"
-#include "CMainWindow.h"
-
-#include <QtWidgets>
-
-CGisListWks::CGisListWks(QWidget *parent)
- : QTreeWidget(parent)
-{
-
- menuProject = new QMenu(this);
- actionSaveAs = menuProject->addAction(QIcon("://icons/32x32/SaveGIS.png"),tr("Save As..."), this, SLOT(slotSaveAsProject()));
- actionSave = menuProject->addAction(QIcon("://icons/32x32/SaveGIS.png"),tr("Save"), this, SLOT(slotSaveProject()));
- actionClose = menuProject->addAction(QIcon("://icons/32x32/Close.png"),tr("Close"), this, SLOT(slotCloseProject()));
-
- connect(this, SIGNAL(customContextMenuRequested(QPoint)), this, SLOT(slotContextMenu(QPoint)));
- connect(this, SIGNAL(itemDoubleClicked(QTreeWidgetItem*,int)), this, SLOT(slotItemDoubleClicked(QTreeWidgetItem*,int)));
-
- menuItem = new QMenu(this);
- actionEditDetails = menuItem->addAction(QIcon("://icons/32x32/EditDetails.png"),tr("Edit..."), this, SLOT(slotEditItem()));
- actionDelete = menuItem->addAction(QIcon("://icons/48x48/DeleteOne.png"),tr("Delete"), this, SLOT(slotDeleteItem()));
-}
-
-CGisListWks::~CGisListWks()
-{
-
-}
-
-bool CGisListWks::hasProject(const QString& key)
-{
- QMutexLocker lock(&IGisItem::mutexItems);
- for(int i = 0; i < topLevelItemCount(); i++)
- {
- CGisProject * item = dynamic_cast<CGisProject*>(topLevelItem(i));
- if(item && item->getKey() == key)
- {
- return true;
- }
- }
- return false;
-}
-
-void CGisListWks::slotContextMenu(const QPoint& point)
-{
- CGisProject * project = dynamic_cast<CGisProject*>(currentItem());
- if(project != 0)
- {
- QPoint p = mapToGlobal(point);
- menuProject->exec(p);
- }
-
- IGisItem * gisItem = dynamic_cast<IGisItem*>(currentItem());
- if(gisItem != 0)
- {
- QPoint p = mapToGlobal(point);
- menuItem->exec(p);
- }
-
-}
-
-void CGisListWks::slotCloseProject()
-{
- QMutexLocker lock(&IGisItem::mutexItems);
- QList<QTreeWidgetItem*> items = selectedItems();
- foreach(QTreeWidgetItem * item, items)
- {
- CGisProject * project = dynamic_cast<CGisProject*>(item);
- if(project != 0)
- {
- delete project;
- }
- }
- emit sigChanged();
-}
-
-void CGisListWks::slotSaveProject()
-{
- QApplication::setOverrideCursor(Qt::WaitCursor);
- IGisItem::mutexItems.lock();
-
- QList<QTreeWidgetItem*> items = selectedItems();
- foreach(QTreeWidgetItem * item, items)
- {
- CGisProject * project = dynamic_cast<CGisProject*>(item);
- if(project != 0)
- {
- project->save();
- }
- }
- IGisItem::mutexItems.unlock();
- QApplication::restoreOverrideCursor();
-}
-
-void CGisListWks::slotSaveAsProject()
-{
- IGisItem::mutexItems.lock();
-
- QList<QTreeWidgetItem*> items = selectedItems();
- foreach(QTreeWidgetItem * item, items)
- {
- CGisProject * project = dynamic_cast<CGisProject*>(item);
- if(project != 0)
- {
- project->saveAs();
- }
- }
- IGisItem::mutexItems.unlock();
-
-}
-
-void CGisListWks::slotItemDoubleClicked(QTreeWidgetItem * item, int )
-{
- IGisItem::mutexItems.lock();
- IGisItem * gisItem = dynamic_cast<IGisItem*>(item);
- if(gisItem != 0)
- {
- CMainWindow::self().zoomWksTo(gisItem->getBoundingRect());
- }
- IGisItem::mutexItems.unlock();
-}
-
-void CGisListWks::slotEditItem()
-{
- IGisItem::mutexItems.lock();
- IGisItem * gisItem = dynamic_cast<IGisItem*>(currentItem());
- if(gisItem != 0)
- {
- QString key = gisItem->getKey();
- CGisWidget::self().editItemByKey(key);
- }
- IGisItem::mutexItems.unlock();
-}
-
-void CGisListWks::slotDeleteItem()
-{
- IGisItem::mutexItems.lock();
- IGisItem * gisItem = dynamic_cast<IGisItem*>(currentItem());
- if(gisItem != 0)
- {
- QString key = gisItem->getKey();
- CGisWidget::self().delItemByKey(key);
- }
- IGisItem::mutexItems.unlock();
-}
diff --git a/.hg/Trashcan/CGisWidget_0r6eN4.cpp.bak b/.hg/Trashcan/CGisWidget_0r6eN4.cpp.bak
deleted file mode 100644
index 8d65daa..0000000
--- a/.hg/Trashcan/CGisWidget_0r6eN4.cpp.bak
+++ /dev/null
@@ -1,215 +0,0 @@
-/**********************************************************************************************
- Copyright (C) 2014 Oliver Eichler oliver.eichler at gmx.de
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-**********************************************************************************************/
-
-#include "gis/CGisWidget.h"
-#include "gis/CGisProject.h"
-#include "gis/IGisItem.h"
-#include "gis/CGisDraw.h"
-#include "CMainWindow.h"
-
-#include <QtWidgets>
-#include <QtXml>
-
-CGisWidget * CGisWidget::pSelf = 0;
-
-CGisWidget::CGisWidget(QWidget *parent)
- : QWidget(parent)
-{
- pSelf = this;
- setupUi(this);
-
- treeWks->header()->setSectionResizeMode(0,QHeaderView::ResizeToContents);
-
-
- connect(treeWks, SIGNAL(sigChanged()), SIGNAL(sigChanged()));
-}
-
-CGisWidget::~CGisWidget()
-{
-
-}
-
-void CGisWidget::loadGpx(const QString& filename)
-{
- // cerate file instance
- QFile file(filename);
- file.open(QIODevice::ReadOnly);
-
- // create md5 hash
- QCryptographicHash md5(QCryptographicHash::Md5);
- md5.addData(file.readAll());
- file.close();
- QString key = md5.result().toHex();
-
- // skip if project is already loaded
- if(treeWks->hasProject(key))
- {
- return;
- }
-
- // add project to workspace
- QApplication::setOverrideCursor(Qt::WaitCursor);
- IGisItem::mutexItems.lock();
- CGisProject * item = new CGisProject(filename, key, treeWks);
- if(!item->isValid())
- {
- delete item;
- }
- IGisItem::mutexItems.unlock();
- QApplication::restoreOverrideCursor();
-
- emit sigChanged();
-}
-
-void CGisWidget::slotSaveAll()
-{
- QApplication::setOverrideCursor(Qt::WaitCursor);
- IGisItem::mutexItems.lock();
- for(int i = 0; i < treeWks->topLevelItemCount(); i++)
- {
- CGisProject * item = dynamic_cast<CGisProject*>(treeWks->topLevelItem(i));
- if(item == 0)
- {
- continue;
- }
- item->save();
- }
- IGisItem::mutexItems.unlock();
- QApplication::restoreOverrideCursor();
-}
-
-
-void CGisWidget::getItemsByPos(const QPointF& pos, QList<IGisItem*>& items)
-{
- IGisItem::mutexItems.lock();
- for(int i = 0; i < treeWks->topLevelItemCount(); i++)
- {
- CGisProject * project = dynamic_cast<CGisProject*>(treeWks->topLevelItem(i));
- if(project == 0)
- {
- continue;
- }
- project->getItemByPos(pos, items);
- }
- IGisItem::mutexItems.unlock();
-}
-
-IGisItem * CGisWidget::getItemByKey(const QString& key)
-{
- IGisItem * item = 0;
- IGisItem::mutexItems.lock();
- for(int i = 0; i < treeWks->topLevelItemCount(); i++)
- {
- CGisProject * project = dynamic_cast<CGisProject*>(treeWks->topLevelItem(i));
- if(project == 0)
- {
- continue;
- }
- item = project->getItemByKey(key);
- if(item != 0)
- {
- break;
- }
- }
- IGisItem::mutexItems.unlock();
- return item;
-}
-
-void CGisWidget::delItemByKey(const QString& key)
-{
- IGisItem::mutexItems.lock();
- for(int i = 0; i < treeWks->topLevelItemCount(); i++)
- {
- CGisProject * project = dynamic_cast<CGisProject*>(treeWks->topLevelItem(i));
- if(project == 0)
- {
- continue;
- }
- project->delItemByKey(key);
- if(project->childCount() == 0)
- {
- delete project;
- }
- }
-
- IGisItem::mutexItems.unlock();
-
- emit sigChanged();
-}
-
-void CGisWidget::editItemByKey(const QString& key)
-{
- IGisItem::mutexItems.lock();
- for(int i = 0; i < treeWks->topLevelItemCount(); i++)
- {
- CGisProject * project = dynamic_cast<CGisProject*>(treeWks->topLevelItem(i));
- if(project == 0)
- {
- continue;
- }
- project->editItemByKey(key);
- }
-
- IGisItem::mutexItems.unlock();
-
- emit sigChanged();
-}
-
-void CGisWidget::draw(QPainter& p, const QRectF& viewport, CGisDraw * gis)
-{
- QFontMetricsF fm(CMainWindow::self().getMapFont());
- QList<QRectF> blockedAreas;
- QSet<QString> seenKeys;
-
- IGisItem::mutexItems.lock();
- // draw mandatory stuff first
- for(int i = 0; i < treeWks->topLevelItemCount(); i++)
- {
- if(gis->needsRedraw())
- {
- break;
- }
-
- CGisProject * item = dynamic_cast<CGisProject*>(treeWks->topLevelItem(i));
- if(item == 0)
- {
- continue;
- }
- item->drawItem(p, viewport, blockedAreas, seenKeys, gis);
- }
-
- // reset seen keys as lables will build the list a second time
- seenKeys.clear();
-
- // draw optional labels second
- for(int i = 0; i < treeWks->topLevelItemCount(); i++)
- {
- if(gis->needsRedraw())
- {
- break;
- }
-
- CGisProject * item = dynamic_cast<CGisProject*>(treeWks->topLevelItem(i));
- if(item == 0)
- {
- continue;
- }
- item->drawLabel(p, viewport, blockedAreas, seenKeys, fm, gis);
- }
- IGisItem::mutexItems.unlock();
-}
diff --git a/.hg/Trashcan/CGisWidget_1Gl0ex.cpp.bak b/.hg/Trashcan/CGisWidget_1Gl0ex.cpp.bak
deleted file mode 100644
index c484731..0000000
--- a/.hg/Trashcan/CGisWidget_1Gl0ex.cpp.bak
+++ /dev/null
@@ -1,217 +0,0 @@
-/**********************************************************************************************
- Copyright (C) 2014 Oliver Eichler oliver.eichler at gmx.de
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-**********************************************************************************************/
-
-#include "gis/CGisWidget.h"
-#include "gis/CGisProject.h"
-#include "gis/IGisItem.h"
-#include "gis/CGisDraw.h"
-#include "CMainWindow.h"
-
-#include <QtWidgets>
-#include <QtXml>
-
-CGisWidget * CGisWidget::pSelf = 0;
-
-CGisWidget::CGisWidget(QWidget *parent)
- : QWidget(parent)
-{
- pSelf = this;
- setupUi(this);
-
-// treeWks->header()->setSectionResizeMode(0,QHeaderView::Interactive);
- treeWks->header()->setSectionResizeMode(1,QHeaderView::ResizeToContents);
-// treeWks->header()->setCascadingSectionResizes(true);
-
-
- connect(treeWks, SIGNAL(sigChanged()), SIGNAL(sigChanged()));
-}
-
-CGisWidget::~CGisWidget()
-{
-
-}
-
-void CGisWidget::loadGpx(const QString& filename)
-{
- // cerate file instance
- QFile file(filename);
- file.open(QIODevice::ReadOnly);
-
- // create md5 hash
- QCryptographicHash md5(QCryptographicHash::Md5);
- md5.addData(file.readAll());
- file.close();
- QString key = md5.result().toHex();
-
- // skip if project is already loaded
- if(treeWks->hasProject(key))
- {
- return;
- }
-
- // add project to workspace
- QApplication::setOverrideCursor(Qt::WaitCursor);
- IGisItem::mutexItems.lock();
- CGisProject * item = new CGisProject(filename, key, treeWks);
- if(!item->isValid())
- {
- delete item;
- }
- IGisItem::mutexItems.unlock();
- QApplication::restoreOverrideCursor();
-
- emit sigChanged();
-}
-
-void CGisWidget::slotSaveAll()
-{
- QApplication::setOverrideCursor(Qt::WaitCursor);
- IGisItem::mutexItems.lock();
- for(int i = 0; i < treeWks->topLevelItemCount(); i++)
- {
- CGisProject * item = dynamic_cast<CGisProject*>(treeWks->topLevelItem(i));
- if(item == 0)
- {
- continue;
- }
- item->save();
- }
- IGisItem::mutexItems.unlock();
- QApplication::restoreOverrideCursor();
-}
-
-
-void CGisWidget::getItemsByPos(const QPointF& pos, QList<IGisItem*>& items)
-{
- IGisItem::mutexItems.lock();
- for(int i = 0; i < treeWks->topLevelItemCount(); i++)
- {
- CGisProject * project = dynamic_cast<CGisProject*>(treeWks->topLevelItem(i));
- if(project == 0)
- {
- continue;
- }
- project->getItemByPos(pos, items);
- }
- IGisItem::mutexItems.unlock();
-}
-
-IGisItem * CGisWidget::getItemByKey(const QString& key)
-{
- IGisItem * item = 0;
- IGisItem::mutexItems.lock();
- for(int i = 0; i < treeWks->topLevelItemCount(); i++)
- {
- CGisProject * project = dynamic_cast<CGisProject*>(treeWks->topLevelItem(i));
- if(project == 0)
- {
- continue;
- }
- item = project->getItemByKey(key);
- if(item != 0)
- {
- break;
- }
- }
- IGisItem::mutexItems.unlock();
- return item;
-}
-
-void CGisWidget::delItemByKey(const QString& key)
-{
- IGisItem::mutexItems.lock();
- for(int i = 0; i < treeWks->topLevelItemCount(); i++)
- {
- CGisProject * project = dynamic_cast<CGisProject*>(treeWks->topLevelItem(i));
- if(project == 0)
- {
- continue;
- }
- project->delItemByKey(key);
- if(project->childCount() == 0)
- {
- delete project;
- }
- }
-
- IGisItem::mutexItems.unlock();
-
- emit sigChanged();
-}
-
-void CGisWidget::editItemByKey(const QString& key)
-{
- IGisItem::mutexItems.lock();
- for(int i = 0; i < treeWks->topLevelItemCount(); i++)
- {
- CGisProject * project = dynamic_cast<CGisProject*>(treeWks->topLevelItem(i));
- if(project == 0)
- {
- continue;
- }
- project->editItemByKey(key);
- }
-
- IGisItem::mutexItems.unlock();
-
- emit sigChanged();
-}
-
-void CGisWidget::draw(QPainter& p, const QRectF& viewport, CGisDraw * gis)
-{
- QFontMetricsF fm(CMainWindow::self().getMapFont());
- QList<QRectF> blockedAreas;
- QSet<QString> seenKeys;
-
- IGisItem::mutexItems.lock();
- // draw mandatory stuff first
- for(int i = 0; i < treeWks->topLevelItemCount(); i++)
- {
- if(gis->needsRedraw())
- {
- break;
- }
-
- CGisProject * item = dynamic_cast<CGisProject*>(treeWks->topLevelItem(i));
- if(item == 0)
- {
- continue;
- }
- item->drawItem(p, viewport, blockedAreas, seenKeys, gis);
- }
-
- // reset seen keys as lables will build the list a second time
- seenKeys.clear();
-
- // draw optional labels second
- for(int i = 0; i < treeWks->topLevelItemCount(); i++)
- {
- if(gis->needsRedraw())
- {
- break;
- }
-
- CGisProject * item = dynamic_cast<CGisProject*>(treeWks->topLevelItem(i));
- if(item == 0)
- {
- continue;
- }
- item->drawLabel(p, viewport, blockedAreas, seenKeys, fm, gis);
- }
- IGisItem::mutexItems.unlock();
-}
diff --git a/.hg/Trashcan/CMakeLists_OYf8I5.txt.bak b/.hg/Trashcan/CMakeLists_OYf8I5.txt.bak
deleted file mode 100644
index 95b1823..0000000
--- a/.hg/Trashcan/CMakeLists_OYf8I5.txt.bak
+++ /dev/null
@@ -1,102 +0,0 @@
-cmake_minimum_required(VERSION 3.0.0)
-
-project(QMapShack)
-
-# has to be removed later on
-
-if(UNIX)
-#set(CMAKE_PREFIX_PATH ${CMAKE_PREFIX_PATH} /opt/Qt/5.3/gcc_64)
-endif(UNIX)
-
-
-if(WIN32)
-set(QT_DEV_PATH "" CACHE PATH "Path to directory containing Qt5 include and lib, e.g. C:\\Qt5\\5.3\\msvc2013_64")
-set(GDAL_DEV_PATH "" CACHE PATH "Path to directory containing GDAL include and lib, e.g. M:\\lib\\gdal")
-set(PROJ_DEV_PATH "" CACHE PATH "Path to directory containing PROJ.4 include and lib, e.g. M:\\lib\\PROJ")
-set(CMAKE_PREFIX_PATH ${CMAKE_PREFIX_PATH} ${QT_DEV_PATH})
-endif(WIN32)
-
-
-set(APPLICATION_NAME qmapshack)
-
-set(APPLICATION_VERSION_MAJOR "1")
-set(APPLICATION_VERSION_MINOR "0")
-set(APPLICATION_VERSION_PATCH "0")
-
-add_definitions(-DVER_MAJOR=${APPLICATION_VERSION_MAJOR} -DVER_MINOR=${APPLICATION_VERSION_MINOR} -DVER_STEP=${APPLICATION_VERSION_PATCH} -DAPPLICATION_NAME=${PROJECT_NAME})
-
-
-if (APPLE)
- set(PROGNAME "QMapShack")
- set(CONFIGDIR "Library/Application Support/${PROGNAME}/")
- set(MAC_BUNDLE_PATH ${EXECUTABLE_OUTPUT_PATH}/${PROGNAME}.app)
- set(MAC_ICON_FILE qmapshack.icns)
- set(MACOSX_BUNDLE_SHORT_VERSION_STRING ${APPLICATION_VERSION_MAJOR}.${APPLICATION_VERSION_MINOR}.${APPLICATION_VERSION_PATCH})
- set(MACOSX_BUNDLE_ICON_FILE ${MAC_ICON_FILE})
- set(MACOSX_BUNDLE_BUNDLE_NAME ${PROGNAME})
- set(MACOSX_BUNDLE_BUNDLE_VERSION ${APPLICATION_VERSION_MAJOR}.${APPLICATION_VERSION_MINOR})
- set(MACOSX_BUNDLE_GUI_IDENTIFIER org.qlandkarte.QMapShack)
-else(APPLE)
- set(PROGNAME qmapshack)
- set(CONFIGDIR ".config/QLandkarte/")
-endif(APPLE)
-if(MSVC)
- # Add link-time code generation to improve performance
- set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /GL")
- set(CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} /LTCG")
- set(CMAKE_MODULE_LINKER_FLAGS_RELEASE "${CMAKE_MODULE_LINKER_FLAGS_RELEASE} /LTCG")
- set(CMAKE_SHARED_LINKER_FLAGS_RELEASE "${CMAKE_SHARED_LINKER_FLAGS_RELEASE} /LTCG")
-endif(MSVC)
-
-# where to look first for cmake modules, before ${CMAKE_ROOT}/Modules/ is checked
-set(CMAKE_MODULE_PATH
- ${CMAKE_SOURCE_DIR}/cmake/Modules
-)
-
-# add definitions
-include(DefineCMakeDefaults)
-include(DefineCompilerFlags)
-include(DefineInstallationPaths)
-include(CPackConfig.cmake)
-
-include(ConfigureChecks.cmake)
-configure_file(config.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config.h)
-
-
-set(EXECUTABLE_OUTPUT_PATH ${CMAKE_BINARY_DIR}/bin)
-add_subdirectory(3rdparty/CGetOpt)
-#add_subdirectory(3rdparty/DBConverter)
-add_subdirectory(src)
-
-
-if (UNIX AND NOT WIN32 AND NOT APPLE)
- install(
- FILES
- qmapshack.desktop
- DESTINATION
- ${XDG_APPS_DIR}
- )
-
- install(
- FILES
- src/icons/48x48/QMapShack.png
- DESTINATION
- ${DATA_INSTALL_PREFIX}/pixmaps
- )
-
- install(
- FILES
- qmapshack.1
- DESTINATION
- ${MAN_INSTALL_DIR}/man1
- )
-endif (UNIX AND NOT WIN32 AND NOT APPLE)
-
-CONFIGURE_FILE(
- "${CMAKE_CURRENT_SOURCE_DIR}/cmake_uninstall.cmake.in"
- "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake"
- IMMEDIATE @ONLY)
-
-ADD_CUSTOM_TARGET(uninstall
- "${CMAKE_COMMAND}" -P "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake")
-
diff --git a/.hg/Trashcan/CMakeLists_SIS4BY.txt.bak b/.hg/Trashcan/CMakeLists_SIS4BY.txt.bak
deleted file mode 100644
index 88273f0..0000000
--- a/.hg/Trashcan/CMakeLists_SIS4BY.txt.bak
+++ /dev/null
@@ -1,256 +0,0 @@
-
-# Find includes in corresponding build directories
-set(CMAKE_INCLUDE_CURRENT_DIR ON)
-# Instruct CMake to run moc automatically when needed.
-set(CMAKE_AUTOMOC ON)
-
-# Find the QtWidgets library
-find_package(Qt5Widgets)
-find_package(Qt5Core)
-find_package(Qt5Xml)
-find_package(Qt5LinguistTools)
-find_package(GDAL REQUIRED)
-find_package(PROJ REQUIRED)
-
-set( SRCS
- main.cpp
- GeoMath.cpp
- CMainWindow.cpp
- CAbout.cpp
- helpers/CInputDialog.cpp
- helpers/CPositionDialog.cpp
- helpers/CWptIconDialog.cpp
- helpers/CTextEditWidget.cpp
- canvas/CCanvas.cpp
- canvas/CCanvasSetup.cpp
- canvas/IDrawContext.cpp
- canvas/IDrawObject.cpp
- dem/IDem.cpp
- map/IMapProp.cpp
- dem/IDemProp.cpp
- dem/CDemDraw.cpp
- dem/CDemVRT.cpp
- dem/CDemList.cpp
- dem/CDemItem.cpp
- dem/CDemPathSetup.cpp
- dem/CDemPropSetup.cpp
- map/IMap.cpp
- map/CMapDraw.cpp
- map/CMapItem.cpp
- map/CMapList.cpp
- map/CMapRMAP.cpp
- map/CMapJNX.cpp
- map/CMapIMG.cpp
- map/CMapMAP.cpp
- map/CMapVRT.cpp
- map/CMapPathSetup.cpp
- map/CMapPropSetup.cpp
- map/garmin/IGarminStrTbl.cpp
- map/garmin/CGarminStrTbl6.cpp
- map/garmin/CGarminStrTbl8.cpp
- map/garmin/CGarminStrTblUtf8.cpp
- map/garmin/CGarminPoint.cpp
- map/garmin/CGarminPolygon.cpp
- map/garmin/CGarminTyp.cpp
- units/IUnit.cpp
- units/CUnitImperial.cpp
- units/CUnitMetric.cpp
- units/CUnitNautic.cpp
- units/CTimeZoneSetup.cpp
- grid/CGrid.cpp
- grid/CGridSetup.cpp
- grid/CProjWizard.cpp
- grid/mitab.cpp
- mouse/IMouse.cpp
- mouse/IScrOpt.cpp
- mouse/CMouseNormal.cpp
- mouse/CScrOptUnclutter.cpp
- gis/WptIcons.cpp
- gis/CGisDraw.cpp
- gis/IGisItem.cpp
- gis/wpt/CGisItemWpt.cpp
- gis/wpt/CScrOptWpt.cpp
- gis/wpt/CDetailsWpt.cpp
- gis/trk/CGisItemTrk.cpp
- gis/trk/CScrOptTrk.cpp
- gis/rte/CGisItemRte.cpp
- gis/rte/CScrOptRte.cpp
- gis/CGisWidget.cpp
- gis/CGisListDB.cpp
- gis/CGisListWks.cpp
- gis/CGisProject.cpp
-)
-
-set( HDRS
-
- version.h
- GeoMath.h
- CMainWindow.h
- CAbout.h
- helpers/Platform.h
- helpers/CFileExt.h
- helpers/CAppOpts.h
- helpers/CSettings.h
- helpers/CInputDialog.h
- helpers/CPositionDialog.h
- helpers/CWptIconDialog.h
- helpers/CTextEditWidget.h
- canvas/CCanvas.h
- canvas/CCanvasSetup.h
- canvas/IDrawContext.h
- canvas/IDrawObject.h
- dem/IDem.h
- dem/IDemProp.h
- dem/CDemDraw.h
- dem/CDemVRT.h
- dem/CDemList.h
- dem/CDemItem.h
- dem/CDemPathSetup.h
- dem/CDemPropSetup.h
- map/IMap.h
- map/IMapProp.h
- map/CMapDraw.h
- map/CMapItem.h
- map/CMapList.h
- map/CMapRMAP.h
- map/CMapJNX.h
- map/CMapIMG.h
- map/CMapMAP.h
- map/CMapVRT.h
- map/CMapPathSetup.h
- map/CMapPropSetup.h
- map/garmin/Garmin.h
- map/garmin/IGarminStrTbl.h
- map/garmin/CGarminStrTbl6.h
- map/garmin/CGarminStrTbl8.h
- map/garmin/CGarminStrTblUtf8.h
- map/garmin/CGarminPoint.h
- map/garmin/CGarminPolygon.h
- map/garmin/CGarminTyp.h
- units/IUnit.h
- units/CUnitImperial.h
- units/CUnitMetric.h
- units/CUnitNautic.h
- units/CTimeZoneSetup.h
- grid/CGrid.h
- grid/CGridSetup.h
- grid/CProjWizard.h
- grid/mitab.h
- mouse/IMouse.h
- mouse/IScrOpt.h
- mouse/CMouseNormal.h
- mouse/CScrOptUnclutter.h
- gis/WptIcons.h
- gis/CGisDraw.h
- gis/IGisItem.h
- gis/wpt/CGisItemWpt.h
- gis/wpt/CScrOptWpt.h
- gis/wpt/CDetailsWpt.h
- gis/trk/CGisItemTrk.h
- gis/trk/CScrOptTrk.h
- gis/rte/CGisItemRte.h
- gis/rte/CScrOptRte.h
- gis/CGisWidget.h
- gis/CGisListDB.h
- gis/CGisListWks.h
- gis/CGisProject.h
-)
-
-set( UIS
- IMainWindow.ui
- IAbout.ui
- helpers/IInputDialog.ui
- helpers/IPositionDialog.ui
- helpers/IWptIconDialog.ui
- helpers/ITextEditWidget.ui
- canvas/ICanvasSetup.ui
- dem/IDemList.ui
- dem/IDemPathSetup.ui
- dem/IDemPropSetup.ui
- map/IMapList.ui
- map/IMapPathSetup.ui
- map/IMapPropSetup.ui
- grid/IGridSetup.ui
- grid/IProjWizard.ui
- gis/IGisWidget.ui
- gis/wpt/IScrOptWpt.ui
- gis/wpt/IDetailsWpt.ui
- gis/trk/IScrOptTrk.ui
- gis/rte/IScrOptRte.ui
- units/ITimeZoneSetup.ui
-)
-
-set( RCS
- resources.qrc
-)
-
-
-qt5_wrap_ui(UI_HDRS ${UIS})
-qt5_add_resources(RC_SRCS ${RCS})
-
-if(UNIX)
- add_definitions(-Wall)
-endif(UNIX)
-
-
-file(GLOB TRANSLATIONS_FILES locale/*.ts)
-
-
-qt5_add_translation(
- ${APPLICATION_NAME}_QM_FILES
- ${TRANSLATIONS_FILES}
-)
-
-
-set(ALLINP
- ${SRCS}
- ${HDRS}
- ${UI_HDRS}
- ${RC_SRCS}
- ${${APPLICATION_NAME}_QM_FILES}
-)
-
-include_directories(
- ${CMAKE_BINARY_DIR}
- ${CMAKE_SOURCE_DIR}/3rdparty/CGetOpt
- ${GDAL_INCLUDE_DIRS}
- ${PROJ_INCLUDE_DIRS}
-
-)
-
-
-
-# Tell CMake to create the helloworld executable
-add_executable(${APPLICATION_NAME} WIN32 ${ALLINP})
-
-# Use the Widgets module from Qt 5.
-target_link_libraries(${APPLICATION_NAME}
- Qt5::Widgets
- Qt5::Xml
- CGetOpt
- ${GDAL_LIBRARIES}
- ${PROJ_LIBRARIES}
-
-)
-
-install(
- TARGETS
- ${APPLICATION_NAME}
- DESTINATION
- ${BIN_INSTALL_DIR}
-)
-
-if (UNIX AND NOT WIN32 AND NOT APPLE)
-install(
- FILES
- ${${APPLICATION_NAME}_QM_FILES}
- DESTINATION
- ${DATA_INSTALL_PREFIX}/${APPLICATION_NAME}/translations)
-endif (UNIX AND NOT WIN32 AND NOT APPLE)
-
-if (APPLE)
-add_custom_target(locversion.plist ALL
- COMMAND
- ${CMAKE_SOURCE_DIR}/MacOSX/mklocversion.sh ${MAC_BUNDLE_PATH} ${${APPLICATION_NAME}_QM_FILES}
-)
-endif (APPLE)
diff --git a/.hg/Trashcan/CMakeLists_XwOIvC.txt.bak b/.hg/Trashcan/CMakeLists_XwOIvC.txt.bak
deleted file mode 100644
index 116fd7e..0000000
--- a/.hg/Trashcan/CMakeLists_XwOIvC.txt.bak
+++ /dev/null
@@ -1,102 +0,0 @@
-cmake_minimum_required(VERSION 3.0.0)
-
-project(QMapShack)
-
-# has to be removed later on
-
-if(UNIX)
-#set(CMAKE_PREFIX_PATH ${CMAKE_PREFIX_PATH} /opt/Qt/5.3/gcc_64)
-endif(UNIX)
-
-
-if(WIN32)
-set(QT_DEV_PATH "" CACHE PATH "Path to directory containing Qt5 include and lib, e.g. C:\\Qt5\\5.3\\msvc2013_64")
-set(GDAL_DEV_PATH "" CACHE PATH "Path to directory containing GDAL include and lib, e.g. M:\\lib\\gdal")
-set(PROJ_DEV_PATH "" CACHE PATH "Path to directory containing PROJ.4 include and lib, e.g. M:\\lib\\PROJ")
-set(CMAKE_PREFIX_PATH ${CMAKE_PREFIX_PATH} ${QT_DEV_PATH})
-endif(WIN32)
-
-
-set(APPLICATION_NAME qmapshack)
-
-set(APPLICATION_VERSION_MAJOR "1")
-set(APPLICATION_VERSION_MINOR "X")
-set(APPLICATION_VERSION_PATCH "X")
-
-add_definitions(-DVER_MAJOR=${APPLICATION_VERSION_MAJOR} -DVER_MINOR=${APPLICATION_VERSION_MINOR} -DVER_STEP=${APPLICATION_VERSION_PATCH} -DAPPLICATION_NAME=${PROJECT_NAME})
-
-
-if (APPLE)
- set(PROGNAME "QMapShack")
- set(CONFIGDIR "Library/Application Support/${PROGNAME}/")
- set(MAC_BUNDLE_PATH ${EXECUTABLE_OUTPUT_PATH}/${PROGNAME}.app)
- set(MAC_ICON_FILE qmapshack.icns)
- set(MACOSX_BUNDLE_SHORT_VERSION_STRING ${APPLICATION_VERSION_MAJOR}.${APPLICATION_VERSION_MINOR}.${APPLICATION_VERSION_PATCH})
- set(MACOSX_BUNDLE_ICON_FILE ${MAC_ICON_FILE})
- set(MACOSX_BUNDLE_BUNDLE_NAME ${PROGNAME})
- set(MACOSX_BUNDLE_BUNDLE_VERSION ${APPLICATION_VERSION_MAJOR}.${APPLICATION_VERSION_MINOR})
- set(MACOSX_BUNDLE_GUI_IDENTIFIER org.qlandkarte.QMapShack)
-else(APPLE)
- set(PROGNAME qmapshack)
- set(CONFIGDIR ".config/QLandkarte/")
-endif(APPLE)
-if(MSVC)
- # Add link-time code generation to improve performance
- set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /GL")
- set(CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} /LTCG")
- set(CMAKE_MODULE_LINKER_FLAGS_RELEASE "${CMAKE_MODULE_LINKER_FLAGS_RELEASE} /LTCG")
- set(CMAKE_SHARED_LINKER_FLAGS_RELEASE "${CMAKE_SHARED_LINKER_FLAGS_RELEASE} /LTCG")
-endif(MSVC)
-
-# where to look first for cmake modules, before ${CMAKE_ROOT}/Modules/ is checked
-set(CMAKE_MODULE_PATH
- ${CMAKE_SOURCE_DIR}/cmake/Modules
-)
-
-# add definitions
-include(DefineCMakeDefaults)
-include(DefineCompilerFlags)
-include(DefineInstallationPaths)
-include(CPackConfig.cmake)
-
-include(ConfigureChecks.cmake)
-configure_file(config.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config.h)
-
-
-set(EXECUTABLE_OUTPUT_PATH ${CMAKE_BINARY_DIR}/bin)
-add_subdirectory(3rdparty/CGetOpt)
-#add_subdirectory(3rdparty/DBConverter)
-add_subdirectory(src)
-
-
-if (UNIX AND NOT WIN32 AND NOT APPLE)
- install(
- FILES
- qmapshack.desktop
- DESTINATION
- ${XDG_APPS_DIR}
- )
-
- install(
- FILES
- src/icons/48x48/QMapShack.png
- DESTINATION
- ${DATA_INSTALL_PREFIX}/pixmaps
- )
-
- install(
- FILES
- qmapshack.1
- DESTINATION
- ${MAN_INSTALL_DIR}/man1
- )
-endif (UNIX AND NOT WIN32 AND NOT APPLE)
-
-CONFIGURE_FILE(
- "${CMAKE_CURRENT_SOURCE_DIR}/cmake_uninstall.cmake.in"
- "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake"
- IMMEDIATE @ONLY)
-
-ADD_CUSTOM_TARGET(uninstall
- "${CMAKE_COMMAND}" -P "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake")
-
diff --git a/.hg/Trashcan/CMakeLists_lr2bNv.txt.bak b/.hg/Trashcan/CMakeLists_lr2bNv.txt.bak
deleted file mode 100644
index e9e689e..0000000
--- a/.hg/Trashcan/CMakeLists_lr2bNv.txt.bak
+++ /dev/null
@@ -1,253 +0,0 @@
-
-# Find includes in corresponding build directories
-set(CMAKE_INCLUDE_CURRENT_DIR ON)
-# Instruct CMake to run moc automatically when needed.
-set(CMAKE_AUTOMOC ON)
-
-# Find the QtWidgets library
-find_package(Qt5Widgets)
-find_package(Qt5Core)
-find_package(Qt5Xml)
-find_package(Qt5LinguistTools)
-find_package(GDAL REQUIRED)
-find_package(PROJ REQUIRED)
-
-set( SRCS
- main.cpp
- GeoMath.cpp
- CMainWindow.cpp
- CAbout.cpp
- helpers/CInputDialog.cpp
- helpers/CPositionDialog.cpp
- helpers/CWptIconDialog.cpp
- canvas/CCanvas.cpp
- canvas/CCanvasSetup.cpp
- canvas/IDrawContext.cpp
- canvas/IDrawObject.cpp
- dem/IDem.cpp
- map/IMapProp.cpp
- dem/IDemProp.cpp
- dem/CDemDraw.cpp
- dem/CDemVRT.cpp
- dem/CDemList.cpp
- dem/CDemItem.cpp
- dem/CDemPathSetup.cpp
- dem/CDemPropSetup.cpp
- map/IMap.cpp
- map/CMapDraw.cpp
- map/CMapItem.cpp
- map/CMapList.cpp
- map/CMapRMAP.cpp
- map/CMapJNX.cpp
- map/CMapIMG.cpp
- map/CMapMAP.cpp
- map/CMapVRT.cpp
- map/CMapPathSetup.cpp
- map/CMapPropSetup.cpp
- map/garmin/IGarminStrTbl.cpp
- map/garmin/CGarminStrTbl6.cpp
- map/garmin/CGarminStrTbl8.cpp
- map/garmin/CGarminStrTblUtf8.cpp
- map/garmin/CGarminPoint.cpp
- map/garmin/CGarminPolygon.cpp
- map/garmin/CGarminTyp.cpp
- units/IUnit.cpp
- units/CUnitImperial.cpp
- units/CUnitMetric.cpp
- units/CUnitNautic.cpp
- units/CTimeZoneSetup.cpp
- grid/CGrid.cpp
- grid/CGridSetup.cpp
- grid/CProjWizard.cpp
- grid/mitab.cpp
- mouse/IMouse.cpp
- mouse/IScrOpt.cpp
- mouse/CMouseNormal.cpp
- mouse/CScrOptUnclutter.cpp
- gis/WptIcons.cpp
- gis/CGisDraw.cpp
- gis/IGisItem.cpp
- gis/wpt/CGisItemWpt.cpp
- gis/wpt/CScrOptWpt.cpp
- gis/wpt/CDetailsWpt.cpp
- gis/trk/CGisItemTrk.cpp
- gis/trk/CScrOptTrk.cpp
- gis/rte/CGisItemRte.cpp
- gis/rte/CScrOptRte.cpp
- gis/CGisWidget.cpp
- gis/CGisListDB.cpp
- gis/CGisListWks.cpp
- gis/CGisProject.cpp
-)
-
-set( HDRS
-
- version.h
- GeoMath.h
- CMainWindow.h
- CAbout.h
- helpers/Platform.h
- helpers/CFileExt.h
- helpers/CAppOpts.h
- helpers/CSettings.h
- helpers/CInputDialog.h
- helpers/CPositionDialog.h
- helpers/CWptIconDialog.h
- canvas/CCanvas.h
- canvas/CCanvasSetup.h
- canvas/IDrawContext.h
- canvas/IDrawObject.h
- dem/IDem.h
- dem/IDemProp.h
- dem/CDemDraw.h
- dem/CDemVRT.h
- dem/CDemList.h
- dem/CDemItem.h
- dem/CDemPathSetup.h
- dem/CDemPropSetup.h
- map/IMap.h
- map/IMapProp.h
- map/CMapDraw.h
- map/CMapItem.h
- map/CMapList.h
- map/CMapRMAP.h
- map/CMapJNX.h
- map/CMapIMG.h
- map/CMapMAP.h
- map/CMapVRT.h
- map/CMapPathSetup.h
- map/CMapPropSetup.h
- map/garmin/Garmin.h
- map/garmin/IGarminStrTbl.h
- map/garmin/CGarminStrTbl6.h
- map/garmin/CGarminStrTbl8.h
- map/garmin/CGarminStrTblUtf8.h
- map/garmin/CGarminPoint.h
- map/garmin/CGarminPolygon.h
- map/garmin/CGarminTyp.h
- units/IUnit.h
- units/CUnitImperial.h
- units/CUnitMetric.h
- units/CUnitNautic.h
- units/CTimeZoneSetup.h
- grid/CGrid.h
- grid/CGridSetup.h
- grid/CProjWizard.h
- grid/mitab.h
- mouse/IMouse.h
- mouse/IScrOpt.h
- mouse/CMouseNormal.h
- mouse/CScrOptUnclutter.h
- gis/WptIcons.h
- gis/CGisDraw.h
- gis/IGisItem.h
- gis/wpt/CGisItemWpt.h
- gis/wpt/CScrOptWpt.h
- gis/wpt/CDetailsWpt.h
- gis/trk/CGisItemTrk.h
- gis/trk/CScrOptTrk.h
- gis/rte/CGisItemRte.h
- gis/rte/CScrOptRte.h
- gis/CGisWidget.h
- gis/CGisListDB.h
- gis/CGisListWks.h
- gis/CGisProject.h
-)
-
-set( UIS
- IMainWindow.ui
- IAbout.ui
- helpers/IInputDialog.ui
- helpers/IPositionDialog.ui
- helpers/IWptIconDialog.ui
- canvas/ICanvasSetup.ui
- dem/IDemList.ui
- dem/IDemPathSetup.ui
- dem/IDemPropSetup.ui
- map/IMapList.ui
- map/IMapPathSetup.ui
- map/IMapPropSetup.ui
- grid/IGridSetup.ui
- grid/IProjWizard.ui
- gis/IGisWidget.ui
- gis/wpt/IScrOptWpt.ui
- gis/wpt/IDetailsWpt.ui
- gis/trk/IScrOptTrk.ui
- gis/rte/IScrOptRte.ui
- units/ITimeZoneSetup.ui
-)
-
-set( RCS
- resources.qrc
-)
-
-
-qt5_wrap_ui(UI_HDRS ${UIS})
-qt5_add_resources(RC_SRCS ${RCS})
-
-if(UNIX)
- add_definitions(-Wall)
-endif(UNIX)
-
-
-file(GLOB TRANSLATIONS_FILES locale/*.ts)
-
-
-qt5_add_translation(
- ${APPLICATION_NAME}_QM_FILES
- ${TRANSLATIONS_FILES}
-)
-
-
-set(ALLINP
- ${SRCS}
- ${HDRS}
- ${UI_HDRS}
- ${RC_SRCS}
- ${${APPLICATION_NAME}_QM_FILES}
-)
-
-include_directories(
- ${CMAKE_BINARY_DIR}
- ${CMAKE_SOURCE_DIR}/3rdparty/CGetOpt
- ${GDAL_INCLUDE_DIRS}
- ${PROJ_INCLUDE_DIRS}
-
-)
-
-
-
-# Tell CMake to create the helloworld executable
-add_executable(${APPLICATION_NAME} WIN32 ${ALLINP})
-
-# Use the Widgets module from Qt 5.
-target_link_libraries(${APPLICATION_NAME}
- Qt5::Widgets
- Qt5::Xml
- CGetOpt
- ${GDAL_LIBRARIES}
- ${PROJ_LIBRARIES}
-
-)
-
-install(
- TARGETS
- ${APPLICATION_NAME}
- DESTINATION
- ${BIN_INSTALL_DIR}
-)
-
-if (UNIX AND NOT WIN32 AND NOT APPLE)
-install(
- FILES
- ${${APPLICATION_NAME}_QM_FILES}
- DESTINATION
- ${DATA_INSTALL_PREFIX}/${APPLICATION_NAME}/translations)
-endif (UNIX AND NOT WIN32 AND NOT APPLE)
-
-if (APPLE)
-add_custom_target(locversion.plist ALL
- COMMAND
- ${CMAKE_SOURCE_DIR}/MacOSX/mklocversion.sh ${MAC_BUNDLE_PATH} ${${APPLICATION_NAME}_QM_FILES}
-)
-endif (APPLE)
diff --git a/.hg/Trashcan/CPlotSpeed__YNWxV.cpp.bak b/.hg/Trashcan/CPlotSpeed__YNWxV.cpp.bak
deleted file mode 100644
index 56e90cf..0000000
--- a/.hg/Trashcan/CPlotSpeed__YNWxV.cpp.bak
+++ /dev/null
@@ -1,116 +0,0 @@
-/**********************************************************************************************
- Copyright (C) 2014 Oliver Eichler oliver.eichler at gmx.de
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-**********************************************************************************************/
-
-#include "plot/CPlotAxis.h"
-#include "plot/CPlotSpeed.h"
-
-CPlotSpeed::CPlotSpeed(QWidget *parent)
-// : IPlot(0, CPlotData::eAxisLinear, eModeNormal, parent)
- : IPlot(0, CPlotData::eAxisTime, eModeNormal, parent)
-{
-}
-
-CPlotSpeed::~CPlotSpeed()
-{
-}
-
-void CPlotSpeed::setTrack(CGisItemTrk * track)
-{
- trk = track;
- trk->registerPlot(this);
-
- updateData();
-}
-
-void CPlotSpeed::updateData()
-{
- CPlotData::axistype_e type = data->axisType;
-
- if(mode == eModeIcon)
- {
- setXLabel(trk->getName());
- setYLabel("");
- }
- else
- {
- if(type == CPlotData::eAxisLinear)
- {
- setXLabel(tr("distance [%1]").arg(IUnit::self().baseunit));
- }
- else
- {
- setXLabel(tr("time [h]"));
- }
- setYLabel(tr("speed. [%1]").arg(IUnit::self().speedunit));
- }
-
- clear();
- if(trk->getTotalElapsedSeconds() == 0)
- {
- return;
- }
-
- QPolygonF lineSpeed;
-
- qreal speedfactor = IUnit::self().speedfactor;
- const CGisItemTrk::trk_t& t = trk->getTrackData();
- foreach (const CGisItemTrk::trkseg_t& seg, t.segs)
- {
- foreach(const CGisItemTrk::trkpt_t& trkpt, seg.pts)
- {
- if(trkpt.flags & CGisItemTrk::trkpt_t::eHidden)
- {
- continue;
- }
-
- if(trkpt.speed != NOFLOAT)
- {
- lineSpeed << QPointF(type == CPlotData::eAxisLinear ? trkpt.distance : (qreal)trkpt.time.toTime_t(), trkpt.rateAscent * 3600/*trkpt.speed * speedfactor*/);
- }
- }
- }
-
- newLine(lineSpeed, "GPS");
- setLimits();
- data->ymin = 0;
- data->y().setLimits(0,data->ymax);
- resetZoom();
-}
-
-void CPlotSpeed::setMouseMoveFocus(const CGisItemTrk::trkpt_t * pt)
-{
- if(pt == 0)
- {
- if(posMouse != NOPOINT)
- {
- posMouse = NOPOINT;
- needsRedraw = true;
- }
- }
- else
- {
- if(posMouse == NOPOINT)
- {
- needsRedraw = true;
- }
-
- posMouse.rx() = left + data->x().val2pt(pt->distance);
- posMouse.ry() = top + data->y().val2pt(pt->speed);
- }
- update();
-}
diff --git a/.hg/Trashcan/CScrOptWpt_XBKh1B.cpp.bak b/.hg/Trashcan/CScrOptWpt_XBKh1B.cpp.bak
deleted file mode 100644
index abccd2c..0000000
--- a/.hg/Trashcan/CScrOptWpt_XBKh1B.cpp.bak
+++ /dev/null
@@ -1,89 +0,0 @@
-/**********************************************************************************************
- Copyright (C) 2014 Oliver Eichler oliver.eichler at gmx.de
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-**********************************************************************************************/
-
-
-#include "gis/wpt/CScrOptWpt.h"
-#include "gis/wpt/CGisItemWpt.h"
-#include "gis/CGisWidget.h"
-#include "mouse/IMouse.h"
-#include "canvas/CCanvas.h"
-#include "CMainWindow.h"
-
-#include <QtWidgets>
-
-CScrOptWpt::CScrOptWpt(CGisItemWpt *wpt, const QPoint& origin, IMouse *parent)
- : IScrOpt(parent->getCanvas())
- , key(wpt->getKey())
-{
- setupUi(this);
- setOrigin(origin);
- label->setFont(CMainWindow::self().getMapFont());
- label->setText(wpt->getInfo());
-
- anchor = wpt->getPointCloseBy(origin);
- move(anchor.toPoint() + QPoint(30,30));
- adjustSize();
- show();
-
- connect(toolDelete, SIGNAL(clicked()), this, SLOT(slotDelete()));
- connect(toolEdit, SIGNAL(clicked()), this, SLOT(slotEdit()));
-}
-
-CScrOptWpt::~CScrOptWpt()
-{
-
-}
-
-void CScrOptWpt::slotDelete()
-{
- CGisWidget::self().delItemByKey(key);
-}
-
-void CScrOptWpt::slotEdit()
-{
- CGisWidget::self().editItemByKey(key);
- deleteLater();
-}
-
-void CScrOptWpt::draw(QPainter& p)
-{
- IGisItem * item = CGisWidget::self().getItemByKey(key);
- if(item == 0)
- {
- deleteLater();
- return;
- }
- item->drawHighlight(p);
-
- QRectF r = rect();
- r.moveTopLeft(QPoint(x(), y()));
- QPainterPath path1;
- path1.addRoundedRect(r,5,5);
-
- QPolygonF poly2;
- poly2 << anchor << (r.topLeft() + QPointF(10,0)) << (r.topLeft() + QPointF(0,10)) << anchor;
- QPainterPath path2;
- path2.addPolygon(poly2);
-
- path1 = path1.united(path2);
-
- p.setPen(CCanvas::penBorderGray);
- p.setBrush(CCanvas::brushBackWhite);
- p.drawPolygon(path1.toFillPolygon());
-
-}
diff --git a/.hg/Trashcan/CScrOptWpt_xMZh5g.cpp.bak b/.hg/Trashcan/CScrOptWpt_xMZh5g.cpp.bak
deleted file mode 100644
index f209af8..0000000
--- a/.hg/Trashcan/CScrOptWpt_xMZh5g.cpp.bak
+++ /dev/null
@@ -1,89 +0,0 @@
-/**********************************************************************************************
- Copyright (C) 2014 Oliver Eichler oliver.eichler at gmx.de
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-**********************************************************************************************/
-
-
-#include "gis/wpt/CScrOptWpt.h"
-#include "gis/wpt/CGisItemWpt.h"
-#include "gis/CGisWidget.h"
-#include "mouse/IMouse.h"
-#include "canvas/CCanvas.h"
-#include "CMainWindow.h"
-
-#include <QtWidgets>
-
-CScrOptWpt::CScrOptWpt(CGisItemWpt *wpt, const QPoint& origin, IMouse *parent)
- : IScrOpt(parent->getCanvas())
- , key(wpt->getKey())
-{
- setupUi(this);
- setOrigin(origin);
- label->setFont(CMainWindow::self().getMapFont());
- label->setText(IGisItem::removeHtml(wpt->getInfo()));
-
- anchor = wpt->getPointCloseBy(origin);
- move(anchor.toPoint() + QPoint(30,30));
- adjustSize();
- show();
-
- connect(toolDelete, SIGNAL(clicked()), this, SLOT(slotDelete()));
- connect(toolEdit, SIGNAL(clicked()), this, SLOT(slotEdit()));
-}
-
-CScrOptWpt::~CScrOptWpt()
-{
-
-}
-
-void CScrOptWpt::slotDelete()
-{
- CGisWidget::self().delItemByKey(key);
-}
-
-void CScrOptWpt::slotEdit()
-{
- CGisWidget::self().editItemByKey(key);
- deleteLater();
-}
-
-void CScrOptWpt::draw(QPainter& p)
-{
- IGisItem * item = CGisWidget::self().getItemByKey(key);
- if(item == 0)
- {
- deleteLater();
- return;
- }
- item->drawHighlight(p);
-
- QRectF r = rect();
- r.moveTopLeft(QPoint(x(), y()));
- QPainterPath path1;
- path1.addRoundedRect(r,5,5);
-
- QPolygonF poly2;
- poly2 << anchor << (r.topLeft() + QPointF(10,0)) << (r.topLeft() + QPointF(0,10)) << anchor;
- QPainterPath path2;
- path2.addPolygon(poly2);
-
- path1 = path1.united(path2);
-
- p.setPen(CCanvas::penBorderGray);
- p.setBrush(CCanvas::brushBackWhite);
- p.drawPolygon(path1.toFillPolygon());
-
-}
diff --git a/.hg/Trashcan/IGisItem_5WFVpa.h.bak b/.hg/Trashcan/IGisItem_5WFVpa.h.bak
deleted file mode 100644
index b6af0a7..0000000
--- a/.hg/Trashcan/IGisItem_5WFVpa.h.bak
+++ /dev/null
@@ -1,375 +0,0 @@
-/**********************************************************************************************
- Copyright (C) 2014 Oliver Eichler oliver.eichler at gmx.de
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-**********************************************************************************************/
-
-#ifndef IGISITEM_H
-#define IGISITEM_H
-
-#include <QTreeWidgetItem>
-
-#include <QDateTime>
-#include <QString>
-#include <QStringList>
-#include <QMap>
-#include <QVariant>
-#include <QUrl>
-#include <QDomNode>
-#include <QMutex>
-#include <QColor>
-
-#include "units/IUnit.h"
-
-class CGisDraw;
-class IScrOpt;
-class IMouse;
-class QSqlDatabase;
-class IGisProject;
-
-
-class IGisItem : public QTreeWidgetItem
-{
-
- public:
- struct history_event_t
- {
- QDateTime time;
- QString hash;
- QString icon;
- QString comment;
- QByteArray data;
- };
-
- struct history_t
- {
- qint32 histIdxInitial;
- qint32 histIdxCurrent;
- QList<history_event_t> events;
- };
-
-
- struct link_t
- {
- QUrl uri;
- QString text;
- QString type;
- };
-
- struct wpt_t
- {
- wpt_t() :
- lat(NOFLOAT),
- lon(NOFLOAT),
- ele(NOINT),
- magvar(NOINT),
- geoidheight(NOINT),
- sat(NOINT),
- hdop(NOINT),
- vdop(NOINT),
- pdop(NOINT),
- ageofdgpsdata(NOINT),
- dgpsid(NOINT)
- {}
- // -- all gpx tags - start
- qreal lat;
- qreal lon;
- qint32 ele;
- QDateTime time;
- qint32 magvar;
- qint32 geoidheight;
- QString name;
- QString cmt;
- QString desc;
- QString src;
- QList<link_t> links;
- QString sym;
- QString type;
- QString fix;
- qint32 sat;
- qint32 hdop;
- qint32 vdop;
- qint32 pdop;
- qint32 ageofdgpsdata;
- qint32 dgpsid;
- // -- all gpx tags - stop
- QMap<QString, QVariant> extensions;
- };
-
- /// never ever change these numbers. it will break binary data files
- enum type_e
- {
- eTypeWpt = 1
- , eTypeTrk = 2
- , eTypeRte = 3
- , eTypeOvl = 4
- , eTypeMax = 5
- };
-
- enum mark_e
- {
- eMarkNone = 0
- ,eMarkChanged = 0x00000001
- };
-
- struct key_t
- {
- bool operator==(const key_t& k) const {return ((item == k.item) && (project == k.project));}
- bool operator!=(const key_t& k) const {return ((item != k.item) || (project != k.project));}
- void clear(){item.clear(); project.clear();}
- QString item;
- QString project;
- };
-
- IGisItem(IGisProject *parent, type_e typ, int idx);
- virtual ~IGisItem();
-
- /// this mutex has to be locked when ever the item list is accessed.
- static QMutex mutexItems;
-
- /**
- @brief Update the visual representation of the QTreeWidgetItem
- @param enable
- @param disable
- */
- virtual void updateDecoration(mark_e enable, mark_e disable);
-
- /**
- @brief Save the item's data into a GPX structure
- @param gpx the files <gpx> tag to attach the data to
- */
- virtual void save(QDomNode& gpx) = 0;
-
- /**
- @brief Get key string to identify object
- @return
- */
- const key_t& getKey();
-
-
- /**
- @brief Get the icon attached to object
- @return
- */
- virtual const QPixmap& getIcon() const {return icon;}
- /**
- @brief Get name of this item.
- @return A reference to the internal string object
- */
- virtual const QString& getName() const = 0;
-
- /**
- @brief Get name of this item extended by the project name
- @return A string object.
- */
- virtual QString getNameEx();
-
- /**
- @brief Get a short string with the items properties to be displayed in tool tips or similar
- @return A string object.
- */
- virtual QString getInfo() const = 0;
-
- /**
- @brief Edit content of item.
-
- This is quite dependent on the item. The default implemntation does nothing. It has to be
- overwritten and the item has to generate what ever is needed to edit/view it's details.
-
- */
- virtual void edit(){}
-
- /**
- @brief Get the dimension of the item
-
- All coordinates are in Rad. Items with no
-
- @return
- */
- virtual const QRectF& getBoundingRect(){return boundingRect;}
-
- /**
- @brief Get screen option object to display and handle actions for this item.
- @param mouse a pointer to the mouse object initiating the action
- @return A null pointer is returned if no screen option are available
- */
- virtual IScrOpt * getScreenOptions(const QPoint& origin, IMouse * mouse){return 0;}
-
- /**
- @brief Get a point of the item that is close by the given screen pixel coordinate
- @param point a point in screen pixels
- @return If no point is found NOPOINTF is returned.
- */
- virtual QPointF getPointCloseBy(const QPoint& point){return NOPOINTF;}
-
- /**
- @brief Test if the item is close to a given pixel coordinate of the screen
-
- @param pos the coordinate on the screen in pixel
- @return If no point can be found NOPOINTF is returned.
- */
- virtual bool isCloseTo(const QPointF& pos) = 0;
-
- /**
- @brief Query if this item is read only
- @return True if it is read only.
- */
- bool isReadOnly();
-
- /**
- @brief Query if the item is imported and was changed
- @return True if content was changed.
- */
- bool isTainted();
- /**
- @brief Set the read only mode.
-
- This is quite dependent on the item. The default implementation will display a
- message box with a warning and ask the user to confirm.
-
- @param readOnly set true to make item read only
- */
- virtual void setReadOnlyMode(bool readOnly);
-
- virtual void drawItem(QPainter& p, const QRectF& viewport, QList<QRectF>& blockedAreas, CGisDraw * gis) = 0;
- virtual void drawItem(QPainter& p, const QRectF& viewport, CGisDraw * gis){}
- virtual void drawLabel(QPainter& p, const QRectF& viewport,QList<QRectF>& blockedAreas, const QFontMetricsF& fm, CGisDraw * gis) = 0;
- virtual void drawHighlight(QPainter& p) = 0;
-
- virtual void gainUserFocus(bool yes) = 0;
-
- /**
- @brief Check for user focus
-
- @return True if the item has user focus. The default implementation is always false.
- */
- virtual bool hasUserFocus(){return false;}
-
-
- /**
- @brief Serialize object out of a QDataStream
-
- See CGisSerialization.cpp for implementation
-
- @param stream the binary data stream
- @return The stream object.
- */
- virtual QDataStream& operator<<(QDataStream& stream) = 0;
- /**
- @brief Serialize object into a QDataStream
-
- See CGisSerialization.cpp for implementation
-
- @param stream the binary data stream
- @return The stream object.
- */
- virtual QDataStream& operator>>(QDataStream& stream) = 0;
-
- /**
- @brief Get read access to history of changes
-
- @return A reference to the history structure.
- */
- const history_t& getHistory() const {return history;}
-
- /**
- @brief Load a given state of chnage from the history
- @param idx
- */
- void loadHistory(int idx);
-
- void cutHistory();
-
- static QString removeHtml(const QString &str);
- static QString createText(bool isReadOnly, const QString& cmt, const QString& desc, const QList<link_t>& links);
- static QString createText(bool isReadOnly, const QString& desc, const QList<link_t>& links);
- static QString toLink(bool isReadOnly, const QString& href, const QString& str);
-
- static QString noKey;
-
- protected:
- struct color_t;
-
- /// set icon of QTreeWidgetItem
- virtual void setSymbol() = 0;
- /// read waypoint data from an XML snippet
- void readWpt(const QDomNode& xml, wpt_t &wpt);
- /// write waypoint data to an XML snippet
- void writeWpt(QDomElement &xml, const wpt_t &wpt);
- /// gnerate a unique key from item's data
- virtual void genKey();
- /// setup the history structure right after the creation of the item
- void setupHistory();
- /// convert a color string from GPX to a QT color
- QColor str2color(const QString& name);
- /// convertr a QT color to a string to be used in a GPX file
- QString color2str(const QColor &color);
- /// to optimize drawing of large polylines split the line into sections that are visible
- void splitLineToViewport(const QPolygonF& line, const QRectF& extViewport, QList<QPolygonF>& lines);
- /// ditribute arrows over a polyline
- void drawArrows(const QPolygonF &line, const QRectF &extViewport, QPainter& p);
- /// call when ever you make a change to the item's data
- virtual void changed(const QString& what, const QString& icon);
-
- virtual void loadFromDb(quint64 id, QSqlDatabase& db);
-
- quint32 flags;
- key_t key;
- QString hash;
- QPixmap icon;
- QRectF boundingRect;
-
- history_t history;
-
-
- static const color_t colorMap[];
-
-
- struct color_t
- {
- const char * name;
- QColor color;
- };
-
-
- enum flags_e
- {
- eFlagCreatedInQms = 0x00000001
- ,eFlagWriteAllowed = 0x00000002
- ,eFlagTainted = 0x00000004
- };
-
-
-
- static inline bool isBlocked(const QRectF& rect, const QList<QRectF> &blockedAreas)
- {
- foreach(const QRectF& r, blockedAreas)
- {
- if(rect.intersects(r))
- {
- return true;
- }
- }
- return false;
- }
-
-
-};
-
-QDataStream& operator>>(QDataStream& stream, IGisItem::history_t& h);
-QDataStream& operator<<(QDataStream& stream, const IGisItem::history_t& h);
-
-#endif //IGISITEM_H
-
diff --git a/.hg/Trashcan/IGisItem_APOLa5.cpp.bak b/.hg/Trashcan/IGisItem_APOLa5.cpp.bak
deleted file mode 100644
index 743cc15..0000000
--- a/.hg/Trashcan/IGisItem_APOLa5.cpp.bak
+++ /dev/null
@@ -1,623 +0,0 @@
-/**********************************************************************************************
- Copyright (C) 2014 Oliver Eichler oliver.eichler at gmx.de
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-**********************************************************************************************/
-
-#include "gis/IGisItem.h"
-#include "gis/CGisListWks.h"
-#include "gis/prj/IGisProject.h"
-#include "gis/trk/CGisItemTrk.h"
-#include "gis/wpt/CGisItemWpt.h"
-#include "gis/rte/CGisItemRte.h"
-#include "gis/db/macros.h"
-#include "units/IUnit.h"
-#include "canvas/CCanvas.h"
-#include "GeoMath.h"
-
-#include <QtXml>
-#include <QtWidgets>
-#include <QtSql>
-
-QMutex IGisItem::mutexItems(QMutex::Recursive);
-
-QString IGisItem::noKey;
-
-const IGisItem::color_t IGisItem::colorMap[] =
-{
- {"Black", QColor(Qt::black)}
- ,{"DarkRed", QColor(Qt::darkRed)}
- ,{"DarkGreen", QColor(Qt::darkGreen)}
- ,{"DarkYellow", QColor(Qt::darkYellow)}
- ,{"DarkBlue", QColor(Qt::darkBlue)}
- ,{"DarkMagenta", QColor(Qt::darkMagenta)}
- ,{"DarkCyan", QColor(Qt::darkCyan)}
- ,{"LightGray", QColor(Qt::gray)}
- ,{"DarkGray", QColor(Qt::darkGray)}
- ,{"Red", QColor(Qt::red)}
- ,{"Green", QColor(Qt::green)}
- ,{"Yellow", QColor(Qt::yellow)}
- ,{"Blue", QColor(Qt::blue)}
- ,{"Magenta", QColor(Qt::magenta)}
- ,{"Cyan", QColor(Qt::cyan)}
- ,{"White", QColor(Qt::white)}
- ,{"Transparent", QColor(Qt::transparent)}
- ,{0, QColor()}
-
-};
-
-IGisItem::IGisItem(IGisProject *parent, type_e typ, int idx)
- : QTreeWidgetItem(parent, typ)
- , flags(0)
-{
- int n;
- setFlags(QTreeWidgetItem::flags() & ~Qt::ItemIsDropEnabled);
-
- if(parent == 0)
- {
- return;
- }
-
- key.project = parent->getKey();
- if(idx >= 0)
- {
- parent->removeChild(this);
- parent->insertChild(idx, this);
- }
- else
- {
- if(type() == eTypeTrk)
- {
- for(n = parent->childCount() - 2; n >= 0; n--)
- {
- /** @note The order of item types to test is given by the order items read from
- the GPX file in the CGpxProject constructor. */
-
- int childType = parent->child(n)->type();
- if(childType == eTypeTrk)
- {
- parent->removeChild(this);
- parent->insertChild(n+1, this);
- break;
- }
- }
- }
- else if(type() == eTypeRte)
- {
- for(n = parent->childCount() - 2; n >= 0; n--)
- {
- /** @note The order of item types to test is given by the order items read from
- the GPX file in the CGpxProject constructor. */
-
- int childType = parent->child(n)->type();
- if( childType == eTypeRte || childType == eTypeTrk)
- {
- parent->removeChild(this);
- parent->insertChild(n+1, this);
- break;
- }
- }
- }
- else if(type() == eTypeWpt)
- {
- for(n = parent->childCount() - 2; n >= 0; n--)
- {
- /** @note The order of item types to test is given by the order items read from
- the GPX file in the CGpxProject constructor. */
-
- int childType = parent->child(n)->type();
- if(childType == eTypeWpt || childType == eTypeRte || childType == eTypeTrk)
- {
- parent->removeChild(this);
- parent->insertChild(n+1, this);
- break;
- }
- }
- }
- else if(type() == eTypeOvl)
- {
- for(n = parent->childCount() - 2; n >= 0; n--)
- {
- /** @note The order of item types to test is given by the order items read from
- the GPX file in the CGpxProject constructor. */
-
- int childType = parent->child(n)->type();
- if(childType == eTypeOvl || childType == eTypeWpt || childType == eTypeRte || childType == eTypeTrk)
- {
- parent->removeChild(this);
- parent->insertChild(n+1, this);
- break;
- }
- }
- }
-
- if(n < 0)
- {
- parent->removeChild(this);
- parent->insertChild(0, this);
- }
- }
-}
-
-IGisItem::~IGisItem()
-{
-
-}
-
-void IGisItem::genKey()
-{
- if(key.item.isEmpty())
- {
- QByteArray buffer;
- QDataStream stream(&buffer, QIODevice::WriteOnly);
- stream.setByteOrder(QDataStream::LittleEndian);
- stream.setVersion(QDataStream::Qt_5_2);
-
- *this >> stream;
-
- QCryptographicHash md5(QCryptographicHash::Md5);
- md5.addData(buffer);
- key.item = md5.result().toHex();
- }
-}
-
-void IGisItem::loadFromDb(quint64 id, QSqlDatabase& db)
-{
- QSqlQuery query(db);
- query.prepare("SELECT data FROM items WHERE id=:id");
- query.bindValue(":id", id);
- QUERY_EXEC(return);
- if(query.next())
- {
- QByteArray data(query.value(0).toByteArray());
- QDataStream in(&data, QIODevice::ReadOnly);
- in.setByteOrder(QDataStream::LittleEndian);
- in.setVersion(QDataStream::Qt_5_2);
- in >> history;
- loadHistory(history.histIdxCurrent);
- }
-}
-
-QString IGisItem::getNameEx() const
-{
- QString str = getName();
- IGisProject * project = dynamic_cast<IGisProject*>(parent());
- if(project)
- {
- str += " @ " + project->getName();
- }
- return str;
-}
-
-
-void IGisItem::updateDecoration(mark_e enable, mark_e disable)
-{
- // update text and icon
- setToolTip(CGisListWks::eColumnName,getInfo());
- setText(CGisListWks::eColumnName, getName());
- setSymbol();
-
- // update project if necessary
- IGisProject * project = dynamic_cast<IGisProject*>(parent());
- if(project && (enable & eMarkChanged))
- {
- project->setText(CGisListWks::eColumnDecoration,"*");
- }
-
- // set marks in column 1
- quint32 mask = data(1,Qt::UserRole).toUInt();
- mask |= enable;
- mask &= ~disable;
- setData(1, Qt::UserRole, mask);
-
- QString str;
- if(mask & eMarkChanged)
- {
- str += "*";
- }
- setText(CGisListWks::eColumnDecoration, str);
-}
-
-
-void IGisItem::changed(const QString &what, const QString &icon)
-{
- /*
- If item gets changed but if it's origin is not QMapShack
- then it is assumed to be tainted, as imported data should
- never be changed without notice.
- */
- if(!(flags & eFlagCreatedInQms))
- {
- flags |= eFlagTainted;
- }
-
- // forget all history entries after the current entry
- for(int i = history.events.size() - 1; i > history.histIdxCurrent; i--)
- {
- history.events.pop_back();
- }
-
- // append history by new entry
- history.events << history_event_t();
- history_event_t& event = history.events.last();
- event.time = QDateTime::currentDateTimeUtc();
- event.comment = what;
- event.icon = icon;
-
- QDataStream stream(&event.data, QIODevice::WriteOnly);
- stream.setByteOrder(QDataStream::LittleEndian);
- stream.setVersion(QDataStream::Qt_5_2);
-
- *this >> stream;
-
- QCryptographicHash md5(QCryptographicHash::Md5);
- md5.addData(event.data);
- event.hash = md5.result().toHex();
-
- history.histIdxCurrent = history.events.size() - 1;
-
- updateDecoration(eMarkChanged, eMarkNone);
-}
-
-void IGisItem::setupHistory()
-{
- history.histIdxInitial = -1;
- history.histIdxCurrent = -1;
-
- // if history is empty setup an initial item
- if(history.events.isEmpty())
- {
- history.events << history_event_t();
- history_event_t& event = history.events.last();
- event.time = QDateTime::currentDateTimeUtc();
- event.comment = QObject::tr("Initial version.");
- event.icon = "://icons/48x48/Start.png";
- }
-
- // search for the first item with data
- for(int i = 0; i < history.events.size(); i++)
- {
- if(!history.events[i].data.isEmpty())
- {
- history.histIdxInitial = i;
- break;
- }
- }
-
- // if no initial item can be found fill the last item with data
- // and make it the initial item
- if(history.histIdxInitial == -1)
- {
- history_event_t& event = history.events.last();
-
- QDataStream stream(&event.data, QIODevice::WriteOnly);
- stream.setByteOrder(QDataStream::LittleEndian);
- stream.setVersion(QDataStream::Qt_5_2);
- *this >> stream;
-
- QCryptographicHash md5(QCryptographicHash::Md5);
- md5.addData(event.data);
- event.hash = md5.result().toHex();
-
- history.histIdxInitial = history.events.size() - 1;
- }
-
- history.histIdxCurrent = history.events.size() - 1;
-}
-
-void IGisItem::loadHistory(int idx)
-{
- // test for bad index
- if((idx >= history.events.size()) || (idx < 0))
- {
- return;
- }
-
- history_event_t& event = history.events[idx];
-
- // test for no data
- if(event.data.isEmpty())
- {
- return;
- }
-
- // restore item from history entry
- QDataStream stream(&event.data, QIODevice::ReadOnly);
- stream.setByteOrder(QDataStream::LittleEndian);
- stream.setVersion(QDataStream::Qt_5_2);
- *this << stream;
-
- history.histIdxCurrent = idx;
-}
-
-void IGisItem::cutHistory()
-{
- while(history.events.size() > (history.histIdxCurrent + 1))
- {
- history.events.pop_back();
- }
-}
-
-bool IGisItem::isReadOnly() const
-{
- return !(flags & eFlagWriteAllowed);
-}
-
-bool IGisItem::isTainted() const
-{
- return (flags & eFlagTainted);
-}
-
-void IGisItem::setReadOnlyMode(bool readOnly)
-{
- if(!(flags & (eFlagCreatedInQms|eFlagTainted)))
- {
- if(isReadOnly() && !readOnly)
- {
- QString str = QObject::tr("This element is probably read-only because it was not created within QMapShack. Usually you should not want to change imported data. But if you think that is ok press'Ok'.");
- if(QMessageBox::warning(0, QObject::tr("Read Only Mode..."), str, QMessageBox::Ok|QMessageBox::Abort, QMessageBox::Ok) != QMessageBox::Ok)
- {
- return;
- }
- }
- }
-
- if(readOnly)
- {
- flags &= ~eFlagWriteAllowed;
- }
- else
- {
- flags |= eFlagWriteAllowed;
- }
-}
-
-
-const IGisItem::key_t &IGisItem::getKey()
-{
- if(key.item.isEmpty())
- {
- genKey();
- }
- return key;
-}
-
-QColor IGisItem::str2color(const QString& name)
-{
- QColor ref(name);
- const color_t * p = colorMap;
- while(p->name)
- {
- if(p->color == ref)
- {
- return p->color;
- }
- p++;
- }
-
- return QColor();
-}
-
-QString IGisItem::color2str(const QColor& color)
-{
- const color_t * p = colorMap;
- while(p->name)
- {
- if(p->color == color)
- {
- return p->name;
- }
- p++;
- }
-
- return "";
-}
-
-void IGisItem::splitLineToViewport(const QPolygonF& line, const QRectF& extViewport, QList<QPolygonF>& lines)
-{
- int i;
- QPointF pt, ptt, pt1;
- QPolygonF subline;
- const int size = line.size();
-
- pt = line[0];
- subline << pt;
-
- for(i = 1; i < size; i++)
- {
- pt1 = line[i];
-
- if(!GPS_Math_LineCrossesRect(pt, pt1, extViewport))
- {
- pt = pt1;
- if(subline.size() > 1)
- {
- lines << subline;
- }
- subline.clear();
- subline << pt;
- continue;
- }
-
- ptt = pt1 - pt;
- if(ptt.manhattanLength() < 5)
- {
- continue;
- }
-
- subline << pt1;
- pt = pt1;
- }
-
- if(subline.size() > 1)
- {
- lines << subline;
- }
-
-}
-
-void IGisItem::drawArrows(const QPolygonF& line, const QRectF& extViewport, QPainter& p)
-{
- QPointF arrow[4] =
- {
- QPointF( 20.0, 7.0), //front
- QPointF( 0.0, 0.0), //upper tail
- QPointF( 5.0, 7.0), //mid tail
- QPointF( 0.0, 15.0) //lower tail
- };
-
- QPointF pt, pt1, ptt;
-
- // draw direction arrows
- bool start = true;
- qreal heading;
-
- //generate arrow pic on-the-fly
- QImage arrow_pic(21,16, QImage::Format_ARGB32);
- arrow_pic.fill( qRgba(0,0,0,0));
- QPainter t_paint(&arrow_pic);
- USE_ANTI_ALIASING(t_paint, true);
- t_paint.setPen(QPen(Qt::white, 2));
- t_paint.setBrush(p.brush());
- t_paint.drawPolygon(arrow, 4);
- t_paint.end();
-
- foreach(pt,line)
- {
- if(start) // no arrow on the first loop
- {
- start = false;
- }
- else
- {
- if(!extViewport.contains(pt))
- {
- pt1 = pt;
- continue;
- }
- if((qAbs(pt.x() - pt1.x()) + qAbs(pt.y() - pt1.y())) < 7)
- {
- pt1 = pt;
- continue;
- }
- // keep distance
- if((qAbs(pt.x() - ptt.x()) + qAbs(pt.y() - ptt.y())) > 100)
- {
- if(0 != pt.x() - pt1.x() && (pt.y() - pt1.y()))
- {
- heading = ( atan2((qreal)(pt.y() - pt1.y()), (qreal)(pt.x() - pt1.x())) * 180.) / M_PI;
-
- p.save();
- // draw arrow between bullets
- p.translate((pt.x() + pt1.x())/2,(pt.y() + pt1.y())/2);
- p.rotate(heading);
- p.drawImage(-11, -7, arrow_pic);
- p.restore();
- //remember last point
- ptt = pt;
- }
- }
- }
- pt1 = pt;
- }
-}
-
-QString IGisItem::removeHtml(const QString &str)
-{
- QTextDocument html;
- html.setHtml(str);
- return html.toPlainText();
-}
-
-
-QString IGisItem::toLink(bool isReadOnly, const QString& href, const QString& str)
-{
- if(isReadOnly)
- {
- return QString("%1").arg(str);
- }
-
- return QString("<a href='%1'>%2</a>").arg(href).arg(str);
-}
-
-QString IGisItem::createText(bool isReadOnly, const QString& cmt, const QString& desc, const QList<link_t>& links)
-{
- QString str;
-
- str += toLink(isReadOnly, "comment", QObject::tr("<h4>Comment:</h4>"));
- if(removeHtml(cmt).simplified().isEmpty())
- {
- str += QObject::tr("<p>--- no comment ---</p>");
- }
- else
- {
- str += cmt;
- }
-
- str += toLink(isReadOnly, "description", QObject::tr("<h4>Description:</h4>"));
- if(removeHtml(desc).simplified().isEmpty())
- {
- str += QObject::tr("<p>--- no description ---</p>");
- }
- else
- {
- str += desc;
- }
-
- str += toLink(isReadOnly, "links", QObject::tr("<h4>Links:</h4>"));
- if(links.isEmpty())
- {
- str += QObject::tr("<p>--- no links ---</p>");
- }
- else
- {
- foreach(const link_t& link, links)
- {
- str += QString("<p><a href='%1'>%2</a></p>").arg(link.uri.toString()).arg(link.text);
- }
- }
-
- return str;
-}
-
-QString IGisItem::createText(bool isReadOnly, const QString& desc, const QList<link_t>& links)
-{
- QString str;
-
- str += toLink(isReadOnly, "description", QObject::tr("<h4>Description:</h4>"));
- if(removeHtml(desc).simplified().isEmpty())
- {
- str += QObject::tr("<p>--- no description ---</p>");
- }
- else
- {
- str += desc;
- }
-
- str += toLink(isReadOnly, "links", QObject::tr("<h4>Links:</h4>"));
- if(links.isEmpty())
- {
- str += QObject::tr("<p>--- no links ---</p>");
- }
- else
- {
- foreach(const link_t& link, links)
- {
- str += QString("<p><a href='%1'>%2</a></p>").arg(link.uri.toString()).arg(link.text);
- }
- }
-
- return str;
-}
diff --git a/.hg/Trashcan/IGisItem_GNArfG.h.bak b/.hg/Trashcan/IGisItem_GNArfG.h.bak
deleted file mode 100644
index ff21eb0..0000000
--- a/.hg/Trashcan/IGisItem_GNArfG.h.bak
+++ /dev/null
@@ -1,375 +0,0 @@
-/**********************************************************************************************
- Copyright (C) 2014 Oliver Eichler oliver.eichler at gmx.de
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-**********************************************************************************************/
-
-#ifndef IGISITEM_H
-#define IGISITEM_H
-
-#include <QTreeWidgetItem>
-
-#include <QDateTime>
-#include <QString>
-#include <QStringList>
-#include <QMap>
-#include <QVariant>
-#include <QUrl>
-#include <QDomNode>
-#include <QMutex>
-#include <QColor>
-
-#include "units/IUnit.h"
-
-class CGisDraw;
-class IScrOpt;
-class IMouse;
-class QSqlDatabase;
-class IGisProject;
-
-
-class IGisItem : public QTreeWidgetItem
-{
-
- public:
- struct history_event_t
- {
- QDateTime time;
- QString hash;
- QString icon;
- QString comment;
- QByteArray data;
- };
-
- struct history_t
- {
- qint32 histIdxInitial;
- qint32 histIdxCurrent;
- QList<history_event_t> events;
- };
-
-
- struct link_t
- {
- QUrl uri;
- QString text;
- QString type;
- };
-
- struct wpt_t
- {
- wpt_t() :
- lat(NOFLOAT),
- lon(NOFLOAT),
- ele(NOINT),
- magvar(NOINT),
- geoidheight(NOINT),
- sat(NOINT),
- hdop(NOINT),
- vdop(NOINT),
- pdop(NOINT),
- ageofdgpsdata(NOINT),
- dgpsid(NOINT)
- {}
- // -- all gpx tags - start
- qreal lat;
- qreal lon;
- qint32 ele;
- QDateTime time;
- qint32 magvar;
- qint32 geoidheight;
- QString name;
- QString cmt;
- QString desc;
- QString src;
- QList<link_t> links;
- QString sym;
- QString type;
- QString fix;
- qint32 sat;
- qint32 hdop;
- qint32 vdop;
- qint32 pdop;
- qint32 ageofdgpsdata;
- qint32 dgpsid;
- // -- all gpx tags - stop
- QMap<QString, QVariant> extensions;
- };
-
- /// never ever change these numbers. it will break binary data files
- enum type_e
- {
- eTypeWpt = 1
- , eTypeTrk = 2
- , eTypeRte = 3
- , eTypeOvl = 4
- , eTypeMax = 5
- };
-
- enum mark_e
- {
- eMarkNone = 0
- ,eMarkChanged = 0x00000001
- };
-
- struct key_t
- {
- bool operator==(const key_t& k) const {return ((item == k.item) && (project == k.project));}
- bool operator!=(const key_t& k) const {return ((item != k.item) || (project != k.project));}
- void clear(){item.clear(); project.clear();}
- QString item;
- QString project;
- };
-
- IGisItem(IGisProject *parent, type_e typ, int idx);
- virtual ~IGisItem();
-
- /// this mutex has to be locked when ever the item list is accessed.
- static QMutex mutexItems;
-
- /**
- @brief Update the visual representation of the QTreeWidgetItem
- @param enable
- @param disable
- */
- virtual void updateDecoration(mark_e enable, mark_e disable);
-
- /**
- @brief Save the item's data into a GPX structure
- @param gpx the files <gpx> tag to attach the data to
- */
- virtual void save(QDomNode& gpx) = 0;
-
- /**
- @brief Get key string to identify object
- @return
- */
- const key_t& getKey();
-
-
- /**
- @brief Get the icon attached to object
- @return
- */
- virtual const QPixmap& getIcon() const {return icon;}
- /**
- @brief Get name of this item.
- @return A reference to the internal string object
- */
- virtual const QString& getName() const = 0;
-
- /**
- @brief Get name of this item extended by the project name
- @return A string object.
- */
- virtual QString getNameEx() const;
-
- /**
- @brief Get a short string with the items properties to be displayed in tool tips or similar
- @return A string object.
- */
- virtual QString getInfo() const = 0;
-
- /**
- @brief Edit content of item.
-
- This is quite dependent on the item. The default implemntation does nothing. It has to be
- overwritten and the item has to generate what ever is needed to edit/view it's details.
-
- */
- virtual void edit(){}
-
- /**
- @brief Get the dimension of the item
-
- All coordinates are in Rad. Items with no
-
- @return
- */
- virtual const QRectF& getBoundingRect() const {return boundingRect;}
-
- /**
- @brief Get screen option object to display and handle actions for this item.
- @param mouse a pointer to the mouse object initiating the action
- @return A null pointer is returned if no screen option are available
- */
- virtual IScrOpt * getScreenOptions(const QPoint& origin, IMouse * mouse){return 0;}
-
- /**
- @brief Get a point of the item that is close by the given screen pixel coordinate
- @param point a point in screen pixels
- @return If no point is found NOPOINTF is returned.
- */
- virtual QPointF getPointCloseBy(const QPoint& point){return NOPOINTF;}
-
- /**
- @brief Test if the item is close to a given pixel coordinate of the screen
-
- @param pos the coordinate on the screen in pixel
- @return If no point can be found NOPOINTF is returned.
- */
- virtual bool isCloseTo(const QPointF& pos) = 0;
-
- /**
- @brief Query if this item is read only
- @return True if it is read only.
- */
- bool isReadOnly() const;
-
- /**
- @brief Query if the item is imported and was changed
- @return True if content was changed.
- */
- bool isTainted() const;
- /**
- @brief Set the read only mode.
-
- This is quite dependent on the item. The default implementation will display a
- message box with a warning and ask the user to confirm.
-
- @param readOnly set true to make item read only
- */
- virtual void setReadOnlyMode(bool readOnly);
-
- virtual void drawItem(QPainter& p, const QRectF& viewport, QList<QRectF>& blockedAreas, CGisDraw * gis) = 0;
- virtual void drawItem(QPainter& p, const QRectF& viewport, CGisDraw * gis){}
- virtual void drawLabel(QPainter& p, const QRectF& viewport,QList<QRectF>& blockedAreas, const QFontMetricsF& fm, CGisDraw * gis) = 0;
- virtual void drawHighlight(QPainter& p) = 0;
-
- virtual void gainUserFocus(bool yes) = 0;
-
- /**
- @brief Check for user focus
-
- @return True if the item has user focus. The default implementation is always false.
- */
- virtual bool hasUserFocus() const {return false;}
-
-
- /**
- @brief Serialize object out of a QDataStream
-
- See CGisSerialization.cpp for implementation
-
- @param stream the binary data stream
- @return The stream object.
- */
- virtual QDataStream& operator<<(QDataStream& stream) = 0;
- /**
- @brief Serialize object into a QDataStream
-
- See CGisSerialization.cpp for implementation
-
- @param stream the binary data stream
- @return The stream object.
- */
- virtual QDataStream& operator>>(QDataStream& stream) = 0;
-
- /**
- @brief Get read access to history of changes
-
- @return A reference to the history structure.
- */
- const history_t& getHistory() const {return history;}
-
- /**
- @brief Load a given state of chnage from the history
- @param idx
- */
- void loadHistory(int idx);
-
- void cutHistory();
-
- static QString removeHtml(const QString &str);
- static QString createText(bool isReadOnly, const QString& cmt, const QString& desc, const QList<link_t>& links);
- static QString createText(bool isReadOnly, const QString& desc, const QList<link_t>& links);
- static QString toLink(bool isReadOnly, const QString& href, const QString& str);
-
- static QString noKey;
-
- protected:
- struct color_t;
-
- /// set icon of QTreeWidgetItem
- virtual void setSymbol() = 0;
- /// read waypoint data from an XML snippet
- void readWpt(const QDomNode& xml, wpt_t &wpt);
- /// write waypoint data to an XML snippet
- void writeWpt(QDomElement &xml, const wpt_t &wpt);
- /// gnerate a unique key from item's data
- virtual void genKey();
- /// setup the history structure right after the creation of the item
- void setupHistory();
- /// convert a color string from GPX to a QT color
- QColor str2color(const QString& name);
- /// convertr a QT color to a string to be used in a GPX file
- QString color2str(const QColor &color);
- /// to optimize drawing of large polylines split the line into sections that are visible
- void splitLineToViewport(const QPolygonF& line, const QRectF& extViewport, QList<QPolygonF>& lines);
- /// ditribute arrows over a polyline
- void drawArrows(const QPolygonF &line, const QRectF &extViewport, QPainter& p);
- /// call when ever you make a change to the item's data
- virtual void changed(const QString& what, const QString& icon);
-
- virtual void loadFromDb(quint64 id, QSqlDatabase& db);
-
- quint32 flags;
- key_t key;
- QString hash;
- QPixmap icon;
- QRectF boundingRect;
-
- history_t history;
-
-
- static const color_t colorMap[];
-
-
- struct color_t
- {
- const char * name;
- QColor color;
- };
-
-
- enum flags_e
- {
- eFlagCreatedInQms = 0x00000001
- ,eFlagWriteAllowed = 0x00000002
- ,eFlagTainted = 0x00000004
- };
-
-
-
- static inline bool isBlocked(const QRectF& rect, const QList<QRectF> &blockedAreas)
- {
- foreach(const QRectF& r, blockedAreas)
- {
- if(rect.intersects(r))
- {
- return true;
- }
- }
- return false;
- }
-
-
-};
-
-QDataStream& operator>>(QDataStream& stream, IGisItem::history_t& h);
-QDataStream& operator<<(QDataStream& stream, const IGisItem::history_t& h);
-
-#endif //IGISITEM_H
-
diff --git a/.hg/Trashcan/IGisItem_SGAlUU.cpp.bak b/.hg/Trashcan/IGisItem_SGAlUU.cpp.bak
deleted file mode 100644
index 247cdf6..0000000
--- a/.hg/Trashcan/IGisItem_SGAlUU.cpp.bak
+++ /dev/null
@@ -1,286 +0,0 @@
-/**********************************************************************************************
- Copyright (C) 2014 Oliver Eichler oliver.eichler at gmx.de
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-**********************************************************************************************/
-
-#include "gis/IGisItem.h"
-#include "units/IUnit.h"
-#include "canvas/CCanvas.h"
-#include "GeoMath.h"
-
-#include <QtXml>
-#include <QtWidgets>
-
-QMutex IGisItem::mutexItems(QMutex::Recursive);
-
-const IGisItem::color_t IGisItem::colorMap[] =
-{
- {"Black", QColor(Qt::black)}
- ,{"DarkRed", QColor(Qt::darkRed)}
- ,{"DarkGreen", QColor(Qt::darkGreen)}
- ,{"DarkYellow", QColor(Qt::darkYellow)}
- ,{"DarkBlue", QColor(Qt::darkBlue)}
- ,{"DarkMagenta", QColor(Qt::darkMagenta)}
- ,{"DarkCyan", QColor(Qt::darkCyan)}
- ,{"LightGray", QColor(Qt::gray)}
- ,{"DarkGray", QColor(Qt::darkGray)}
- ,{"Red", QColor(Qt::red)}
- ,{"Green", QColor(Qt::green)}
- ,{"Yellow", QColor(Qt::yellow)}
- ,{"Blue", QColor(Qt::blue)}
- ,{"Magenta", QColor(Qt::magenta)}
- ,{"Cyan", QColor(Qt::cyan)}
- ,{"White", QColor(Qt::white)}
- ,{"Transparent", QColor(Qt::transparent)}
- ,{0, QColor()}
-
-};
-
-IGisItem::IGisItem(QTreeWidgetItem *parent)
- : QTreeWidgetItem(parent)
-{
-
-}
-
-IGisItem::~IGisItem()
-{
-
-}
-
-void IGisItem::readWpt(const QDomNode& xml, wpt_t& wpt)
-{
- const QDomNamedNodeMap& attr = xml.attributes();
- wpt.lat = attr.namedItem("lat").nodeValue().toDouble();
- wpt.lon = attr.namedItem("lon").nodeValue().toDouble();
-
- readXml(xml, "ele", wpt.ele);
- readXml(xml, "time", wpt.time);
- readXml(xml, "magvar", wpt.magvar);
- readXml(xml, "geoidheight", wpt.geoidheight);
- readXml(xml, "name", wpt.name);
- readXml(xml, "cmt", wpt.cmt);
- readXml(xml, "desc", wpt.desc);
- readXml(xml, "src", wpt.src);
- readXml(xml, "link", wpt.links);
- readXml(xml, "sym", wpt.sym);
- readXml(xml, "type", wpt.type);
- readXml(xml, "fix", wpt.fix);
- readXml(xml, "sat", wpt.sat);
- readXml(xml, "hdop", wpt.hdop);
- readXml(xml, "vdop", wpt.vdop);
- readXml(xml, "pdop", wpt.pdop);
- readXml(xml, "ageofdgpsdata", wpt.ageofdgpsdata);
- readXml(xml, "dgpsid", wpt.dgpsid);
-
- // some GPX 1.0 backward compatibility
- QString url;
- readXml(xml, "url", url);
- if(!url.isEmpty())
- {
- link_t link;
- link.uri.setUrl(url);
- readXml(xml, "urlname", link.text);
-
- wpt.links << link;
- }
-
-}
-
-
-void IGisItem::writeWpt(QDomElement& xml, const wpt_t& wpt)
-{
- QString str;
-
- str.sprintf("%1.8f", wpt.lat);
- xml.setAttribute("lat",str);
- str.sprintf("%1.8f", wpt.lon);
- xml.setAttribute("lon",str);
-
- writeXml(xml, "ele", wpt.ele);
- writeXml(xml, "time", wpt.time);
- writeXml(xml, "magvar", wpt.magvar);
- writeXml(xml, "geoidheight", wpt.geoidheight);
- writeXml(xml, "name", wpt.name);
- writeXml(xml, "cmt", wpt.cmt);
- writeXml(xml, "desc", wpt.desc);
- writeXml(xml, "src", wpt.src);
- writeXml(xml, "link", wpt.links);
- writeXml(xml, "sym", wpt.sym);
- writeXml(xml, "type", wpt.type);
- writeXml(xml, "fix", wpt.fix);
- writeXml(xml, "sat", wpt.sat);
- writeXml(xml, "hdop", wpt.hdop);
- writeXml(xml, "vdop", wpt.vdop);
- writeXml(xml, "pdop", wpt.pdop);
- writeXml(xml, "ageofdgpsdata", wpt.ageofdgpsdata);
- writeXml(xml, "dgpsid", wpt.dgpsid);
-
-}
-
-const QString& IGisItem::getKey()
-{
- if(key.isEmpty())
- {
- genKey();
- }
- return key;
-}
-
-QColor IGisItem::str2color(const QString& name)
-{
- const color_t * p = colorMap;
- while(p->name)
- {
- if(p->name == name)
- {
- return p->color;
- }
- p++;
- }
-
- return QColor();
-}
-
-QString IGisItem::color2str(const QColor& color)
-{
- const color_t * p = colorMap;
- while(p->name)
- {
- if(p->color == color)
- {
- return p->name;
- }
- p++;
- }
-
- return "";
-}
-
-void IGisItem::splitLineToViewport(const QPolygonF& line, const QRectF& extViewport, QList<QPolygonF>& lines)
-{
- int i;
- QPointF pt, ptt, pt1;
- QPolygonF subline;
- const int size = line.size();
-
- pt = line[0];
- subline << pt;
-
- for(i = 1; i < size; i++)
- {
- pt1 = line[i];
-
- if(!GPS_Math_LineCrossesRect(pt, pt1, extViewport))
- {
- pt = pt1;
- if(subline.size() > 1)
- {
- lines << subline;
- }
- subline.clear();
- subline << pt;
- continue;
- }
-
- ptt = pt1 - pt;
- if(ptt.manhattanLength() < 5)
- {
- continue;
- }
-
- subline << pt1;
- pt = pt1;
- }
-
- if(subline.size() > 1)
- {
- lines << subline;
- }
-
-}
-
-void IGisItem::drawArrows(const QPolygonF& line, const QRectF& extViewport, QPainter& p)
-{
- QPointF arrow[4] =
- {
- QPointF( 20.0, 7.0), //front
- QPointF( 0.0, 0.0), //upper tail
- QPointF( 5.0, 7.0), //mid tail
- QPointF( 0.0, 15.0) //lower tail
- };
-
- QPointF pt, pt1, ptt;
-
- // draw direction arrows
- bool start = true;
- double heading;
-
- //generate arrow pic on-the-fly
- QImage arrow_pic(21,16, QImage::Format_ARGB32);
- arrow_pic.fill( qRgba(0,0,0,0));
- QPainter t_paint(&arrow_pic);
- USE_ANTI_ALIASING(t_paint, true);
- t_paint.setPen(QPen(Qt::white, 2));
- t_paint.setBrush(p.brush());
- t_paint.drawPolygon(arrow, 4);
- t_paint.end();
-
- foreach(pt,line)
- {
- if(start) // no arrow on the first loop
- {
- start = false;
- }
- else
- {
- if(!extViewport.contains(pt))
- {
- pt1 = pt;
- continue;
- }
- if((qAbs(pt.x() - pt1.x()) + qAbs(pt.y() - pt1.y())) < 7)
- {
- pt1 = pt;
- continue;
- }
- // keep distance
- if((qAbs(pt.x() - ptt.x()) + qAbs(pt.y() - ptt.y())) > 100)
- {
- if(0 != pt.x() - pt1.x() && (pt.y() - pt1.y()))
- {
- heading = ( atan2((double)(pt.y() - pt1.y()), (double)(pt.x() - pt1.x())) * 180.) / M_PI;
-
- p.save();
- // draw arrow between bullets
- p.translate((pt.x() + pt1.x())/2,(pt.y() + pt1.y())/2);
- p.rotate(heading);
- p.drawImage(-11, -7, arrow_pic);
- p.restore();
- //remember last point
- ptt = pt;
- }
- }
- }
- pt1 = pt;
- }
-}
-
-void IGisItem::removeHtml(QString &str)
-{
- QTextDocument html;
- html.setHtml(str);
- str = html.toPlainText();
-}
diff --git a/.hg/Trashcan/IGisItem_W2uRAd.cpp.bak b/.hg/Trashcan/IGisItem_W2uRAd.cpp.bak
deleted file mode 100644
index 7b2ad6d..0000000
--- a/.hg/Trashcan/IGisItem_W2uRAd.cpp.bak
+++ /dev/null
@@ -1,714 +0,0 @@
-/**********************************************************************************************
- Copyright (C) 2014 Oliver Eichler oliver.eichler at gmx.de
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-**********************************************************************************************/
-
-#include "GeoMath.h"
-#include "canvas/CCanvas.h"
-#include "gis/CGisDraw.h"
-#include "gis/CGisListWks.h"
-#include "gis/IGisItem.h"
-#include "gis/db/macros.h"
-#include "gis/prj/IGisProject.h"
-#include "gis/rte/CGisItemRte.h"
-#include "gis/trk/CGisItemTrk.h"
-#include "gis/wpt/CGisItemWpt.h"
-#include "units/IUnit.h"
-
-#include <QtSql>
-#include <QtWidgets>
-#include <QtXml>
-
-QMutex IGisItem::mutexItems(QMutex::Recursive);
-
-QString IGisItem::noKey;
-
-const IGisItem::color_t IGisItem::colorMap[] =
-{
- {"Black", QColor(Qt::black)}
- ,{"DarkRed", QColor(Qt::darkRed)}
- ,{"DarkGreen", QColor(Qt::darkGreen)}
- ,{"DarkYellow", QColor(Qt::darkYellow)}
- ,{"DarkBlue", QColor(Qt::darkBlue)}
- ,{"DarkMagenta", QColor(Qt::darkMagenta)}
- ,{"DarkCyan", QColor(Qt::darkCyan)}
- ,{"LightGray", QColor(Qt::gray)}
- ,{"DarkGray", QColor(Qt::darkGray)}
- ,{"Red", QColor(Qt::red)}
- ,{"Green", QColor(Qt::green)}
- ,{"Yellow", QColor(Qt::yellow)}
- ,{"Blue", QColor(Qt::blue)}
- ,{"Magenta", QColor(Qt::magenta)}
- ,{"Cyan", QColor(Qt::cyan)}
- ,{"White", QColor(Qt::white)}
- ,{"Transparent", QColor(Qt::transparent)}
- ,{0, QColor()}
-};
-
-IGisItem::IGisItem(IGisProject *parent, type_e typ, int idx)
- : QTreeWidgetItem(parent, typ)
- , flags(0)
-{
- int n = -1;
- setFlags(QTreeWidgetItem::flags() & ~Qt::ItemIsDropEnabled);
-
- if(parent == 0)
- {
- return;
- }
-
- key.project = parent->getKey();
- key.device = parent->getDeviceKey();
-
- if(idx >= 0)
- {
- parent->removeChild(this);
- parent->insertChild(idx, this);
- }
- else
- {
- if(type() == eTypeTrk)
- {
- for(n = parent->childCount() - 2; n >= 0; n--)
- {
- /** @note The order of item types to test is given by the order items read from
- the GPX file in the CGpxProject constructor. */
-
- int childType = parent->child(n)->type();
- if(childType == eTypeTrk)
- {
- parent->removeChild(this);
- parent->insertChild(n+1, this);
- break;
- }
- }
- }
- else if(type() == eTypeRte)
- {
- for(n = parent->childCount() - 2; n >= 0; n--)
- {
- /** @note The order of item types to test is given by the order items read from
- the GPX file in the CGpxProject constructor. */
-
- int childType = parent->child(n)->type();
- if( childType == eTypeRte || childType == eTypeTrk)
- {
- parent->removeChild(this);
- parent->insertChild(n+1, this);
- break;
- }
- }
- }
- else if(type() == eTypeWpt)
- {
- for(n = parent->childCount() - 2; n >= 0; n--)
- {
- /** @note The order of item types to test is given by the order items read from
- the GPX file in the CGpxProject constructor. */
-
- int childType = parent->child(n)->type();
- if(childType == eTypeWpt || childType == eTypeRte || childType == eTypeTrk)
- {
- parent->removeChild(this);
- parent->insertChild(n+1, this);
- break;
- }
- }
- }
- else if(type() == eTypeOvl)
- {
- for(n = parent->childCount() - 2; n >= 0; n--)
- {
- /** @note The order of item types to test is given by the order items read from
- the GPX file in the CGpxProject constructor. */
-
- int childType = parent->child(n)->type();
- if(childType == eTypeOvl || childType == eTypeWpt || childType == eTypeRte || childType == eTypeTrk)
- {
- parent->removeChild(this);
- parent->insertChild(n+1, this);
- break;
- }
- }
- }
-
- if(n < 0)
- {
- parent->removeChild(this);
- parent->insertChild(0, this);
- }
- }
-}
-
-IGisItem::~IGisItem()
-{
-}
-
-void IGisItem::genKey()
-{
- if(key.item.isEmpty())
- {
- QByteArray buffer;
- QDataStream stream(&buffer, QIODevice::WriteOnly);
- stream.setByteOrder(QDataStream::LittleEndian);
- stream.setVersion(QDataStream::Qt_5_2);
-
- *this >> stream;
-
- QCryptographicHash md5(QCryptographicHash::Md5);
- md5.addData(buffer);
- key.item = md5.result().toHex();
- }
- if(key.project.isEmpty())
- {
- IGisProject * project = dynamic_cast<IGisProject*>(parent());
- if(project)
- {
- key.project = project->getKey();
- }
- }
-}
-
-void IGisItem::loadFromDb(quint64 id, QSqlDatabase& db)
-{
- QSqlQuery query(db);
- query.prepare("SELECT data FROM items WHERE id=:id");
- query.bindValue(":id", id);
- QUERY_EXEC(return );
- if(query.next())
- {
- QByteArray data(query.value(0).toByteArray());
- QDataStream in(&data, QIODevice::ReadOnly);
- in.setByteOrder(QDataStream::LittleEndian);
- in.setVersion(QDataStream::Qt_5_2);
- in >> history;
- loadHistory(history.histIdxCurrent);
- }
-}
-
-QString IGisItem::getNameEx() const
-{
- QString str = getName();
- IGisProject * project = dynamic_cast<IGisProject*>(parent());
- if(project)
- {
- str += " @ " + project->getName();
- }
- return str;
-}
-
-
-void IGisItem::updateDecoration(mark_e enable, mark_e disable)
-{
- // update text and icon
- setToolTip(CGisListWks::eColumnName,getInfo());
- setText(CGisListWks::eColumnName, getName());
- setSymbol();
-
- // update project if necessary
- IGisProject * project = dynamic_cast<IGisProject*>(parent());
- if(project && (enable & eMarkChanged))
- {
- project->setText(CGisListWks::eColumnDecoration,"*");
- }
-
- // set marks in column 1
- quint32 mask = data(1,Qt::UserRole).toUInt();
- mask |= enable;
- mask &= ~disable;
- setData(1, Qt::UserRole, mask);
-
- QString str;
- if(mask & eMarkChanged)
- {
- str += "*";
- }
- setText(CGisListWks::eColumnDecoration, str);
-}
-
-
-void IGisItem::changed(const QString &what, const QString &icon)
-{
- /*
- If item gets changed but if it's origin is not QMapShack
- then it is assumed to be tainted, as imported data should
- never be changed without notice.
- */
- if(!(flags & eFlagCreatedInQms))
- {
- flags |= eFlagTainted;
- }
-
- // forget all history entries after the current entry
- for(int i = history.events.size() - 1; i > history.histIdxCurrent; i--)
- {
- history.events.pop_back();
- }
-
- // append history by new entry
- history.events << history_event_t();
- history_event_t& event = history.events.last();
- event.time = QDateTime::currentDateTimeUtc();
- event.comment = what;
- event.icon = icon;
-
- QDataStream stream(&event.data, QIODevice::WriteOnly);
- stream.setByteOrder(QDataStream::LittleEndian);
- stream.setVersion(QDataStream::Qt_5_2);
-
- *this >> stream;
-
- QCryptographicHash md5(QCryptographicHash::Md5);
- md5.addData(event.data);
- event.hash = md5.result().toHex();
-
- history.histIdxCurrent = history.events.size() - 1;
-
- updateDecoration(eMarkChanged, eMarkNone);
-}
-
-void IGisItem::setupHistory()
-{
- history.histIdxInitial = -1;
- history.histIdxCurrent = -1;
-
- // if history is empty setup an initial item
- if(history.events.isEmpty())
- {
- history.events << history_event_t();
- history_event_t& event = history.events.last();
- event.time = QDateTime::currentDateTimeUtc();
- event.comment = QObject::tr("Initial version.");
- event.icon = "://icons/48x48/Start.png";
- }
-
- // search for the first item with data
- for(int i = 0; i < history.events.size(); i++)
- {
- if(!history.events[i].data.isEmpty())
- {
- history.histIdxInitial = i;
- break;
- }
- }
-
- // if no initial item can be found fill the last item with data
- // and make it the initial item
- if(history.histIdxInitial == -1)
- {
- history_event_t& event = history.events.last();
-
- QDataStream stream(&event.data, QIODevice::WriteOnly);
- stream.setByteOrder(QDataStream::LittleEndian);
- stream.setVersion(QDataStream::Qt_5_2);
- *this >> stream;
-
- QCryptographicHash md5(QCryptographicHash::Md5);
- md5.addData(event.data);
- event.hash = md5.result().toHex();
-
- history.histIdxInitial = history.events.size() - 1;
- }
-
- history.histIdxCurrent = history.events.size() - 1;
-}
-
-void IGisItem::loadHistory(int idx)
-{
- // test for bad index
- if((idx >= history.events.size()) || (idx < 0))
- {
- return;
- }
-
- history_event_t& event = history.events[idx];
-
- // test for no data
- if(event.data.isEmpty())
- {
- return;
- }
-
- // restore item from history entry
- QDataStream stream(&event.data, QIODevice::ReadOnly);
- stream.setByteOrder(QDataStream::LittleEndian);
- stream.setVersion(QDataStream::Qt_5_2);
- *this << stream;
-
- history.histIdxCurrent = idx;
-}
-
-void IGisItem::cutHistory()
-{
- while(history.events.size() > (history.histIdxCurrent + 1))
- {
- history.events.pop_back();
- }
-}
-
-bool IGisItem::isReadOnly() const
-{
- return !(flags & eFlagWriteAllowed) || isOnDevice();
-}
-
-bool IGisItem::isTainted() const
-{
- return flags & eFlagTainted;
-}
-
-bool IGisItem::isOnDevice() const
-{
- IGisProject * project = dynamic_cast<IGisProject*>(parent());
- if(project == 0)
- {
- return false;
- }
- return project->isOnDevice();
-}
-
-void IGisItem::setReadOnlyMode(bool readOnly)
-{
- if(!(flags & (eFlagCreatedInQms|eFlagTainted)))
- {
- if(isReadOnly() && !readOnly)
- {
- QString str = QObject::tr("This element is probably read-only because it was not created within QMapShack. Usually you should not want to change imported data. But if you think that is ok press'Ok'.");
- if(QMessageBox::warning(0, QObject::tr("Read Only Mode..."), str, QMessageBox::Ok|QMessageBox::Abort, QMessageBox::Ok) != QMessageBox::Ok)
- {
- return;
- }
- }
- }
-
- if(readOnly)
- {
- flags &= ~eFlagWriteAllowed;
- }
- else
- {
- flags |= eFlagWriteAllowed;
- }
-}
-
-
-const IGisItem::key_t &IGisItem::getKey()
-{
- if(key.item.isEmpty() || key.project.isEmpty())
- {
- genKey();
- }
- return key;
-}
-
-QColor IGisItem::str2color(const QString& name)
-{
- QColor ref(name);
- const color_t * p = colorMap;
- while(p->name)
- {
- if(p->color == ref)
- {
- return p->color;
- }
- p++;
- }
-
- return QColor();
-}
-
-QString IGisItem::color2str(const QColor& color)
-{
- const color_t * p = colorMap;
- while(p->name)
- {
- if(p->color == color)
- {
- return p->name;
- }
- p++;
- }
-
- return "";
-}
-
-void IGisItem::splitLineToViewport(const QPolygonF& line, const QRectF& extViewport, QList<QPolygonF>& lines)
-{
- int i;
- QPointF pt, ptt, pt1;
- QPolygonF subline;
- const int size = line.size();
-
- if(line.isEmpty())
- {
- return;
- }
-
- pt = line[0];
- subline << pt;
-
- for(i = 1; i < size; i++)
- {
- pt1 = line[i];
-
- if(!GPS_Math_LineCrossesRect(pt, pt1, extViewport))
- {
- pt = pt1;
- if(subline.size() > 1)
- {
- lines << subline;
- }
- subline.clear();
- subline << pt;
- continue;
- }
-
- ptt = pt1 - pt;
- if(ptt.manhattanLength() < 5)
- {
- continue;
- }
-
- subline << pt1;
- pt = pt1;
- }
-
- if(subline.size() > 1)
- {
- lines << subline;
- }
-}
-
-void IGisItem::drawArrows(const QPolygonF& line, const QRectF& extViewport, QPainter& p)
-{
- QPointF arrow[4] =
- {
- QPointF( 20.0, 7.0), //front
- QPointF( 0.0, 0.0), //upper tail
- QPointF( 5.0, 7.0), //mid tail
- QPointF( 0.0, 15.0) //lower tail
- };
-
- QPointF pt, pt1, ptt;
-
- // draw direction arrows
- bool start = true;
- qreal heading;
-
- //generate arrow pic on-the-fly
- QImage arrow_pic(21,16, QImage::Format_ARGB32);
- arrow_pic.fill( qRgba(0,0,0,0));
- QPainter t_paint(&arrow_pic);
- USE_ANTI_ALIASING(t_paint, true);
- t_paint.setPen(QPen(Qt::white, 2));
- t_paint.setBrush(p.brush());
- t_paint.drawPolygon(arrow, 4);
- t_paint.end();
-
- foreach(pt,line)
- {
- if(start) // no arrow on the first loop
- {
- start = false;
- }
- else
- {
- if(!extViewport.contains(pt))
- {
- pt1 = pt;
- continue;
- }
- if((qAbs(pt.x() - pt1.x()) + qAbs(pt.y() - pt1.y())) < 7)
- {
- pt1 = pt;
- continue;
- }
- // keep distance
- if((qAbs(pt.x() - ptt.x()) + qAbs(pt.y() - ptt.y())) > 100)
- {
- if(0 != pt.x() - pt1.x() && (pt.y() - pt1.y()))
- {
- heading = ( atan2((qreal)(pt.y() - pt1.y()), (qreal)(pt.x() - pt1.x())) * 180.) / M_PI;
-
- p.save();
- // draw arrow between bullets
- p.translate((pt.x() + pt1.x())/2,(pt.y() + pt1.y())/2);
- p.rotate(heading);
- p.drawImage(-11, -7, arrow_pic);
- p.restore();
- //remember last point
- ptt = pt;
- }
- }
- }
- pt1 = pt;
- }
-}
-
-QString IGisItem::removeHtml(const QString &str)
-{
- QTextDocument html;
- html.setHtml(str);
- return html.toPlainText();
-}
-
-
-QString IGisItem::toLink(bool isReadOnly, const QString& href, const QString& str, const QString &key)
-{
- if(isReadOnly)
- {
- return QString("%1").arg(str);
- }
- if(key.isEmpty())
- {
- return QString("<a href='%1'>%2</a>").arg(href).arg(str);
- }
- else
- {
- return QString("<a href='%1?key=%3'>%2</a>").arg(href).arg(str).arg(key);
- }
-}
-
-QString IGisItem::createText(bool isReadOnly, const QString& cmt, const QString& desc, const QList<link_t>& links, const QString &key)
-{
- QString str;
- bool isEmpty;
-
- isEmpty = removeHtml(cmt).simplified().isEmpty();
- if(!isReadOnly || !isEmpty)
- {
- str += toLink(isReadOnly, "comment", QObject::tr("<h4>Comment:</h4>"), key);
- if(isEmpty)
- {
- str += QObject::tr("<p>--- no comment ---</p>");
- }
- else
- {
- str += cmt;
- }
- }
-
- isEmpty = removeHtml(desc).simplified().isEmpty();
- if(!isReadOnly || !isEmpty)
- {
- str += toLink(isReadOnly, "description", QObject::tr("<h4>Description:</h4>"), key);
- if(removeHtml(desc).simplified().isEmpty())
- {
- str += QObject::tr("<p>--- no description ---</p>");
- }
- else
- {
- str += desc;
- }
- }
-
- isEmpty = links.isEmpty();
- if(!isReadOnly || !isEmpty)
- {
- str += toLink(isReadOnly, "links", QObject::tr("<h4>Links:</h4>"), key);
- if(isEmpty)
- {
- str += QObject::tr("<p>--- no links ---</p>");
- }
- else
- {
- foreach(const link_t &link, links)
- {
- if(link.text.isEmpty())
- {
- str += QString("<p><a href='%1'>%2</a></p>").arg(link.uri.toString()).arg(link.uri.toString());
- }
- else
- {
- str += QString("<p><a href='%1'>%2</a></p>").arg(link.uri.toString()).arg(link.text);
- }
- }
- }
- }
- return str;
-}
-
-QString IGisItem::createText(bool isReadOnly, const QString& desc, const QList<link_t>& links, const QString& key)
-{
- QString str;
- bool isEmpty;
-
- isEmpty = removeHtml(desc).simplified().isEmpty();
- if(!isReadOnly || !isEmpty)
- {
- str += toLink(isReadOnly, "description", QObject::tr("<h4>Description:</h4>"), key);
- if(removeHtml(desc).simplified().isEmpty())
- {
- str += QObject::tr("<p>--- no description ---</p>");
- }
- else
- {
- str += desc;
- }
- }
-
- isEmpty = links.isEmpty();
- if(!isReadOnly || !isEmpty)
- {
- str += toLink(isReadOnly, "links", QObject::tr("<h4>Links:</h4>"), key);
- if(isEmpty)
- {
- str += QObject::tr("<p>--- no links ---</p>");
- }
- else
- {
- foreach(const link_t &link, links)
- {
- if(link.text.isEmpty())
- {
- str += QString("<p><a href='%1'>%2</a></p>").arg(link.uri.toString()).arg(link.uri.toString());
- }
- else
- {
- str += QString("<p><a href='%1'>%2</a></p>").arg(link.uri.toString()).arg(link.text);
- }
- }
- }
- }
- return str;
-}
-
-bool IGisItem::isVisible(const QRectF &rect, const QPolygonF& viewport, CGisDraw *gis)
-{
- QPolygonF tmp1;
- tmp1 << rect.topLeft();
- tmp1 << rect.topRight();
- tmp1 << rect.bottomRight();
- tmp1 << rect.bottomLeft();
-
- gis->convertRad2Px(tmp1);
-
- QPolygonF tmp2 = viewport;
- gis->convertRad2Px(tmp2);
-
- return tmp2.boundingRect().intersects(tmp2.boundingRect());
-}
-
-bool IGisItem::isVisible(const QPointF& point, const QPolygonF& viewport, CGisDraw * gis)
-{
- QPolygonF tmp2 = viewport;
- gis->convertRad2Px(tmp2);
-
- QPointF pt = point;
- gis->convertRad2Px(pt);
-
- return tmp2.boundingRect().contains(pt);
-}
-
diff --git a/.hg/Trashcan/IGisItem_g1UeWY.cpp.bak b/.hg/Trashcan/IGisItem_g1UeWY.cpp.bak
deleted file mode 100644
index e4d8c9c..0000000
--- a/.hg/Trashcan/IGisItem_g1UeWY.cpp.bak
+++ /dev/null
@@ -1,709 +0,0 @@
-/**********************************************************************************************
- Copyright (C) 2014 Oliver Eichler oliver.eichler at gmx.de
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-**********************************************************************************************/
-
-#include "GeoMath.h"
-#include "canvas/CCanvas.h"
-#include "gis/CGisDraw.h"
-#include "gis/CGisListWks.h"
-#include "gis/IGisItem.h"
-#include "gis/db/macros.h"
-#include "gis/prj/IGisProject.h"
-#include "gis/rte/CGisItemRte.h"
-#include "gis/trk/CGisItemTrk.h"
-#include "gis/wpt/CGisItemWpt.h"
-#include "units/IUnit.h"
-
-#include <QtSql>
-#include <QtWidgets>
-#include <QtXml>
-
-QMutex IGisItem::mutexItems(QMutex::Recursive);
-
-QString IGisItem::noKey;
-
-const IGisItem::color_t IGisItem::colorMap[] =
-{
- {"Black", QColor(Qt::black)}
- ,{"DarkRed", QColor(Qt::darkRed)}
- ,{"DarkGreen", QColor(Qt::darkGreen)}
- ,{"DarkYellow", QColor(Qt::darkYellow)}
- ,{"DarkBlue", QColor(Qt::darkBlue)}
- ,{"DarkMagenta", QColor(Qt::darkMagenta)}
- ,{"DarkCyan", QColor(Qt::darkCyan)}
- ,{"LightGray", QColor(Qt::gray)}
- ,{"DarkGray", QColor(Qt::darkGray)}
- ,{"Red", QColor(Qt::red)}
- ,{"Green", QColor(Qt::green)}
- ,{"Yellow", QColor(Qt::yellow)}
- ,{"Blue", QColor(Qt::blue)}
- ,{"Magenta", QColor(Qt::magenta)}
- ,{"Cyan", QColor(Qt::cyan)}
- ,{"White", QColor(Qt::white)}
- ,{"Transparent", QColor(Qt::transparent)}
- ,{0, QColor()}
-};
-
-IGisItem::IGisItem(IGisProject *parent, type_e typ, int idx)
- : QTreeWidgetItem(parent, typ)
- , flags(0)
-{
- int n = -1;
- setFlags(QTreeWidgetItem::flags() & ~Qt::ItemIsDropEnabled);
-
- if(parent == 0)
- {
- return;
- }
-
- key.project = parent->getKey();
- key.device = parent->getDeviceKey();
-
- if(idx >= 0)
- {
- parent->removeChild(this);
- parent->insertChild(idx, this);
- }
- else
- {
- if(type() == eTypeTrk)
- {
- for(n = parent->childCount() - 2; n >= 0; n--)
- {
- /** @note The order of item types to test is given by the order items read from
- the GPX file in the CGpxProject constructor. */
-
- int childType = parent->child(n)->type();
- if(childType == eTypeTrk)
- {
- parent->removeChild(this);
- parent->insertChild(n+1, this);
- break;
- }
- }
- }
- else if(type() == eTypeRte)
- {
- for(n = parent->childCount() - 2; n >= 0; n--)
- {
- /** @note The order of item types to test is given by the order items read from
- the GPX file in the CGpxProject constructor. */
-
- int childType = parent->child(n)->type();
- if( childType == eTypeRte || childType == eTypeTrk)
- {
- parent->removeChild(this);
- parent->insertChild(n+1, this);
- break;
- }
- }
- }
- else if(type() == eTypeWpt)
- {
- for(n = parent->childCount() - 2; n >= 0; n--)
- {
- /** @note The order of item types to test is given by the order items read from
- the GPX file in the CGpxProject constructor. */
-
- int childType = parent->child(n)->type();
- if(childType == eTypeWpt || childType == eTypeRte || childType == eTypeTrk)
- {
- parent->removeChild(this);
- parent->insertChild(n+1, this);
- break;
- }
- }
- }
- else if(type() == eTypeOvl)
- {
- for(n = parent->childCount() - 2; n >= 0; n--)
- {
- /** @note The order of item types to test is given by the order items read from
- the GPX file in the CGpxProject constructor. */
-
- int childType = parent->child(n)->type();
- if(childType == eTypeOvl || childType == eTypeWpt || childType == eTypeRte || childType == eTypeTrk)
- {
- parent->removeChild(this);
- parent->insertChild(n+1, this);
- break;
- }
- }
- }
-
- if(n < 0)
- {
- parent->removeChild(this);
- parent->insertChild(0, this);
- }
- }
-}
-
-IGisItem::~IGisItem()
-{
-}
-
-void IGisItem::genKey()
-{
- if(key.item.isEmpty())
- {
- QByteArray buffer;
- QDataStream stream(&buffer, QIODevice::WriteOnly);
- stream.setByteOrder(QDataStream::LittleEndian);
- stream.setVersion(QDataStream::Qt_5_2);
-
- *this >> stream;
-
- QCryptographicHash md5(QCryptographicHash::Md5);
- md5.addData(buffer);
- key.item = md5.result().toHex();
- }
- if(key.project.isEmpty())
- {
- IGisProject * project = dynamic_cast<IGisProject*>(parent());
- if(project)
- {
- key.project = project->getKey();
- }
- }
-}
-
-void IGisItem::loadFromDb(quint64 id, QSqlDatabase& db)
-{
- QSqlQuery query(db);
- query.prepare("SELECT data FROM items WHERE id=:id");
- query.bindValue(":id", id);
- QUERY_EXEC(return );
- if(query.next())
- {
- QByteArray data(query.value(0).toByteArray());
- QDataStream in(&data, QIODevice::ReadOnly);
- in.setByteOrder(QDataStream::LittleEndian);
- in.setVersion(QDataStream::Qt_5_2);
- in >> history;
- loadHistory(history.histIdxCurrent);
- }
-}
-
-QString IGisItem::getNameEx() const
-{
- QString str = getName();
- IGisProject * project = dynamic_cast<IGisProject*>(parent());
- if(project)
- {
- str += " @ " + project->getName();
- }
- return str;
-}
-
-
-void IGisItem::updateDecoration(mark_e enable, mark_e disable)
-{
- // update text and icon
- setToolTip(CGisListWks::eColumnName,getInfo());
- setText(CGisListWks::eColumnName, getName());
- setSymbol();
-
- // update project if necessary
- IGisProject * project = dynamic_cast<IGisProject*>(parent());
- if(project && (enable & eMarkChanged))
- {
- project->setText(CGisListWks::eColumnDecoration,"*");
- }
-
- // set marks in column 1
- quint32 mask = data(1,Qt::UserRole).toUInt();
- mask |= enable;
- mask &= ~disable;
- setData(1, Qt::UserRole, mask);
-
- QString str;
- if(mask & eMarkChanged)
- {
- str += "*";
- }
- setText(CGisListWks::eColumnDecoration, str);
-}
-
-
-void IGisItem::changed(const QString &what, const QString &icon)
-{
- /*
- If item gets changed but if it's origin is not QMapShack
- then it is assumed to be tainted, as imported data should
- never be changed without notice.
- */
- if(!(flags & eFlagCreatedInQms))
- {
- flags |= eFlagTainted;
- }
-
- // forget all history entries after the current entry
- for(int i = history.events.size() - 1; i > history.histIdxCurrent; i--)
- {
- history.events.pop_back();
- }
-
- // append history by new entry
- history.events << history_event_t();
- history_event_t& event = history.events.last();
- event.time = QDateTime::currentDateTimeUtc();
- event.comment = what;
- event.icon = icon;
-
- QDataStream stream(&event.data, QIODevice::WriteOnly);
- stream.setByteOrder(QDataStream::LittleEndian);
- stream.setVersion(QDataStream::Qt_5_2);
-
- *this >> stream;
-
- QCryptographicHash md5(QCryptographicHash::Md5);
- md5.addData(event.data);
- event.hash = md5.result().toHex();
-
- history.histIdxCurrent = history.events.size() - 1;
-
- updateDecoration(eMarkChanged, eMarkNone);
-}
-
-void IGisItem::setupHistory()
-{
- history.histIdxInitial = -1;
- history.histIdxCurrent = -1;
-
- // if history is empty setup an initial item
- if(history.events.isEmpty())
- {
- history.events << history_event_t();
- history_event_t& event = history.events.last();
- event.time = QDateTime::currentDateTimeUtc();
- event.comment = QObject::tr("Initial version.");
- event.icon = "://icons/48x48/Start.png";
- }
-
- // search for the first item with data
- for(int i = 0; i < history.events.size(); i++)
- {
- if(!history.events[i].data.isEmpty())
- {
- history.histIdxInitial = i;
- break;
- }
- }
-
- // if no initial item can be found fill the last item with data
- // and make it the initial item
- if(history.histIdxInitial == -1)
- {
- history_event_t& event = history.events.last();
-
- QDataStream stream(&event.data, QIODevice::WriteOnly);
- stream.setByteOrder(QDataStream::LittleEndian);
- stream.setVersion(QDataStream::Qt_5_2);
- *this >> stream;
-
- QCryptographicHash md5(QCryptographicHash::Md5);
- md5.addData(event.data);
- event.hash = md5.result().toHex();
-
- history.histIdxInitial = history.events.size() - 1;
- }
-
- history.histIdxCurrent = history.events.size() - 1;
-}
-
-void IGisItem::loadHistory(int idx)
-{
- // test for bad index
- if((idx >= history.events.size()) || (idx < 0))
- {
- return;
- }
-
- history_event_t& event = history.events[idx];
-
- // test for no data
- if(event.data.isEmpty())
- {
- return;
- }
-
- // restore item from history entry
- QDataStream stream(&event.data, QIODevice::ReadOnly);
- stream.setByteOrder(QDataStream::LittleEndian);
- stream.setVersion(QDataStream::Qt_5_2);
- *this << stream;
-
- history.histIdxCurrent = idx;
-}
-
-void IGisItem::cutHistory()
-{
- while(history.events.size() > (history.histIdxCurrent + 1))
- {
- history.events.pop_back();
- }
-}
-
-bool IGisItem::isReadOnly() const
-{
- return !(flags & eFlagWriteAllowed) || isOnDevice();
-}
-
-bool IGisItem::isTainted() const
-{
- return flags & eFlagTainted;
-}
-
-bool IGisItem::isOnDevice() const
-{
- IGisProject * project = dynamic_cast<IGisProject*>(parent());
- if(project == 0)
- {
- return false;
- }
- return project->isOnDevice();
-}
-
-void IGisItem::setReadOnlyMode(bool readOnly)
-{
- if(!(flags & (eFlagCreatedInQms|eFlagTainted)))
- {
- if(isReadOnly() && !readOnly)
- {
- QString str = QObject::tr("This element is probably read-only because it was not created within QMapShack. Usually you should not want to change imported data. But if you think that is ok press'Ok'.");
- if(QMessageBox::warning(0, QObject::tr("Read Only Mode..."), str, QMessageBox::Ok|QMessageBox::Abort, QMessageBox::Ok) != QMessageBox::Ok)
- {
- return;
- }
- }
- }
-
- if(readOnly)
- {
- flags &= ~eFlagWriteAllowed;
- }
- else
- {
- flags |= eFlagWriteAllowed;
- }
-}
-
-
-const IGisItem::key_t &IGisItem::getKey()
-{
- if(key.item.isEmpty() || key.project.isEmpty())
- {
- genKey();
- }
- return key;
-}
-
-QColor IGisItem::str2color(const QString& name)
-{
- QColor ref(name);
- const color_t * p = colorMap;
- while(p->name)
- {
- if(p->color == ref)
- {
- return p->color;
- }
- p++;
- }
-
- return QColor();
-}
-
-QString IGisItem::color2str(const QColor& color)
-{
- const color_t * p = colorMap;
- while(p->name)
- {
- if(p->color == color)
- {
- return p->name;
- }
- p++;
- }
-
- return "";
-}
-
-void IGisItem::splitLineToViewport(const QPolygonF& line, const QRectF& extViewport, QList<QPolygonF>& lines)
-{
- int i;
- QPointF pt, ptt, pt1;
- QPolygonF subline;
- const int size = line.size();
-
- pt = line[0];
- subline << pt;
-
- for(i = 1; i < size; i++)
- {
- pt1 = line[i];
-
- if(!GPS_Math_LineCrossesRect(pt, pt1, extViewport))
- {
- pt = pt1;
- if(subline.size() > 1)
- {
- lines << subline;
- }
- subline.clear();
- subline << pt;
- continue;
- }
-
- ptt = pt1 - pt;
- if(ptt.manhattanLength() < 5)
- {
- continue;
- }
-
- subline << pt1;
- pt = pt1;
- }
-
- if(subline.size() > 1)
- {
- lines << subline;
- }
-}
-
-void IGisItem::drawArrows(const QPolygonF& line, const QRectF& extViewport, QPainter& p)
-{
- QPointF arrow[4] =
- {
- QPointF( 20.0, 7.0), //front
- QPointF( 0.0, 0.0), //upper tail
- QPointF( 5.0, 7.0), //mid tail
- QPointF( 0.0, 15.0) //lower tail
- };
-
- QPointF pt, pt1, ptt;
-
- // draw direction arrows
- bool start = true;
- qreal heading;
-
- //generate arrow pic on-the-fly
- QImage arrow_pic(21,16, QImage::Format_ARGB32);
- arrow_pic.fill( qRgba(0,0,0,0));
- QPainter t_paint(&arrow_pic);
- USE_ANTI_ALIASING(t_paint, true);
- t_paint.setPen(QPen(Qt::white, 2));
- t_paint.setBrush(p.brush());
- t_paint.drawPolygon(arrow, 4);
- t_paint.end();
-
- foreach(pt,line)
- {
- if(start) // no arrow on the first loop
- {
- start = false;
- }
- else
- {
- if(!extViewport.contains(pt))
- {
- pt1 = pt;
- continue;
- }
- if((qAbs(pt.x() - pt1.x()) + qAbs(pt.y() - pt1.y())) < 7)
- {
- pt1 = pt;
- continue;
- }
- // keep distance
- if((qAbs(pt.x() - ptt.x()) + qAbs(pt.y() - ptt.y())) > 100)
- {
- if(0 != pt.x() - pt1.x() && (pt.y() - pt1.y()))
- {
- heading = ( atan2((qreal)(pt.y() - pt1.y()), (qreal)(pt.x() - pt1.x())) * 180.) / M_PI;
-
- p.save();
- // draw arrow between bullets
- p.translate((pt.x() + pt1.x())/2,(pt.y() + pt1.y())/2);
- p.rotate(heading);
- p.drawImage(-11, -7, arrow_pic);
- p.restore();
- //remember last point
- ptt = pt;
- }
- }
- }
- pt1 = pt;
- }
-}
-
-QString IGisItem::removeHtml(const QString &str)
-{
- QTextDocument html;
- html.setHtml(str);
- return html.toPlainText();
-}
-
-
-QString IGisItem::toLink(bool isReadOnly, const QString& href, const QString& str, const QString &key)
-{
- if(isReadOnly)
- {
- return QString("%1").arg(str);
- }
- if(key.isEmpty())
- {
- return QString("<a href='%1'>%2</a>").arg(href).arg(str);
- }
- else
- {
- return QString("<a href='%1?key=%3'>%2</a>").arg(href).arg(str).arg(key);
- }
-}
-
-QString IGisItem::createText(bool isReadOnly, const QString& cmt, const QString& desc, const QList<link_t>& links, const QString &key)
-{
- QString str;
- bool isEmpty;
-
- isEmpty = removeHtml(cmt).simplified().isEmpty();
- if(!isReadOnly || !isEmpty)
- {
- str += toLink(isReadOnly, "comment", QObject::tr("<h4>Comment:</h4>"), key);
- if(isEmpty)
- {
- str += QObject::tr("<p>--- no comment ---</p>");
- }
- else
- {
- str += cmt;
- }
- }
-
- isEmpty = removeHtml(desc).simplified().isEmpty();
- if(!isReadOnly || !isEmpty)
- {
- str += toLink(isReadOnly, "description", QObject::tr("<h4>Description:</h4>"), key);
- if(removeHtml(desc).simplified().isEmpty())
- {
- str += QObject::tr("<p>--- no description ---</p>");
- }
- else
- {
- str += desc;
- }
- }
-
- isEmpty = links.isEmpty();
- if(!isReadOnly || !isEmpty)
- {
- str += toLink(isReadOnly, "links", QObject::tr("<h4>Links:</h4>"), key);
- if(isEmpty)
- {
- str += QObject::tr("<p>--- no links ---</p>");
- }
- else
- {
- foreach(const link_t &link, links)
- {
- if(link.text.isEmpty())
- {
- str += QString("<p><a href='%1'>%2</a></p>").arg(link.uri.toString()).arg(link.uri.toString());
- }
- else
- {
- str += QString("<p><a href='%1'>%2</a></p>").arg(link.uri.toString()).arg(link.text);
- }
- }
- }
- }
- return str;
-}
-
-QString IGisItem::createText(bool isReadOnly, const QString& desc, const QList<link_t>& links, const QString& key)
-{
- QString str;
- bool isEmpty;
-
- isEmpty = removeHtml(desc).simplified().isEmpty();
- if(!isReadOnly || !isEmpty)
- {
- str += toLink(isReadOnly, "description", QObject::tr("<h4>Description:</h4>"), key);
- if(removeHtml(desc).simplified().isEmpty())
- {
- str += QObject::tr("<p>--- no description ---</p>");
- }
- else
- {
- str += desc;
- }
- }
-
- isEmpty = links.isEmpty();
- if(!isReadOnly || !isEmpty)
- {
- str += toLink(isReadOnly, "links", QObject::tr("<h4>Links:</h4>"), key);
- if(isEmpty)
- {
- str += QObject::tr("<p>--- no links ---</p>");
- }
- else
- {
- foreach(const link_t &link, links)
- {
- if(link.text.isEmpty())
- {
- str += QString("<p><a href='%1'>%2</a></p>").arg(link.uri.toString()).arg(link.uri.toString());
- }
- else
- {
- str += QString("<p><a href='%1'>%2</a></p>").arg(link.uri.toString()).arg(link.text);
- }
- }
- }
- }
- return str;
-}
-
-bool IGisItem::isVisible(const QRectF &rect, const QPolygonF& viewport, CGisDraw *gis)
-{
- QPolygonF tmp1;
- tmp1 << rect.topLeft();
- tmp1 << rect.topRight();
- tmp1 << rect.bottomRight();
- tmp1 << rect.bottomLeft();
-
- gis->convertRad2Px(tmp1);
-
- QPolygonF tmp2 = viewport;
- gis->convertRad2Px(tmp2);
-
- return tmp2.boundingRect().intersects(tmp2.boundingRect());
-}
-
-bool IGisItem::isVisible(const QPointF& point, const QPolygonF& viewport, CGisDraw * gis)
-{
- QPolygonF tmp2 = viewport;
- gis->convertRad2Px(tmp2);
-
- QPointF pt = point;
- gis->convertRad2Px(pt);
-
- return tmp2.boundingRect().contains(pt);
-}
-
diff --git a/.hg/Trashcan/IGisItem_sh1ohv.h.bak b/.hg/Trashcan/IGisItem_sh1ohv.h.bak
deleted file mode 100644
index 91fdbf1..0000000
--- a/.hg/Trashcan/IGisItem_sh1ohv.h.bak
+++ /dev/null
@@ -1,402 +0,0 @@
-/**********************************************************************************************
- Copyright (C) 2014 Oliver Eichler oliver.eichler at gmx.de
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-**********************************************************************************************/
-
-#ifndef IGISITEM_H
-#define IGISITEM_H
-
-#include <QTreeWidgetItem>
-
-#include <QDateTime>
-#include <QString>
-#include <QStringList>
-#include <QMap>
-#include <QVariant>
-#include <QUrl>
-#include <QDomNode>
-#include <QMutex>
-#include <QColor>
-
-#include "units/IUnit.h"
-
-class CGisDraw;
-class IScrOpt;
-class IMouse;
-
-class IGisItem : public QObject, public QTreeWidgetItem
-{
- Q_OBJECT
- public:
- IGisItem(QTreeWidgetItem * parent);
- virtual ~IGisItem();
-
- /// this mutex has to be locked when ever the item list is accessed.
- static QMutex mutexItems;
-
- /**
- @brief Save the item's data into a GPX structure
- @param gpx the files <gpx> tag to attach the data to
- */
- virtual void save(QDomNode& gpx) = 0;
-
- /**
- @brief Get key string to identify object
- @return
- */
- const QString& getKey();
- /**
- @brief Get the icon attached to object
- @return
- */
- virtual const QPixmap& getIcon(){return icon;}
- /**
- @brief Get name of this item.
- @return A reference to the internal string object
- */
- virtual const QString& getName() = 0;
-
- /**
- @brief Get a short string with the items properties to be displayed in tool tips or similar
- @return A string object.
- */
- virtual QString getInfo() = 0;
-
-
- /**
- @brief Get the dimension of the item
-
- All coordinates are in Rad. Items with no
-
- @return
- */
- virtual QRectF getBoundingRect(){return boundingRect;}
-
- /**
- @brief Get screen option object to display and handle actions for this item.
- @param mouse a pointer to the mouse object initiating the action
- @return A null pointer is returned if no screen option are available
- */
- virtual IScrOpt * getScreenOptions(const QPoint& origin, IMouse * mouse){return 0;}
-
- /**
- @brief Get a point of the item that is close by the given screen pixel coordinate
- @param point a point in screen pixels
- @return If no point is found NOPOINTF is returned.
- */
- virtual QPointF getPointCloseBy(const QPoint& point){return NOPOINTF;}
-
- /**
- @brief Test if the item is close to a given pixel coordinate of the screen
-
- @param pos the coordinate on the screen in pixel
- @return If no point can be found NOPOINTF is returned.
- */
- virtual bool isCloseTo(const QPointF& pos) = 0;
-
- virtual void drawItem(QPainter& p, const QRectF& viewport, QList<QRectF>& blockedAreas, CGisDraw * gis) = 0;
- virtual void drawLabel(QPainter& p, const QRectF& viewport,QList<QRectF>& blockedAreas, const QFontMetricsF& fm, CGisDraw * gis) = 0;
- virtual void drawHighlight(QPainter& p) = 0;
-
- virtual void gainUserFocus() = 0;
-
- virtual void edit(){}
-
- protected:
- friend class CGisProject;
- struct wpt_t;
- void readWpt(const QDomNode& xml, wpt_t &wpt);
- void writeWpt(QDomElement &xml, const wpt_t &wpt);
- virtual void genKey() = 0;
- QColor str2color(const QString& name);
- QString color2str(const QColor &color);
- void splitLineToViewport(const QPolygonF& line, const QRectF& extViewport, QList<QPolygonF>& lines);
- void drawArrows(const QPolygonF &line, const QRectF &extViewport, QPainter& p);
- void removeHtml(QString &str);
-
-
- struct color_t
- {
- const char * name;
- QColor color;
- };
-
-
- struct link_t
- {
- QUrl uri;
- QString text;
- QString type;
- };
-
- struct wpt_t
- {
- wpt_t() :
- lat(NOFLOAT),
- lon(NOFLOAT),
- ele(NOINT),
- magvar(NOINT),
- geoidheight(NOINT),
- sat(NOINT),
- hdop(NOINT),
- vdop(NOINT),
- pdop(NOINT),
- ageofdgpsdata(NOINT),
- dgpsid(NOINT)
- {}
- // -- all gpx tags - start
- qreal lat;
- qreal lon;
- qint32 ele;
- QDateTime time;
- qint32 magvar;
- qint32 geoidheight;
- QString name;
- QString cmt;
- QString desc;
- QString src;
- QList<link_t> links;
- QString sym;
- QString type;
- QString fix;
- qint32 sat;
- qint32 hdop;
- qint32 vdop;
- qint32 pdop;
- qint32 ageofdgpsdata;
- qint32 dgpsid;
- // -- all gpx tags - stop
- QMap<QString, QVariant> extensions;
- };
-
-
- QString key;
- QPixmap icon;
- QRectF boundingRect;
- static const color_t colorMap[];
-
-
- static inline void readXml(const QDomNode& xml, const QString& tag, qint32& value)
- {
- if(xml.namedItem(tag).isElement())
- {
- qint32 tmp;
- bool ok = false;
- tmp = xml.namedItem(tag).toElement().text().toInt(&ok);
- if(!ok)
- {
- tmp = qRound(xml.namedItem(tag).toElement().text().toDouble(&ok));
- }
- if(ok)
- {
- value = tmp;
- }
- }
- }
-
- static inline void readXml(const QDomNode& xml, const QString& tag, quint32& value)
- {
- if(xml.namedItem(tag).isElement())
- {
- quint32 tmp;
- bool ok = false;
- tmp = xml.namedItem(tag).toElement().text().toUInt(&ok);
- if(ok)
- {
- value = tmp;
- }
- }
- }
-
- static inline void readXml(const QDomNode& xml, const QString& tag, quint64& value)
- {
- if(xml.namedItem(tag).isElement())
- {
- quint64 tmp;
- bool ok = false;
- tmp = xml.namedItem(tag).toElement().text().toULongLong(&ok);
- if(ok)
- {
- value = tmp;
- }
- }
- }
-
- static inline void readXml(const QDomNode& xml, const QString& tag, qreal& value)
- {
- if(xml.namedItem(tag).isElement())
- {
- qreal tmp;
- bool ok = false;
- tmp = xml.namedItem(tag).toElement().text().toDouble(&ok);
- if(ok)
- {
- value = tmp;
- }
- }
- }
-
- static inline void readXml(const QDomNode& xml, const QString& tag, QString& value)
- {
- if(xml.namedItem(tag).isElement())
- {
- value = xml.namedItem(tag).toElement().text();
- }
- }
-
- static inline void readXml(const QDomNode& xml, const QString& tag, QDateTime& value)
- {
- if(xml.namedItem(tag).isElement())
- {
- QString time = xml.namedItem(tag).toElement().text();
- IUnit::parseTimestamp(time, value);
-
- }
- }
-
- static inline void readXml(const QDomNode& xml, const QString& tag, QList<link_t>& l)
- {
- if(xml.namedItem(tag).isElement())
- {
- const QDomNodeList& links = xml.toElement().elementsByTagName(tag);
- int N = links.count();
- for(int n = 0; n < N; ++n)
- {
- const QDomNode& link = links.item(n);
-
- link_t tmp;
- tmp.uri.setUrl(link.attributes().namedItem("href").nodeValue());
- readXml(link, "text", tmp.text);
- readXml(link, "type", tmp.type);
-
- l << tmp;
- }
- }
- }
-
- static inline void writeXml(QDomNode& xml, const QString& tag, qint32 val)
- {
- if(val != NOINT)
- {
- QDomElement elem = xml.ownerDocument().createElement(tag);
- xml.appendChild(elem);
- QDomText text = xml.ownerDocument().createTextNode(QString::number(val));
- elem.appendChild(text);
- }
- }
-
- static inline void writeXml(QDomNode& xml, const QString& tag, quint32 val)
- {
- if(val != NOINT)
- {
- QDomElement elem = xml.ownerDocument().createElement(tag);
- xml.appendChild(elem);
- QDomText text = xml.ownerDocument().createTextNode(QString::number(val));
- elem.appendChild(text);
- }
- }
-
- static inline void writeXml(QDomNode& xml, const QString& tag, quint64 val)
- {
- if(val != 0)
- {
- QDomElement elem = xml.ownerDocument().createElement(tag);
- xml.appendChild(elem);
- QDomText text = xml.ownerDocument().createTextNode(QString::number(val));
- elem.appendChild(text);
- }
- }
-
- static inline void writeXml(QDomNode& xml, const QString& tag, const QString& val)
- {
- if(!val.isEmpty())
- {
- QDomElement elem = xml.ownerDocument().createElement(tag);
- xml.appendChild(elem);
- QDomText text = xml.ownerDocument().createTextNode(val);
- elem.appendChild(text);
- }
- }
-
- static inline void writeXml(QDomNode& xml, const QString& tag, qreal val)
- {
- if(val != NOFLOAT)
- {
- QDomElement elem = xml.ownerDocument().createElement(tag);
- xml.appendChild(elem);
- QDomText text = xml.ownerDocument().createTextNode(QString("%1").arg(val,0,'f',8));
- elem.appendChild(text);
- }
- }
-
- static inline void writeXmlHtml(QDomNode& xml, const QString& tag, const QString& val)
- {
- if(!val.isEmpty())
- {
- QDomElement elem = xml.ownerDocument().createElement(tag);
- xml.appendChild(elem);
- QDomText text = xml.ownerDocument().createCDATASection(val);
- elem.appendChild(text);
- elem.setAttribute("html","True");
-
- }
- }
-
- static inline void writeXml(QDomNode& xml, const QString& tag, const QDateTime& time)
- {
- if(time.isValid())
- {
- QDomElement elem = xml.ownerDocument().createElement(tag);
- xml.appendChild(elem);
- QDomText text = xml.ownerDocument().createTextNode(time.toString("yyyy-MM-dd'T'hh:mm:ss'Z'"));
- elem.appendChild(text);
- }
- }
-
-
- static inline void writeXml(QDomNode& xml, const QString& tag, const QList<link_t>& links)
- {
- if(!links.isEmpty())
- {
- foreach(const link_t& link, links)
- {
- QDomElement elem = xml.ownerDocument().createElement(tag);
- xml.appendChild(elem);
-
- elem.setAttribute("href", link.uri.toString());
- writeXml(elem, "text", link.text);
- writeXml(elem, "type", link.type);
- }
- }
- }
-
- static inline bool isBlocked(const QRectF& rect, const QList<QRectF> &blockedAreas)
- {
- foreach(const QRectF& r, blockedAreas)
- {
- if(rect.intersects(r))
- {
- return true;
- }
- }
- return false;
- }
-
-
-};
-
-#endif //IGISITEM_H
-
diff --git a/.hg/Trashcan/IGisItem_xTCUle.cpp.bak b/.hg/Trashcan/IGisItem_xTCUle.cpp.bak
deleted file mode 100644
index 020c910..0000000
--- a/.hg/Trashcan/IGisItem_xTCUle.cpp.bak
+++ /dev/null
@@ -1,623 +0,0 @@
-/**********************************************************************************************
- Copyright (C) 2014 Oliver Eichler oliver.eichler at gmx.de
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-**********************************************************************************************/
-
-#include "gis/IGisItem.h"
-#include "gis/CGisListWks.h"
-#include "gis/prj/IGisProject.h"
-#include "gis/trk/CGisItemTrk.h"
-#include "gis/wpt/CGisItemWpt.h"
-#include "gis/rte/CGisItemRte.h"
-#include "gis/db/macros.h"
-#include "units/IUnit.h"
-#include "canvas/CCanvas.h"
-#include "GeoMath.h"
-
-#include <QtXml>
-#include <QtWidgets>
-#include <QtSql>
-
-QMutex IGisItem::mutexItems(QMutex::Recursive);
-
-QString IGisItem::noKey;
-
-const IGisItem::color_t IGisItem::colorMap[] =
-{
- {"Black", QColor(Qt::black)}
- ,{"DarkRed", QColor(Qt::darkRed)}
- ,{"DarkGreen", QColor(Qt::darkGreen)}
- ,{"DarkYellow", QColor(Qt::darkYellow)}
- ,{"DarkBlue", QColor(Qt::darkBlue)}
- ,{"DarkMagenta", QColor(Qt::darkMagenta)}
- ,{"DarkCyan", QColor(Qt::darkCyan)}
- ,{"LightGray", QColor(Qt::gray)}
- ,{"DarkGray", QColor(Qt::darkGray)}
- ,{"Red", QColor(Qt::red)}
- ,{"Green", QColor(Qt::green)}
- ,{"Yellow", QColor(Qt::yellow)}
- ,{"Blue", QColor(Qt::blue)}
- ,{"Magenta", QColor(Qt::magenta)}
- ,{"Cyan", QColor(Qt::cyan)}
- ,{"White", QColor(Qt::white)}
- ,{"Transparent", QColor(Qt::transparent)}
- ,{0, QColor()}
-
-};
-
-IGisItem::IGisItem(IGisProject *parent, type_e typ, int idx)
- : QTreeWidgetItem(parent, typ)
- , flags(0)
-{
- int n;
- setFlags(QTreeWidgetItem::flags() & ~Qt::ItemIsDropEnabled);
-
- if(parent == 0)
- {
- return;
- }
-
- key.project = parent->getKey();
- if(idx >= 0)
- {
- parent->removeChild(this);
- parent->insertChild(idx, this);
- }
- else
- {
- if(type() == eTypeTrk)
- {
- for(n = parent->childCount() - 2; n >= 0; n--)
- {
- /** @note The order of item types to test is given by the order items read from
- the GPX file in the CGpxProject constructor. */
-
- int childType = parent->child(n)->type();
- if(childType == eTypeTrk)
- {
- parent->removeChild(this);
- parent->insertChild(n+1, this);
- break;
- }
- }
- }
- else if(type() == eTypeRte)
- {
- for(n = parent->childCount() - 2; n >= 0; n--)
- {
- /** @note The order of item types to test is given by the order items read from
- the GPX file in the CGpxProject constructor. */
-
- int childType = parent->child(n)->type();
- if( childType == eTypeRte || childType == eTypeTrk)
- {
- parent->removeChild(this);
- parent->insertChild(n+1, this);
- break;
- }
- }
- }
- else if(type() == eTypeWpt)
- {
- for(n = parent->childCount() - 2; n >= 0; n--)
- {
- /** @note The order of item types to test is given by the order items read from
- the GPX file in the CGpxProject constructor. */
-
- int childType = parent->child(n)->type();
- if(childType == eTypeWpt || childType == eTypeRte || childType == eTypeTrk)
- {
- parent->removeChild(this);
- parent->insertChild(n+1, this);
- break;
- }
- }
- }
- else if(type() == eTypeOvl)
- {
- for(n = parent->childCount() - 2; n >= 0; n--)
- {
- /** @note The order of item types to test is given by the order items read from
- the GPX file in the CGpxProject constructor. */
-
- int childType = parent->child(n)->type();
- if(childType == eTypeOvl || childType == eTypeWpt || childType == eTypeRte || childType == eTypeTrk)
- {
- parent->removeChild(this);
- parent->insertChild(n+1, this);
- break;
- }
- }
- }
-
- if(n < 0)
- {
- parent->removeChild(this);
- parent->insertChild(0, this);
- }
- }
-}
-
-IGisItem::~IGisItem()
-{
-
-}
-
-void IGisItem::genKey()
-{
- if(key.item.isEmpty())
- {
- QByteArray buffer;
- QDataStream stream(&buffer, QIODevice::WriteOnly);
- stream.setByteOrder(QDataStream::LittleEndian);
- stream.setVersion(QDataStream::Qt_5_2);
-
- *this >> stream;
-
- QCryptographicHash md5(QCryptographicHash::Md5);
- md5.addData(buffer);
- key.item = md5.result().toHex();
- }
-}
-
-void IGisItem::loadFromDb(quint64 id, QSqlDatabase& db)
-{
- QSqlQuery query(db);
- query.prepare("SELECT data FROM items WHERE id=:id");
- query.bindValue(":id", id);
- QUERY_EXEC(return);
- if(query.next())
- {
- QByteArray data(query.value(0).toByteArray());
- QDataStream in(&data, QIODevice::ReadOnly);
- in.setByteOrder(QDataStream::LittleEndian);
- in.setVersion(QDataStream::Qt_5_2);
- in >> history;
- loadHistory(history.histIdxCurrent);
- }
-}
-
-QString IGisItem::getNameEx()
-{
- QString str = getName();
- IGisProject * project = dynamic_cast<IGisProject*>(parent());
- if(project)
- {
- str += " @ " + project->getName();
- }
- return str;
-}
-
-
-void IGisItem::updateDecoration(mark_e enable, mark_e disable)
-{
- // update text and icon
- setToolTip(CGisListWks::eColumnName,getInfo());
- setText(CGisListWks::eColumnName, getName());
- setSymbol();
-
- // update project if necessary
- IGisProject * project = dynamic_cast<IGisProject*>(parent());
- if(project && (enable & eMarkChanged))
- {
- project->setText(CGisListWks::eColumnDecoration,"*");
- }
-
- // set marks in column 1
- quint32 mask = data(1,Qt::UserRole).toUInt();
- mask |= enable;
- mask &= ~disable;
- setData(1, Qt::UserRole, mask);
-
- QString str;
- if(mask & eMarkChanged)
- {
- str += "*";
- }
- setText(CGisListWks::eColumnDecoration, str);
-}
-
-
-void IGisItem::changed(const QString &what, const QString &icon)
-{
- /*
- If item gets changed but if it's origin is not QMapShack
- then it is assumed to be tainted, as imported data should
- never be changed without notice.
- */
- if(!(flags & eFlagCreatedInQms))
- {
- flags |= eFlagTainted;
- }
-
- // forget all history entries after the current entry
- for(int i = history.events.size() - 1; i > history.histIdxCurrent; i--)
- {
- history.events.pop_back();
- }
-
- // append history by new entry
- history.events << history_event_t();
- history_event_t& event = history.events.last();
- event.time = QDateTime::currentDateTimeUtc();
- event.comment = what;
- event.icon = icon;
-
- QDataStream stream(&event.data, QIODevice::WriteOnly);
- stream.setByteOrder(QDataStream::LittleEndian);
- stream.setVersion(QDataStream::Qt_5_2);
-
- *this >> stream;
-
- QCryptographicHash md5(QCryptographicHash::Md5);
- md5.addData(event.data);
- event.hash = md5.result().toHex();
-
- history.histIdxCurrent = history.events.size() - 1;
-
- updateDecoration(eMarkChanged, eMarkNone);
-}
-
-void IGisItem::setupHistory()
-{
- history.histIdxInitial = -1;
- history.histIdxCurrent = -1;
-
- // if history is empty setup an initial item
- if(history.events.isEmpty())
- {
- history.events << history_event_t();
- history_event_t& event = history.events.last();
- event.time = QDateTime::currentDateTimeUtc();
- event.comment = QObject::tr("Initial version.");
- event.icon = "://icons/48x48/Start.png";
- }
-
- // search for the first item with data
- for(int i = 0; i < history.events.size(); i++)
- {
- if(!history.events[i].data.isEmpty())
- {
- history.histIdxInitial = i;
- break;
- }
- }
-
- // if no initial item can be found fill the last item with data
- // and make it the initial item
- if(history.histIdxInitial == -1)
- {
- history_event_t& event = history.events.last();
-
- QDataStream stream(&event.data, QIODevice::WriteOnly);
- stream.setByteOrder(QDataStream::LittleEndian);
- stream.setVersion(QDataStream::Qt_5_2);
- *this >> stream;
-
- QCryptographicHash md5(QCryptographicHash::Md5);
- md5.addData(event.data);
- event.hash = md5.result().toHex();
-
- history.histIdxInitial = history.events.size() - 1;
- }
-
- history.histIdxCurrent = history.events.size() - 1;
-}
-
-void IGisItem::loadHistory(int idx)
-{
- // test for bad index
- if((idx >= history.events.size()) || (idx < 0))
- {
- return;
- }
-
- history_event_t& event = history.events[idx];
-
- // test for no data
- if(event.data.isEmpty())
- {
- return;
- }
-
- // restore item from history entry
- QDataStream stream(&event.data, QIODevice::ReadOnly);
- stream.setByteOrder(QDataStream::LittleEndian);
- stream.setVersion(QDataStream::Qt_5_2);
- *this << stream;
-
- history.histIdxCurrent = idx;
-}
-
-void IGisItem::cutHistory()
-{
- while(history.events.size() > (history.histIdxCurrent + 1))
- {
- history.events.pop_back();
- }
-}
-
-bool IGisItem::isReadOnly()
-{
- return !(flags & eFlagWriteAllowed);
-}
-
-bool IGisItem::isTainted()
-{
- return (flags & eFlagTainted);
-}
-
-void IGisItem::setReadOnlyMode(bool readOnly)
-{
- if(!(flags & (eFlagCreatedInQms|eFlagTainted)))
- {
- if(isReadOnly() && !readOnly)
- {
- QString str = QObject::tr("This element is probably read-only because it was not created within QMapShack. Usually you should not want to change imported data. But if you think that is ok press'Ok'.");
- if(QMessageBox::warning(0, QObject::tr("Read Only Mode..."), str, QMessageBox::Ok|QMessageBox::Abort, QMessageBox::Ok) != QMessageBox::Ok)
- {
- return;
- }
- }
- }
-
- if(readOnly)
- {
- flags &= ~eFlagWriteAllowed;
- }
- else
- {
- flags |= eFlagWriteAllowed;
- }
-}
-
-
-const IGisItem::key_t &IGisItem::getKey()
-{
- if(key.item.isEmpty())
- {
- genKey();
- }
- return key;
-}
-
-QColor IGisItem::str2color(const QString& name)
-{
- QColor ref(name);
- const color_t * p = colorMap;
- while(p->name)
- {
- if(p->color == ref)
- {
- return p->color;
- }
- p++;
- }
-
- return QColor();
-}
-
-QString IGisItem::color2str(const QColor& color)
-{
- const color_t * p = colorMap;
- while(p->name)
- {
- if(p->color == color)
- {
- return p->name;
- }
- p++;
- }
-
- return "";
-}
-
-void IGisItem::splitLineToViewport(const QPolygonF& line, const QRectF& extViewport, QList<QPolygonF>& lines)
-{
- int i;
- QPointF pt, ptt, pt1;
- QPolygonF subline;
- const int size = line.size();
-
- pt = line[0];
- subline << pt;
-
- for(i = 1; i < size; i++)
- {
- pt1 = line[i];
-
- if(!GPS_Math_LineCrossesRect(pt, pt1, extViewport))
- {
- pt = pt1;
- if(subline.size() > 1)
- {
- lines << subline;
- }
- subline.clear();
- subline << pt;
- continue;
- }
-
- ptt = pt1 - pt;
- if(ptt.manhattanLength() < 5)
- {
- continue;
- }
-
- subline << pt1;
- pt = pt1;
- }
-
- if(subline.size() > 1)
- {
- lines << subline;
- }
-
-}
-
-void IGisItem::drawArrows(const QPolygonF& line, const QRectF& extViewport, QPainter& p)
-{
- QPointF arrow[4] =
- {
- QPointF( 20.0, 7.0), //front
- QPointF( 0.0, 0.0), //upper tail
- QPointF( 5.0, 7.0), //mid tail
- QPointF( 0.0, 15.0) //lower tail
- };
-
- QPointF pt, pt1, ptt;
-
- // draw direction arrows
- bool start = true;
- qreal heading;
-
- //generate arrow pic on-the-fly
- QImage arrow_pic(21,16, QImage::Format_ARGB32);
- arrow_pic.fill( qRgba(0,0,0,0));
- QPainter t_paint(&arrow_pic);
- USE_ANTI_ALIASING(t_paint, true);
- t_paint.setPen(QPen(Qt::white, 2));
- t_paint.setBrush(p.brush());
- t_paint.drawPolygon(arrow, 4);
- t_paint.end();
-
- foreach(pt,line)
- {
- if(start) // no arrow on the first loop
- {
- start = false;
- }
- else
- {
- if(!extViewport.contains(pt))
- {
- pt1 = pt;
- continue;
- }
- if((qAbs(pt.x() - pt1.x()) + qAbs(pt.y() - pt1.y())) < 7)
- {
- pt1 = pt;
- continue;
- }
- // keep distance
- if((qAbs(pt.x() - ptt.x()) + qAbs(pt.y() - ptt.y())) > 100)
- {
- if(0 != pt.x() - pt1.x() && (pt.y() - pt1.y()))
- {
- heading = ( atan2((qreal)(pt.y() - pt1.y()), (qreal)(pt.x() - pt1.x())) * 180.) / M_PI;
-
- p.save();
- // draw arrow between bullets
- p.translate((pt.x() + pt1.x())/2,(pt.y() + pt1.y())/2);
- p.rotate(heading);
- p.drawImage(-11, -7, arrow_pic);
- p.restore();
- //remember last point
- ptt = pt;
- }
- }
- }
- pt1 = pt;
- }
-}
-
-QString IGisItem::removeHtml(const QString &str)
-{
- QTextDocument html;
- html.setHtml(str);
- return html.toPlainText();
-}
-
-
-QString IGisItem::toLink(bool isReadOnly, const QString& href, const QString& str)
-{
- if(isReadOnly)
- {
- return QString("%1").arg(str);
- }
-
- return QString("<a href='%1'>%2</a>").arg(href).arg(str);
-}
-
-QString IGisItem::createText(bool isReadOnly, const QString& cmt, const QString& desc, const QList<link_t>& links)
-{
- QString str;
-
- str += toLink(isReadOnly, "comment", QObject::tr("<h4>Comment:</h4>"));
- if(removeHtml(cmt).simplified().isEmpty())
- {
- str += QObject::tr("<p>--- no comment ---</p>");
- }
- else
- {
- str += cmt;
- }
-
- str += toLink(isReadOnly, "description", QObject::tr("<h4>Description:</h4>"));
- if(removeHtml(desc).simplified().isEmpty())
- {
- str += QObject::tr("<p>--- no description ---</p>");
- }
- else
- {
- str += desc;
- }
-
- str += toLink(isReadOnly, "links", QObject::tr("<h4>Links:</h4>"));
- if(links.isEmpty())
- {
- str += QObject::tr("<p>--- no links ---</p>");
- }
- else
- {
- foreach(const link_t& link, links)
- {
- str += QString("<p><a href='%1'>%2</a></p>").arg(link.uri.toString()).arg(link.text);
- }
- }
-
- return str;
-}
-
-QString IGisItem::createText(bool isReadOnly, const QString& desc, const QList<link_t>& links)
-{
- QString str;
-
- str += toLink(isReadOnly, "description", QObject::tr("<h4>Description:</h4>"));
- if(removeHtml(desc).simplified().isEmpty())
- {
- str += QObject::tr("<p>--- no description ---</p>");
- }
- else
- {
- str += desc;
- }
-
- str += toLink(isReadOnly, "links", QObject::tr("<h4>Links:</h4>"));
- if(links.isEmpty())
- {
- str += QObject::tr("<p>--- no links ---</p>");
- }
- else
- {
- foreach(const link_t& link, links)
- {
- str += QString("<p><a href='%1'>%2</a></p>").arg(link.uri.toString()).arg(link.text);
- }
- }
-
- return str;
-}
diff --git a/.hg/Trashcan/IGisItem_xsSU6A.h.bak b/.hg/Trashcan/IGisItem_xsSU6A.h.bak
deleted file mode 100644
index 736587f..0000000
--- a/.hg/Trashcan/IGisItem_xsSU6A.h.bak
+++ /dev/null
@@ -1,404 +0,0 @@
-/**********************************************************************************************
- Copyright (C) 2014 Oliver Eichler oliver.eichler at gmx.de
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-**********************************************************************************************/
-
-#ifndef IGISITEM_H
-#define IGISITEM_H
-
-#include <QTreeWidgetItem>
-
-#include <QDateTime>
-#include <QString>
-#include <QStringList>
-#include <QMap>
-#include <QVariant>
-#include <QUrl>
-#include <QDomNode>
-#include <QMutex>
-#include <QColor>
-
-#include "units/IUnit.h"
-
-class CGisDraw;
-class IScrOpt;
-class IMouse;
-
-class IGisItem : public QObject, public QTreeWidgetItem
-{
- Q_OBJECT
- public:
- IGisItem(QTreeWidgetItem * parent);
- virtual ~IGisItem();
-
- /// this mutex has to be locked when ever the item list is accessed.
- static QMutex mutexItems;
-
- /**
- @brief Save the item's data into a GPX structure
- @param gpx the files <gpx> tag to attach the data to
- */
- virtual void save(QDomNode& gpx) = 0;
-
- /**
- @brief Get key string to identify object
- @return
- */
- const QString& getKey();
- /**
- @brief Get the icon attached to object
- @return
- */
- virtual const QPixmap& getIcon(){return icon;}
- /**
- @brief Get name of this item.
- @return A reference to the internal string object
- */
- virtual const QString& getName() = 0;
-
- /**
- @brief Get a short string with the items properties to be displayed in tool tips or similar
- @return A string object.
- */
- virtual QString getInfo() = 0;
-
-
- /**
- @brief Get the dimension of the item
-
- All coordinates are in Rad. Items with no
-
- @return
- */
- virtual QRectF getBoundingRect(){return boundingRect;}
-
- /**
- @brief Get screen option object to display and handle actions for this item.
- @param mouse a pointer to the mouse object initiating the action
- @return A null pointer is returned if no screen option are available
- */
- virtual IScrOpt * getScreenOptions(const QPoint& origin, IMouse * mouse){return 0;}
-
- /**
- @brief Get a point of the item that is close by the given screen pixel coordinate
- @param point a point in screen pixels
- @return If no point is found NOPOINTF is returned.
- */
- virtual QPointF getPointCloseBy(const QPoint& point){return NOPOINTF;}
-
- /**
- @brief Test if the item is close to a given pixel coordinate of the screen
-
- @param pos the coordinate on the screen in pixel
- @return If no point can be found NOPOINTF is returned.
- */
- virtual bool isCloseTo(const QPointF& pos) = 0;
-
- virtual void drawItem(QPainter& p, const QRectF& viewport, QList<QRectF>& blockedAreas, CGisDraw * gis) = 0;
- virtual void drawLabel(QPainter& p, const QRectF& viewport,QList<QRectF>& blockedAreas, const QFontMetricsF& fm, CGisDraw * gis) = 0;
- virtual void drawHighlight(QPainter& p) = 0;
-
- virtual void gainUserFocus() = 0;
-
- virtual void edit(){}
-
- static QString removeHtml(const QString &str);
-
- protected:
- friend class CGisProject;
- struct wpt_t;
- void readWpt(const QDomNode& xml, wpt_t &wpt);
- void writeWpt(QDomElement &xml, const wpt_t &wpt);
- virtual void genKey() = 0;
- QColor str2color(const QString& name);
- QString color2str(const QColor &color);
- void splitLineToViewport(const QPolygonF& line, const QRectF& extViewport, QList<QPolygonF>& lines);
- void drawArrows(const QPolygonF &line, const QRectF &extViewport, QPainter& p);
-
-
-
- struct color_t
- {
- const char * name;
- QColor color;
- };
-
-
- struct link_t
- {
- QUrl uri;
- QString text;
- QString type;
- };
-
- struct wpt_t
- {
- wpt_t() :
- lat(NOFLOAT),
- lon(NOFLOAT),
- ele(NOINT),
- magvar(NOINT),
- geoidheight(NOINT),
- sat(NOINT),
- hdop(NOINT),
- vdop(NOINT),
- pdop(NOINT),
- ageofdgpsdata(NOINT),
- dgpsid(NOINT)
- {}
- // -- all gpx tags - start
- qreal lat;
- qreal lon;
- qint32 ele;
- QDateTime time;
- qint32 magvar;
- qint32 geoidheight;
- QString name;
- QString cmt;
- QString desc;
- QString src;
- QList<link_t> links;
- QString sym;
- QString type;
- QString fix;
- qint32 sat;
- qint32 hdop;
- qint32 vdop;
- qint32 pdop;
- qint32 ageofdgpsdata;
- qint32 dgpsid;
- // -- all gpx tags - stop
- QMap<QString, QVariant> extensions;
- };
-
-
- QString key;
- QPixmap icon;
- QRectF boundingRect;
- static const color_t colorMap[];
-
-
- static inline void readXml(const QDomNode& xml, const QString& tag, qint32& value)
- {
- if(xml.namedItem(tag).isElement())
- {
- qint32 tmp;
- bool ok = false;
- tmp = xml.namedItem(tag).toElement().text().toInt(&ok);
- if(!ok)
- {
- tmp = qRound(xml.namedItem(tag).toElement().text().toDouble(&ok));
- }
- if(ok)
- {
- value = tmp;
- }
- }
- }
-
- static inline void readXml(const QDomNode& xml, const QString& tag, quint32& value)
- {
- if(xml.namedItem(tag).isElement())
- {
- quint32 tmp;
- bool ok = false;
- tmp = xml.namedItem(tag).toElement().text().toUInt(&ok);
- if(ok)
- {
- value = tmp;
- }
- }
- }
-
- static inline void readXml(const QDomNode& xml, const QString& tag, quint64& value)
- {
- if(xml.namedItem(tag).isElement())
- {
- quint64 tmp;
- bool ok = false;
- tmp = xml.namedItem(tag).toElement().text().toULongLong(&ok);
- if(ok)
- {
- value = tmp;
- }
- }
- }
-
- static inline void readXml(const QDomNode& xml, const QString& tag, qreal& value)
- {
- if(xml.namedItem(tag).isElement())
- {
- qreal tmp;
- bool ok = false;
- tmp = xml.namedItem(tag).toElement().text().toDouble(&ok);
- if(ok)
- {
- value = tmp;
- }
- }
- }
-
- static inline void readXml(const QDomNode& xml, const QString& tag, QString& value)
- {
- if(xml.namedItem(tag).isElement())
- {
- value = xml.namedItem(tag).toElement().text();
- }
- }
-
- static inline void readXml(const QDomNode& xml, const QString& tag, QDateTime& value)
- {
- if(xml.namedItem(tag).isElement())
- {
- QString time = xml.namedItem(tag).toElement().text();
- IUnit::parseTimestamp(time, value);
-
- }
- }
-
- static inline void readXml(const QDomNode& xml, const QString& tag, QList<link_t>& l)
- {
- if(xml.namedItem(tag).isElement())
- {
- const QDomNodeList& links = xml.toElement().elementsByTagName(tag);
- int N = links.count();
- for(int n = 0; n < N; ++n)
- {
- const QDomNode& link = links.item(n);
-
- link_t tmp;
- tmp.uri.setUrl(link.attributes().namedItem("href").nodeValue());
- readXml(link, "text", tmp.text);
- readXml(link, "type", tmp.type);
-
- l << tmp;
- }
- }
- }
-
- static inline void writeXml(QDomNode& xml, const QString& tag, qint32 val)
- {
- if(val != NOINT)
- {
- QDomElement elem = xml.ownerDocument().createElement(tag);
- xml.appendChild(elem);
- QDomText text = xml.ownerDocument().createTextNode(QString::number(val));
- elem.appendChild(text);
- }
- }
-
- static inline void writeXml(QDomNode& xml, const QString& tag, quint32 val)
- {
- if(val != NOINT)
- {
- QDomElement elem = xml.ownerDocument().createElement(tag);
- xml.appendChild(elem);
- QDomText text = xml.ownerDocument().createTextNode(QString::number(val));
- elem.appendChild(text);
- }
- }
-
- static inline void writeXml(QDomNode& xml, const QString& tag, quint64 val)
- {
- if(val != 0)
- {
- QDomElement elem = xml.ownerDocument().createElement(tag);
- xml.appendChild(elem);
- QDomText text = xml.ownerDocument().createTextNode(QString::number(val));
- elem.appendChild(text);
- }
- }
-
- static inline void writeXml(QDomNode& xml, const QString& tag, const QString& val)
- {
- if(!val.isEmpty())
- {
- QDomElement elem = xml.ownerDocument().createElement(tag);
- xml.appendChild(elem);
- QDomText text = xml.ownerDocument().createTextNode(val);
- elem.appendChild(text);
- }
- }
-
- static inline void writeXml(QDomNode& xml, const QString& tag, qreal val)
- {
- if(val != NOFLOAT)
- {
- QDomElement elem = xml.ownerDocument().createElement(tag);
- xml.appendChild(elem);
- QDomText text = xml.ownerDocument().createTextNode(QString("%1").arg(val,0,'f',8));
- elem.appendChild(text);
- }
- }
-
- static inline void writeXmlHtml(QDomNode& xml, const QString& tag, const QString& val)
- {
- if(!val.isEmpty())
- {
- QDomElement elem = xml.ownerDocument().createElement(tag);
- xml.appendChild(elem);
- QDomText text = xml.ownerDocument().createCDATASection(val);
- elem.appendChild(text);
- elem.setAttribute("html","True");
-
- }
- }
-
- static inline void writeXml(QDomNode& xml, const QString& tag, const QDateTime& time)
- {
- if(time.isValid())
- {
- QDomElement elem = xml.ownerDocument().createElement(tag);
- xml.appendChild(elem);
- QDomText text = xml.ownerDocument().createTextNode(time.toString("yyyy-MM-dd'T'hh:mm:ss'Z'"));
- elem.appendChild(text);
- }
- }
-
-
- static inline void writeXml(QDomNode& xml, const QString& tag, const QList<link_t>& links)
- {
- if(!links.isEmpty())
- {
- foreach(const link_t& link, links)
- {
- QDomElement elem = xml.ownerDocument().createElement(tag);
- xml.appendChild(elem);
-
- elem.setAttribute("href", link.uri.toString());
- writeXml(elem, "text", link.text);
- writeXml(elem, "type", link.type);
- }
- }
- }
-
- static inline bool isBlocked(const QRectF& rect, const QList<QRectF> &blockedAreas)
- {
- foreach(const QRectF& r, blockedAreas)
- {
- if(rect.intersects(r))
- {
- return true;
- }
- }
- return false;
- }
-
-
-};
-
-#endif //IGISITEM_H
-
diff --git a/.hg/Trashcan/IGisItem_yfQJAp.cpp.bak b/.hg/Trashcan/IGisItem_yfQJAp.cpp.bak
deleted file mode 100644
index 67461dc..0000000
--- a/.hg/Trashcan/IGisItem_yfQJAp.cpp.bak
+++ /dev/null
@@ -1,286 +0,0 @@
-/**********************************************************************************************
- Copyright (C) 2014 Oliver Eichler oliver.eichler at gmx.de
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-**********************************************************************************************/
-
-#include "gis/IGisItem.h"
-#include "units/IUnit.h"
-#include "canvas/CCanvas.h"
-#include "GeoMath.h"
-
-#include <QtXml>
-#include <QtWidgets>
-
-QMutex IGisItem::mutexItems(QMutex::Recursive);
-
-const IGisItem::color_t IGisItem::colorMap[] =
-{
- {"Black", QColor(Qt::black)}
- ,{"DarkRed", QColor(Qt::darkRed)}
- ,{"DarkGreen", QColor(Qt::darkGreen)}
- ,{"DarkYellow", QColor(Qt::darkYellow)}
- ,{"DarkBlue", QColor(Qt::darkBlue)}
- ,{"DarkMagenta", QColor(Qt::darkMagenta)}
- ,{"DarkCyan", QColor(Qt::darkCyan)}
- ,{"LightGray", QColor(Qt::gray)}
- ,{"DarkGray", QColor(Qt::darkGray)}
- ,{"Red", QColor(Qt::red)}
- ,{"Green", QColor(Qt::green)}
- ,{"Yellow", QColor(Qt::yellow)}
- ,{"Blue", QColor(Qt::blue)}
- ,{"Magenta", QColor(Qt::magenta)}
- ,{"Cyan", QColor(Qt::cyan)}
- ,{"White", QColor(Qt::white)}
- ,{"Transparent", QColor(Qt::transparent)}
- ,{0, QColor()}
-
-};
-
-IGisItem::IGisItem(QTreeWidgetItem *parent)
- : QTreeWidgetItem(parent)
-{
-
-}
-
-IGisItem::~IGisItem()
-{
-
-}
-
-void IGisItem::readWpt(const QDomNode& xml, wpt_t& wpt)
-{
- const QDomNamedNodeMap& attr = xml.attributes();
- wpt.lat = attr.namedItem("lat").nodeValue().toDouble();
- wpt.lon = attr.namedItem("lon").nodeValue().toDouble();
-
- readXml(xml, "ele", wpt.ele);
- readXml(xml, "time", wpt.time);
- readXml(xml, "magvar", wpt.magvar);
- readXml(xml, "geoidheight", wpt.geoidheight);
- readXml(xml, "name", wpt.name);
- readXml(xml, "cmt", wpt.cmt);
- readXml(xml, "desc", wpt.desc);
- readXml(xml, "src", wpt.src);
- readXml(xml, "link", wpt.links);
- readXml(xml, "sym", wpt.sym);
- readXml(xml, "type", wpt.type);
- readXml(xml, "fix", wpt.fix);
- readXml(xml, "sat", wpt.sat);
- readXml(xml, "hdop", wpt.hdop);
- readXml(xml, "vdop", wpt.vdop);
- readXml(xml, "pdop", wpt.pdop);
- readXml(xml, "ageofdgpsdata", wpt.ageofdgpsdata);
- readXml(xml, "dgpsid", wpt.dgpsid);
-
- // some GPX 1.0 backward compatibility
- QString url;
- readXml(xml, "url", url);
- if(!url.isEmpty())
- {
- link_t link;
- link.uri.setUrl(url);
- readXml(xml, "urlname", link.text);
-
- wpt.links << link;
- }
-
-}
-
-
-void IGisItem::writeWpt(QDomElement& xml, const wpt_t& wpt)
-{
- QString str;
-
- str.sprintf("%1.8f", wpt.lat);
- xml.setAttribute("lat",str);
- str.sprintf("%1.8f", wpt.lon);
- xml.setAttribute("lon",str);
-
- writeXml(xml, "ele", wpt.ele);
- writeXml(xml, "time", wpt.time);
- writeXml(xml, "magvar", wpt.magvar);
- writeXml(xml, "geoidheight", wpt.geoidheight);
- writeXml(xml, "name", wpt.name);
- writeXml(xml, "cmt", wpt.cmt);
- writeXml(xml, "desc", wpt.desc);
- writeXml(xml, "src", wpt.src);
- writeXml(xml, "link", wpt.links);
- writeXml(xml, "sym", wpt.sym);
- writeXml(xml, "type", wpt.type);
- writeXml(xml, "fix", wpt.fix);
- writeXml(xml, "sat", wpt.sat);
- writeXml(xml, "hdop", wpt.hdop);
- writeXml(xml, "vdop", wpt.vdop);
- writeXml(xml, "pdop", wpt.pdop);
- writeXml(xml, "ageofdgpsdata", wpt.ageofdgpsdata);
- writeXml(xml, "dgpsid", wpt.dgpsid);
-
-}
-
-const QString& IGisItem::getKey()
-{
- if(key.isEmpty())
- {
- genKey();
- }
- return key;
-}
-
-QColor IGisItem::str2color(const QString& name)
-{
- const color_t * p = colorMap;
- while(p->name)
- {
- if(p->name == name)
- {
- return p->color;
- }
- p++;
- }
-
- return QColor();
-}
-
-QString IGisItem::color2str(const QColor& color)
-{
- const color_t * p = colorMap;
- while(p->name)
- {
- if(p->color == color)
- {
- return p->name;
- }
- p++;
- }
-
- return "";
-}
-
-void IGisItem::splitLineToViewport(const QPolygonF& line, const QRectF& extViewport, QList<QPolygonF>& lines)
-{
- int i;
- QPointF pt, ptt, pt1;
- QPolygonF subline;
- const int size = line.size();
-
- pt = line[0];
- subline << pt;
-
- for(i = 1; i < size; i++)
- {
- pt1 = line[i];
-
- if(!GPS_Math_LineCrossesRect(pt, pt1, extViewport))
- {
- pt = pt1;
- if(subline.size() > 1)
- {
- lines << subline;
- }
- subline.clear();
- subline << pt;
- continue;
- }
-
- ptt = pt1 - pt;
- if(ptt.manhattanLength() < 5)
- {
- continue;
- }
-
- subline << pt1;
- pt = pt1;
- }
-
- if(subline.size() > 1)
- {
- lines << subline;
- }
-
-}
-
-void IGisItem::drawArrows(const QPolygonF& line, const QRectF& extViewport, QPainter& p)
-{
- QPointF arrow[4] =
- {
- QPointF( 20.0, 7.0), //front
- QPointF( 0.0, 0.0), //upper tail
- QPointF( 5.0, 7.0), //mid tail
- QPointF( 0.0, 15.0) //lower tail
- };
-
- QPointF pt, pt1, ptt;
-
- // draw direction arrows
- bool start = true;
- double heading;
-
- //generate arrow pic on-the-fly
- QImage arrow_pic(21,16, QImage::Format_ARGB32);
- arrow_pic.fill( qRgba(0,0,0,0));
- QPainter t_paint(&arrow_pic);
- USE_ANTI_ALIASING(t_paint, true);
- t_paint.setPen(QPen(Qt::white, 2));
- t_paint.setBrush(p.brush());
- t_paint.drawPolygon(arrow, 4);
- t_paint.end();
-
- foreach(pt,line)
- {
- if(start) // no arrow on the first loop
- {
- start = false;
- }
- else
- {
- if(!extViewport.contains(pt))
- {
- pt1 = pt;
- continue;
- }
- if((qAbs(pt.x() - pt1.x()) + qAbs(pt.y() - pt1.y())) < 7)
- {
- pt1 = pt;
- continue;
- }
- // keep distance
- if((qAbs(pt.x() - ptt.x()) + qAbs(pt.y() - ptt.y())) > 100)
- {
- if(0 != pt.x() - pt1.x() && (pt.y() - pt1.y()))
- {
- heading = ( atan2((double)(pt.y() - pt1.y()), (double)(pt.x() - pt1.x())) * 180.) / M_PI;
-
- p.save();
- // draw arrow between bullets
- p.translate((pt.x() + pt1.x())/2,(pt.y() + pt1.y())/2);
- p.rotate(heading);
- p.drawImage(-11, -7, arrow_pic);
- p.restore();
- //remember last point
- ptt = pt;
- }
- }
- }
- pt1 = pt;
- }
-}
-
-QString IGisItem::removeHtml(const QString &str)
-{
- QTextDocument html;
- html.setHtml(str);
- return html.toPlainText();
-}
diff --git a/.hg/Trashcan/IGisProject_117WVD.cpp.bak b/.hg/Trashcan/IGisProject_117WVD.cpp.bak
deleted file mode 100644
index 80eee79..0000000
--- a/.hg/Trashcan/IGisProject_117WVD.cpp.bak
+++ /dev/null
@@ -1,458 +0,0 @@
-/**********************************************************************************************
- Copyright (C) 2014 Oliver Eichler oliver.eichler at gmx.de
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-**********************************************************************************************/
-
-#include "gis/prj/IGisProject.h"
-#include "gis/prj/CDetailsPrj.h"
-#include "gis/IGisItem.h"
-#include "gis/wpt/CGisItemWpt.h"
-#include "gis/trk/CGisItemTrk.h"
-#include "gis/rte/CGisItemRte.h"
-#include "gis/ovl/CGisItemOvlArea.h"
-#include "gis/CGisListWks.h"
-#include "gis/CGisDraw.h"
-#include "helpers/CSelectCopyAction.h"
-#include "CMainWindow.h"
-
-
-#include <QtWidgets>
-
-
-IGisProject::IGisProject(type_e type, const QString &filename, CGisListWks *parent)
- : QTreeWidgetItem(parent)
- , type(type)
- , filename(filename)
- , valid(false)
-{
-
-}
-
-IGisProject::~IGisProject()
-{
- delete dlgDetails;
-}
-
-
-void IGisProject::genKey()
-{
- if(key.isEmpty())
- {
- QByteArray buffer;
- QDataStream stream(&buffer, QIODevice::WriteOnly);
- stream.setByteOrder(QDataStream::LittleEndian);
- stream.setVersion(QDataStream::Qt_5_2);
-
- *this >> stream;
-
- QCryptographicHash md5(QCryptographicHash::Md5);
- md5.addData(buffer);
- key = md5.result().toHex();
- }
-}
-
-
-void IGisProject::edit()
-{
- if(dlgDetails.isNull())
- {
- dlgDetails = new CDetailsPrj(*this, 0);
- dlgDetails->setObjectName(getName());
- }
-
- CMainWindow::self().addWidgetToTab(dlgDetails);
-}
-
-void IGisProject::setName(const QString& str)
-{
- metadata.name = str;
- setText(CGisListWks::eColumnName, str);
- changed();
-}
-
-void IGisProject::setKeywords(const QString& str)
-{
- metadata.keywords = str;
- changed();
-}
-
-void IGisProject::setDescription(const QString& str)
-{
- metadata.desc = str;
- changed();
-}
-
-void IGisProject::setLinks(const QList<IGisItem::link_t>& links)
-{
- metadata.links = links;
- changed();
-}
-
-void IGisProject::changed()
-{
- setText(CGisListWks::eColumnDecoration,"*");
-}
-
-
-void IGisProject::setupName(const QString &defaultName)
-{
- if(metadata.name.isEmpty())
- {
- setText(CGisListWks::eColumnName, defaultName);
- metadata.name = defaultName;
- }
- else
- {
- setText(CGisListWks::eColumnName,metadata.name);
- }
-
-}
-
-void IGisProject::markAsSaved()
-{
- setText(CGisListWks::eColumnDecoration,"");
- for(int i = 0; i < childCount(); i++)
- {
-
- IGisItem * item = dynamic_cast<IGisItem*>(child(i));
- if(item == 0)
- {
- continue;
- }
- item->updateDecoration(IGisItem::eMarkNone, IGisItem::eMarkChanged);
- }
-}
-
-QString IGisProject::getInfo()
-{
- QString str = metadata.name.isEmpty() ? text(CGisListWks::eColumnName) : metadata.name;
- str = "<div style='font-weight: bold;'>" + str + "</div>";
-
- if(metadata.time.isValid())
- {
- str += "<br/>\n";
- str += IUnit::datetime2string(metadata.time, false);
- }
-
-
- QString desc = IGisItem::removeHtml(metadata.desc).simplified();
- if(!desc.isEmpty())
- {
- str += "<br/>\n";
-
- if(desc.count() < 100)
- {
- str += desc;
- }
- else
- {
- str += desc.left(97) + "...";
- }
- }
-
- if(!filename.isEmpty())
- {
- str += QObject::tr("<br/>\nFilename: %1").arg(filename);
- }
-
- // count number of items by type
- int counter[IGisItem::eTypeMax] = {0};
- for(int i = 0; i < childCount(); i++)
- {
- IGisItem * item = dynamic_cast<IGisItem*>(child(i));
- if(item == 0)
- {
- continue;
- }
-
- counter[item->type()]++;
- }
- if(counter[IGisItem::eTypeWpt])
- {
- str += "<br/>\n" + QObject::tr("Waypoints: %1").arg(counter[IGisItem::eTypeWpt]);
- }
- if(counter[IGisItem::eTypeTrk])
- {
- str += "<br/>\n" + QObject::tr("Tracks: %1").arg(counter[IGisItem::eTypeTrk]);
- }
- if(counter[IGisItem::eTypeRte])
- {
- str += "<br/>\n" + QObject::tr("Routes: %1").arg(counter[IGisItem::eTypeRte]);
- }
- if(counter[IGisItem::eTypeOvl])
- {
- str += "<br/>\n" + QObject::tr("Areas: %1").arg(counter[IGisItem::eTypeOvl]);
- }
-
- return str;
-}
-
-IGisItem * IGisProject::getItemByKey(const IGisItem::key_t& key)
-{
- for(int i = 0; i < childCount(); i++)
- {
-
- IGisItem * item = dynamic_cast<IGisItem*>(child(i));
- if(item == 0)
- {
- continue;
- }
-
- if(item->getKey() == key)
- {
- return item;
- }
- }
- return 0;
-}
-
-void IGisProject::getItemByPos(const QPointF& pos, QList<IGisItem *> &items)
-{
- for(int i = 0; i < childCount(); i++)
- {
-
- IGisItem * item = dynamic_cast<IGisItem*>(child(i));
- if(item == 0)
- {
- continue;
- }
-
- if(item->isCloseTo(pos))
- {
- items << item;
- }
- }
-}
-
-
-bool IGisProject::delItemByKey(const IGisItem::key_t& key, QMessageBox::StandardButtons& last)
-{
- for(int i = childCount(); i > 0; i--)
- {
- IGisItem * item = dynamic_cast<IGisItem*>(child(i-1));
- if(item == 0)
- {
- continue;
- }
-
- if(item->getKey() == key)
- {
- if(last != QMessageBox::YesToAll)
- {
- QString msg = QObject::tr("Are you sure you want to delete '%1' from project '%2'?").arg(item->getName()).arg(text(CGisListWks::eColumnName));
- last = QMessageBox::question(0, QObject::tr("Delete..."), msg, QMessageBox::YesToAll|QMessageBox::Cancel|QMessageBox::Ok|QMessageBox::No, QMessageBox::Ok);
- if((last == QMessageBox::No) || (last == QMessageBox::Cancel))
- {
- // as each item in the project has to be unique, we can stop searching.
- return false;
- }
- }
- delete item;
-
- /*
- Database projects are a bit different. Deleteing an item does not really
- mean the project is changed as the item is still stored in the database.
- */
- if(type != eTypeDb)
- {
- changed();
- }
-
- // as each item in the project has to be unique, we can stop searching.
- return true;
- }
- }
- return false;
-}
-
-void IGisProject::editItemByKey(const IGisItem::key_t& key)
-{
- for(int i = childCount(); i > 0; i--)
- {
- IGisItem * item = dynamic_cast<IGisItem*>(child(i-1));
- if(item == 0)
- {
- continue;
- }
-
- if(item->getKey() == key)
- {
- item->edit();
- }
- }
-}
-
-
-void IGisProject::insertCopyOfItem(IGisItem * item, int off, int& lastResult)
-{
- bool clone = false;
- IGisItem::key_t key = item->getKey();
- key.project = getKey();
-
- IGisItem * item2 = getItemByKey(key);
- if(item2 != 0)
- {
-
- int result = lastResult;
- if(lastResult == CSelectCopyAction::eResultNone)
- {
- CSelectCopyAction dlg(item, item2, 0);
- dlg.exec();
- result = dlg.getResult();
- if(dlg.allOthersToo())
- {
- lastResult = result;
- }
- }
-
- if(result == CSelectCopyAction::eResultSkip)
- {
- return;
- }
- if(result == CSelectCopyAction::eResultNone)
- {
- return;
- }
- if(result == CSelectCopyAction::eResultClone)
- {
- clone = true;
- }
- else
- {
- // replace item2 with item
- if(item != item2)
- {
- delete item2;
- }
- else
- {
- // replacing an item with itself does not make sense
- return;
- }
- }
- }
-
- switch(item->type())
- {
- case IGisItem::eTypeTrk:
- {
- CGisItemTrk * trk = dynamic_cast<CGisItemTrk*>(item);
- if(trk != 0)
- {
- new CGisItemTrk(*trk, this, off, clone);
- }
- break;
- }
- case IGisItem::eTypeWpt:
- {
- CGisItemWpt * wpt = dynamic_cast<CGisItemWpt*>(item);
- if(wpt != 0)
- {
- new CGisItemWpt(*wpt, this, off, clone);
- }
- break;
- }
- case IGisItem::eTypeRte:
- {
- CGisItemRte * rte = dynamic_cast<CGisItemRte*>(item);
- if(rte != 0)
- {
- new CGisItemRte(*rte, this, off, clone);
- }
- break;
- }
- case IGisItem::eTypeOvl:
- {
- CGisItemOvlArea * area = dynamic_cast<CGisItemOvlArea*>(item);
- if(area != 0)
- {
- new CGisItemOvlArea(*area, this, off, clone);
- }
- break;
- }
- }
-}
-
-void IGisProject::drawItem(QPainter& p, const QRectF& viewport, QList<QRectF>& blockedAreas, QSet<QString> &seenKeys, CGisDraw * gis)
-{
- for(int i = 0; i < childCount(); i++)
- {
- if(gis->needsRedraw())
- {
- break;
- }
-
- IGisItem * item = dynamic_cast<IGisItem*>(child(i));
- if(item == 0)
- {
- continue;
- }
-
-// if(seenKeys.contains(item->getKey()))
-// {
-// continue;
-// }
-// seenKeys << item->getKey();
-
- item->drawItem(p, viewport, blockedAreas, gis);
- }
-
-}
-
-void IGisProject::drawItem(QPainter& p, const QRectF& viewport, CGisDraw * gis)
-{
- for(int i = 0; i < childCount(); i++)
- {
-
- IGisItem * item = dynamic_cast<IGisItem*>(child(i));
- if(item == 0)
- {
- continue;
- }
-
-
- item->drawItem(p, viewport, gis);
- }
-
-}
-
-void IGisProject::drawLabel(QPainter& p, const QRectF& viewport, QList<QRectF>& blockedAreas, QSet<QString> &seenKeys, const QFontMetricsF& fm, CGisDraw * gis)
-{
-
- for(int i = 0; i < childCount(); i++)
- {
- if(gis->needsRedraw())
- {
- break;
- }
-
- IGisItem * item = dynamic_cast<IGisItem*>(child(i));
- if(item == 0)
- {
- continue;
- }
-
-// if(seenKeys.contains(item->getKey()))
-// {
-// continue;
-// }
-// seenKeys << item->getKey();
-
- item->drawLabel(p, viewport, blockedAreas, fm, gis);
- }
-
-}
-
diff --git a/.hg/Trashcan/IGisProject_AqlgcN.cpp.bak b/.hg/Trashcan/IGisProject_AqlgcN.cpp.bak
deleted file mode 100644
index fa9624e..0000000
--- a/.hg/Trashcan/IGisProject_AqlgcN.cpp.bak
+++ /dev/null
@@ -1,458 +0,0 @@
-/**********************************************************************************************
- Copyright (C) 2014 Oliver Eichler oliver.eichler at gmx.de
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-**********************************************************************************************/
-
-#include "gis/prj/IGisProject.h"
-#include "gis/prj/CDetailsPrj.h"
-#include "gis/IGisItem.h"
-#include "gis/wpt/CGisItemWpt.h"
-#include "gis/trk/CGisItemTrk.h"
-#include "gis/rte/CGisItemRte.h"
-#include "gis/ovl/CGisItemOvlArea.h"
-#include "gis/CGisListWks.h"
-#include "gis/CGisDraw.h"
-#include "helpers/CSelectCopyAction.h"
-#include "CMainWindow.h"
-
-
-#include <QtWidgets>
-
-
-IGisProject::IGisProject(type_e type, const QString &filename, CGisListWks *parent)
- : QTreeWidgetItem(parent)
- , type(type)
- , filename(filename)
- , valid(false)
-{
-
-}
-
-IGisProject::~IGisProject()
-{
- delete dlgDetails;
-}
-
-
-void IGisProject::genKey()
-{
- if(key.isEmpty())
- {
- QByteArray buffer;
- QDataStream stream(&buffer, QIODevice::WriteOnly);
- stream.setByteOrder(QDataStream::LittleEndian);
- stream.setVersion(QDataStream::Qt_5_2);
-
- *this >> stream;
-
- QCryptographicHash md5(QCryptographicHash::Md5);
- md5.addData(buffer);
- key = md5.result().toHex();
- }
-}
-
-
-void IGisProject::edit()
-{
- if(dlgDetails.isNull())
- {
- dlgDetails = new CDetailsPrj(*this, 0);
- dlgDetails->setObjectName(getName());
- }
-
- CMainWindow::self().addWidgetToTab(dlgDetails);
-}
-
-void IGisProject::setName(const QString& str)
-{
- metadata.name = str;
- setText(CGisListWks::eColumnName, str);
- changed();
-}
-
-void IGisProject::setKeywords(const QString& str)
-{
- metadata.keywords = str;
- changed();
-}
-
-void IGisProject::setDescription(const QString& str)
-{
- metadata.desc = str;
- changed();
-}
-
-void IGisProject::setLinks(const QList<IGisItem::link_t>& links)
-{
- metadata.links = links;
- changed();
-}
-
-void IGisProject::changed()
-{
- setText(CGisListWks::eColumnDecoration,"*");
-}
-
-
-void IGisProject::setupName(const QString &defaultName)
-{
- if(metadata.name.isEmpty())
- {
- setText(CGisListWks::eColumnName, defaultName);
- metadata.name = defaultName;
- }
- else
- {
- setText(CGisListWks::eColumnName,metadata.name);
- }
-
-}
-
-void IGisProject::markAsSaved()
-{
- setText(CGisListWks::eColumnDecoration,"");
- for(int i = 0; i < childCount(); i++)
- {
-
- IGisItem * item = dynamic_cast<IGisItem*>(child(i));
- if(item == 0)
- {
- continue;
- }
- item->updateDecoration(IGisItem::eMarkNone, IGisItem::eMarkChanged);
- }
-}
-
-QString IGisProject::getInfo() const
-{
- QString str = metadata.name.isEmpty() ? text(CGisListWks::eColumnName) : metadata.name;
- str = "<div style='font-weight: bold;'>" + str + "</div>";
-
- if(metadata.time.isValid())
- {
- str += "<br/>\n";
- str += IUnit::datetime2string(metadata.time, false);
- }
-
-
- QString desc = IGisItem::removeHtml(metadata.desc).simplified();
- if(!desc.isEmpty())
- {
- str += "<br/>\n";
-
- if(desc.count() < 100)
- {
- str += desc;
- }
- else
- {
- str += desc.left(97) + "...";
- }
- }
-
- if(!filename.isEmpty())
- {
- str += QObject::tr("<br/>\nFilename: %1").arg(filename);
- }
-
- // count number of items by type
- int counter[IGisItem::eTypeMax] = {0};
- for(int i = 0; i < childCount(); i++)
- {
- IGisItem * item = dynamic_cast<IGisItem*>(child(i));
- if(item == 0)
- {
- continue;
- }
-
- counter[item->type()]++;
- }
- if(counter[IGisItem::eTypeWpt])
- {
- str += "<br/>\n" + QObject::tr("Waypoints: %1").arg(counter[IGisItem::eTypeWpt]);
- }
- if(counter[IGisItem::eTypeTrk])
- {
- str += "<br/>\n" + QObject::tr("Tracks: %1").arg(counter[IGisItem::eTypeTrk]);
- }
- if(counter[IGisItem::eTypeRte])
- {
- str += "<br/>\n" + QObject::tr("Routes: %1").arg(counter[IGisItem::eTypeRte]);
- }
- if(counter[IGisItem::eTypeOvl])
- {
- str += "<br/>\n" + QObject::tr("Areas: %1").arg(counter[IGisItem::eTypeOvl]);
- }
-
- return str;
-}
-
-IGisItem * IGisProject::getItemByKey(const IGisItem::key_t& key)
-{
- for(int i = 0; i < childCount(); i++)
- {
-
- IGisItem * item = dynamic_cast<IGisItem*>(child(i));
- if(item == 0)
- {
- continue;
- }
-
- if(item->getKey() == key)
- {
- return item;
- }
- }
- return 0;
-}
-
-void IGisProject::getItemByPos(const QPointF& pos, QList<IGisItem *> &items)
-{
- for(int i = 0; i < childCount(); i++)
- {
-
- IGisItem * item = dynamic_cast<IGisItem*>(child(i));
- if(item == 0)
- {
- continue;
- }
-
- if(item->isCloseTo(pos))
- {
- items << item;
- }
- }
-}
-
-
-bool IGisProject::delItemByKey(const IGisItem::key_t& key, QMessageBox::StandardButtons& last)
-{
- for(int i = childCount(); i > 0; i--)
- {
- IGisItem * item = dynamic_cast<IGisItem*>(child(i-1));
- if(item == 0)
- {
- continue;
- }
-
- if(item->getKey() == key)
- {
- if(last != QMessageBox::YesToAll)
- {
- QString msg = QObject::tr("Are you sure you want to delete '%1' from project '%2'?").arg(item->getName()).arg(text(CGisListWks::eColumnName));
- last = QMessageBox::question(0, QObject::tr("Delete..."), msg, QMessageBox::YesToAll|QMessageBox::Cancel|QMessageBox::Ok|QMessageBox::No, QMessageBox::Ok);
- if((last == QMessageBox::No) || (last == QMessageBox::Cancel))
- {
- // as each item in the project has to be unique, we can stop searching.
- return false;
- }
- }
- delete item;
-
- /*
- Database projects are a bit different. Deleteing an item does not really
- mean the project is changed as the item is still stored in the database.
- */
- if(type != eTypeDb)
- {
- changed();
- }
-
- // as each item in the project has to be unique, we can stop searching.
- return true;
- }
- }
- return false;
-}
-
-void IGisProject::editItemByKey(const IGisItem::key_t& key)
-{
- for(int i = childCount(); i > 0; i--)
- {
- IGisItem * item = dynamic_cast<IGisItem*>(child(i-1));
- if(item == 0)
- {
- continue;
- }
-
- if(item->getKey() == key)
- {
- item->edit();
- }
- }
-}
-
-
-void IGisProject::insertCopyOfItem(IGisItem * item, int off, int& lastResult)
-{
- bool clone = false;
- IGisItem::key_t key = item->getKey();
- key.project = getKey();
-
- IGisItem * item2 = getItemByKey(key);
- if(item2 != 0)
- {
-
- int result = lastResult;
- if(lastResult == CSelectCopyAction::eResultNone)
- {
- CSelectCopyAction dlg(item, item2, 0);
- dlg.exec();
- result = dlg.getResult();
- if(dlg.allOthersToo())
- {
- lastResult = result;
- }
- }
-
- if(result == CSelectCopyAction::eResultSkip)
- {
- return;
- }
- if(result == CSelectCopyAction::eResultNone)
- {
- return;
- }
- if(result == CSelectCopyAction::eResultClone)
- {
- clone = true;
- }
- else
- {
- // replace item2 with item
- if(item != item2)
- {
- delete item2;
- }
- else
- {
- // replacing an item with itself does not make sense
- return;
- }
- }
- }
-
- switch(item->type())
- {
- case IGisItem::eTypeTrk:
- {
- CGisItemTrk * trk = dynamic_cast<CGisItemTrk*>(item);
- if(trk != 0)
- {
- new CGisItemTrk(*trk, this, off, clone);
- }
- break;
- }
- case IGisItem::eTypeWpt:
- {
- CGisItemWpt * wpt = dynamic_cast<CGisItemWpt*>(item);
- if(wpt != 0)
- {
- new CGisItemWpt(*wpt, this, off, clone);
- }
- break;
- }
- case IGisItem::eTypeRte:
- {
- CGisItemRte * rte = dynamic_cast<CGisItemRte*>(item);
- if(rte != 0)
- {
- new CGisItemRte(*rte, this, off, clone);
- }
- break;
- }
- case IGisItem::eTypeOvl:
- {
- CGisItemOvlArea * area = dynamic_cast<CGisItemOvlArea*>(item);
- if(area != 0)
- {
- new CGisItemOvlArea(*area, this, off, clone);
- }
- break;
- }
- }
-}
-
-void IGisProject::drawItem(QPainter& p, const QRectF& viewport, QList<QRectF>& blockedAreas, QSet<QString> &seenKeys, CGisDraw * gis)
-{
- for(int i = 0; i < childCount(); i++)
- {
- if(gis->needsRedraw())
- {
- break;
- }
-
- IGisItem * item = dynamic_cast<IGisItem*>(child(i));
- if(item == 0)
- {
- continue;
- }
-
-// if(seenKeys.contains(item->getKey()))
-// {
-// continue;
-// }
-// seenKeys << item->getKey();
-
- item->drawItem(p, viewport, blockedAreas, gis);
- }
-
-}
-
-void IGisProject::drawItem(QPainter& p, const QRectF& viewport, CGisDraw * gis)
-{
- for(int i = 0; i < childCount(); i++)
- {
-
- IGisItem * item = dynamic_cast<IGisItem*>(child(i));
- if(item == 0)
- {
- continue;
- }
-
-
- item->drawItem(p, viewport, gis);
- }
-
-}
-
-void IGisProject::drawLabel(QPainter& p, const QRectF& viewport, QList<QRectF>& blockedAreas, QSet<QString> &seenKeys, const QFontMetricsF& fm, CGisDraw * gis)
-{
-
- for(int i = 0; i < childCount(); i++)
- {
- if(gis->needsRedraw())
- {
- break;
- }
-
- IGisItem * item = dynamic_cast<IGisItem*>(child(i));
- if(item == 0)
- {
- continue;
- }
-
-// if(seenKeys.contains(item->getKey()))
-// {
-// continue;
-// }
-// seenKeys << item->getKey();
-
- item->drawLabel(p, viewport, blockedAreas, fm, gis);
- }
-
-}
-
diff --git a/.hg/Trashcan/IGisProject_duaZSF.h.bak b/.hg/Trashcan/IGisProject_duaZSF.h.bak
deleted file mode 100644
index 1168042..0000000
--- a/.hg/Trashcan/IGisProject_duaZSF.h.bak
+++ /dev/null
@@ -1,212 +0,0 @@
-/**********************************************************************************************
- Copyright (C) 2014 Oliver Eichler oliver.eichler at gmx.de
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-**********************************************************************************************/
-
-#ifndef IGISPROJECT_H
-#define IGISPROJECT_H
-
-#include "gis/IGisItem.h"
-#include <QTreeWidgetItem>
-#include <QPointer>
-#include <QMessageBox>
-
-class CGisListWks;
-class IGisItem;
-class CGisDraw;
-class QDataStream;
-class CDetailsPrj;
-
-class IGisProject : public QTreeWidgetItem
-{
- public:
- enum type_e
- {
- eTypeGoogle
- , eTypeQms
- , eTypeGpx
- , eTypeDb
- };
-
- struct person_t
- {
- QString name;
- QString id;
- QString domain;
- IGisItem::link_t link;
- };
-
- struct copyright_t
- {
- QString author;
- QString year;
- QString license;
- };
-
- struct metadata_t
- {
- metadata_t() : time(QDateTime::currentDateTimeUtc()){}
- QString name;
- QString desc;
- person_t author;
- copyright_t copyright;
- QList<IGisItem::link_t> links;
- QDateTime time;
- QString keywords;
- QRectF bounds;
- // -- all gpx tags - stop
- QMap<QString, QVariant> extensions;
-
- };
-
- IGisProject(type_e type, const QString& filename, CGisListWks * parent);
- virtual ~IGisProject();
-
- void edit();
-
- virtual void save() = 0;
- virtual void saveAs() = 0;
-
- virtual void setFilename(const QString& fn){filename = fn;}
- virtual QString getFilename(){return filename;}
-
- type_e getType(){return type;}
-
- /**
- @brief Get unique project key.
- @return A MD5 hash string
- */
- const QString& getKey(){genKey(); return key;}
- const QString& getName(){return metadata.name;}
- const QDateTime& getTime(){return metadata.time;}
- const QString& getKeywords(){return metadata.keywords;}
- const QString& getDescription(){return metadata.desc;}
- const QList<IGisItem::link_t>& getLinks(){return metadata.links;}
-
-
- void setName(const QString& str);
- void setKeywords(const QString& str);
- void setDescription(const QString& str);
- void setLinks(const QList<IGisItem::link_t>& links);
-
- /**
- @brief Get a short metadata summary
- @return Informational string.
- */
- virtual QString getInfo();
- /**
- @brief Get a temporary pointer to the item with matching key
- @param key
- @return If no item is found 0 is returned.
- */
- IGisItem * getItemByKey(const IGisItem::key_t &key);
-
- /**
- @brief Get a list of items that are close to a given pixel coordinate of the screen
-
- @note: The returned pointers are just for temporary use. Best you use them to get the item's key.
-
- @param pos the coordinate on the screen in pixel
- @param items a list the item's pointer is stored to.
- */
- void getItemByPos(const QPointF& pos, QList<IGisItem*>& items);
-
- /**
- @brief Delete items with matching key
- @param key
- */
- bool delItemByKey(const IGisItem::key_t &key, QMessageBox::StandardButtons &last);
-
- /**
- @brief Call IGisItem::edit() method for items with given key
-
- @param key a MD5 hash key
- */
- void editItemByKey(const IGisItem::key_t &key);
-
- void insertCopyOfItem(IGisItem *item, int off, int &lastResult);
-
- /**
- @brief Check if the project was initialized correctly.
-
- For example a if a GPX file does not load correctly the project is invalid.
-
- @return True if project is valid
- */
- bool isValid(){return valid;}
-
- void drawItem(QPainter& p, const QRectF& viewport, QList<QRectF>& blockedAreas, QSet<QString> &seenKeys, CGisDraw * gis);
- void drawLabel(QPainter& p, const QRectF& viewport, QList<QRectF>& blockedAreas, QSet<QString> &seenKeys, const QFontMetricsF& fm, CGisDraw * gis);
- void drawItem(QPainter& p, const QRectF& viewport, CGisDraw * gis);
-
- /**
- @brief Serialize object out of a QDataStream
-
- See CGisSerialization.cpp for implementation
-
- @param stream the binary data stream
- @return The stream object.
- */
- virtual QDataStream& operator<<(QDataStream& stream);
-
- /**
- @brief Serialize object into a QDataStream
-
- See CGisSerialization.cpp for implementation
-
- @param stream the binary data stream
- @return The stream object.
- */
- virtual QDataStream& operator>>(QDataStream& stream);
-
- /**
- @brief writeMetadata
- @param doc
- @return
- */
- QDomNode writeMetadata(QDomDocument& doc);
-
- protected:
- void genKey();
- void setupName(const QString& defaultName);
- void markAsSaved();
- void readMetadata(const QDomNode& xml, metadata_t& metadata);
- void changed();
-
- // Those are the URIs of the GPX extensions we support
- static const QString gpxx_ns;
- static const QString gpxtpx_ns;
- static const QString wptx1_ns;
- static const QString rmc_ns;
- static const QString ql_ns;
- static const QString gs_ns;
- // Those are standard GPX/XML namespaces
- static const QString gpx_ns;
- static const QString xsi_ns;
-
- type_e type;
- QString key;
- QString filename;
- bool valid;
-
- metadata_t metadata;
-
- QPointer<CDetailsPrj> dlgDetails;
-
-};
-
-#endif //IGISPROJECT_H
-
diff --git a/.hg/Trashcan/IGisProject_hRc9Iq.h.bak b/.hg/Trashcan/IGisProject_hRc9Iq.h.bak
deleted file mode 100644
index 11f2d54..0000000
--- a/.hg/Trashcan/IGisProject_hRc9Iq.h.bak
+++ /dev/null
@@ -1,230 +0,0 @@
-/**********************************************************************************************
- Copyright (C) 2014 Oliver Eichler oliver.eichler at gmx.de
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-**********************************************************************************************/
-
-#ifndef IGISPROJECT_H
-#define IGISPROJECT_H
-
-#include "gis/IGisItem.h"
-#include <QTreeWidgetItem>
-#include <QPointer>
-#include <QMessageBox>
-
-class CGisListWks;
-class IGisItem;
-class CGisDraw;
-class QDataStream;
-class CDetailsPrj;
-
-class IGisProject : public QTreeWidgetItem
-{
- public:
- enum type_e
- {
- eTypeGoogle
- , eTypeQms
- , eTypeGpx
- , eTypeDb
- };
-
- struct person_t
- {
- QString name;
- QString id;
- QString domain;
- IGisItem::link_t link;
- };
-
- struct copyright_t
- {
- QString author;
- QString year;
- QString license;
- };
-
- struct metadata_t
- {
- metadata_t() : time(QDateTime::currentDateTimeUtc()){}
- QString name;
- QString desc;
- person_t author;
- copyright_t copyright;
- QList<IGisItem::link_t> links;
- QDateTime time;
- QString keywords;
- QRectF bounds;
- // -- all gpx tags - stop
- QMap<QString, QVariant> extensions;
-
- };
-
- IGisProject(type_e type, const QString& filename, CGisListWks * parent);
- virtual ~IGisProject();
-
- void edit();
-
- /**
- @brief Save the project using it's native format.
- */
- virtual void save() = 0;
- /**
- @brief Save the project selecting one of the available formats.
- */
- virtual void saveAs() = 0;
-
- virtual void setFilename(const QString& fn){filename = fn;}
- virtual QString getFilename() const {return filename;}
-
- type_e getType() const {return type;}
-
- /**
- @brief Get unique project key.
- @return A MD5 hash string
- */
- const QString& getKey(){genKey(); return key;}
- const QString& getName() const {return metadata.name;}
- const QDateTime& getTime() const {return metadata.time;}
- const QString& getKeywords() const {return metadata.keywords;}
- const QString& getDescription() const {return metadata.desc;}
- const QList<IGisItem::link_t>& getLinks() const {return metadata.links;}
-
-
- void setName(const QString& str);
- void setKeywords(const QString& str);
- void setDescription(const QString& str);
- void setLinks(const QList<IGisItem::link_t>& links);
-
- /**
- @brief Get a short metadata summary
- @return Informational string.
- */
- virtual QString getInfo() const;
- /**
- @brief Get a temporary pointer to the item with matching key
- @param key
- @return If no item is found 0 is returned.
- */
- IGisItem * getItemByKey(const IGisItem::key_t &key);
-
- /**
- @brief Get a list of items that are close to a given pixel coordinate of the screen
-
- @note: The returned pointers are just for temporary use. Best you use them to get the item's key.
-
- @param pos the coordinate on the screen in pixel
- @param items a list the item's pointer is stored to.
- */
- void getItemByPos(const QPointF& pos, QList<IGisItem*>& items);
-
- /**
- @brief Delete items with matching key
- @param key
- */
- bool delItemByKey(const IGisItem::key_t &key, QMessageBox::StandardButtons &last);
-
- /**
- @brief Call IGisItem::edit() method for items with given key
-
- @param key a MD5 hash key
- */
- void editItemByKey(const IGisItem::key_t &key);
-
- /**
- @brief Add a copy if the gven item to the project
-
- Befor the item is inserted the method will use it's key to find a duplicat item.
- If there is an item with the same item key a copy option dialog is shown. Depending
- the result the action is performed or aborted. The result will be copied into
- lastResult to repeat the same decision on subsequent items.
-
- @param item pointer to item
- @param off the offset into the tree widget, -1 for none
- @param lastResult a reference to hold the last result of the copy option dialog
- */
- void insertCopyOfItem(IGisItem *item, int off, int &lastResult);
-
- /**
- @brief Check if the project was initialized correctly.
-
- For example a if a GPX file does not load correctly the project is invalid.
-
- @return True if project is valid
- */
- bool isValid() const {return valid;}
-
- void drawItem(QPainter& p, const QRectF& viewport, QList<QRectF>& blockedAreas, QSet<QString> &seenKeys, CGisDraw * gis);
- void drawLabel(QPainter& p, const QRectF& viewport, QList<QRectF>& blockedAreas, QSet<QString> &seenKeys, const QFontMetricsF& fm, CGisDraw * gis);
- void drawItem(QPainter& p, const QRectF& viewport, CGisDraw * gis);
-
- /**
- @brief Serialize object out of a QDataStream
-
- See CGisSerialization.cpp for implementation
-
- @param stream the binary data stream
- @return The stream object.
- */
- virtual QDataStream& operator<<(QDataStream& stream);
-
- /**
- @brief Serialize object into a QDataStream
-
- See CGisSerialization.cpp for implementation
-
- @param stream the binary data stream
- @return The stream object.
- */
- virtual QDataStream& operator>>(QDataStream& stream);
-
- /**
- @brief writeMetadata
- @param doc
- @return
- */
- QDomNode writeMetadata(QDomDocument& doc);
-
- protected:
- void genKey();
- void setupName(const QString& defaultName);
- void markAsSaved();
- void readMetadata(const QDomNode& xml, metadata_t& metadata);
- void changed();
-
- // Those are the URIs of the GPX extensions we support
- static const QString gpxx_ns;
- static const QString gpxtpx_ns;
- static const QString wptx1_ns;
- static const QString rmc_ns;
- static const QString ql_ns;
- static const QString gs_ns;
- // Those are standard GPX/XML namespaces
- static const QString gpx_ns;
- static const QString xsi_ns;
-
- type_e type;
- QString key;
- QString filename;
- bool valid;
-
- metadata_t metadata;
-
- QPointer<CDetailsPrj> dlgDetails;
-
-};
-
-#endif //IGISPROJECT_H
-
diff --git a/.hg/Trashcan/IGisWidget_GlUnqs.ui.bak b/.hg/Trashcan/IGisWidget_GlUnqs.ui.bak
deleted file mode 100644
index 95668ec..0000000
--- a/.hg/Trashcan/IGisWidget_GlUnqs.ui.bak
+++ /dev/null
@@ -1,95 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ui version="4.0">
- <class>IGisWidget</class>
- <widget class="QWidget" name="IGisWidget">
- <property name="geometry">
- <rect>
- <x>0</x>
- <y>0</y>
- <width>400</width>
- <height>436</height>
- </rect>
- </property>
- <property name="windowTitle">
- <string>Form</string>
- </property>
- <layout class="QVBoxLayout" name="verticalLayout">
- <property name="spacing">
- <number>0</number>
- </property>
- <property name="leftMargin">
- <number>0</number>
- </property>
- <property name="topMargin">
- <number>0</number>
- </property>
- <property name="rightMargin">
- <number>0</number>
- </property>
- <property name="bottomMargin">
- <number>0</number>
- </property>
- <item>
- <widget class="CGisListWks" name="treeWks">
- <property name="contextMenuPolicy">
- <enum>Qt::CustomContextMenu</enum>
- </property>
- <property name="selectionMode">
- <enum>QAbstractItemView::ExtendedSelection</enum>
- </property>
- <property name="iconSize">
- <size>
- <width>22</width>
- <height>22</height>
- </size>
- </property>
- <column>
- <property name="text">
- <string notr="true">Name</string>
- </property>
- </column>
- <column>
- <property name="text">
- <string>State</string>
- </property>
- </column>
- </widget>
- </item>
- <item>
- <widget class="CGisListDB" name="treeDB">
- <property name="contextMenuPolicy">
- <enum>Qt::CustomContextMenu</enum>
- </property>
- <property name="iconSize">
- <size>
- <width>22</width>
- <height>22</height>
- </size>
- </property>
- <attribute name="headerVisible">
- <bool>false</bool>
- </attribute>
- <column>
- <property name="text">
- <string notr="true">1</string>
- </property>
- </column>
- </widget>
- </item>
- </layout>
- </widget>
- <customwidgets>
- <customwidget>
- <class>CGisListWks</class>
- <extends>QTreeWidget</extends>
- <header>gis/CGisListWks.h</header>
- </customwidget>
- <customwidget>
- <class>CGisListDB</class>
- <extends>QTreeWidget</extends>
- <header>gis/CGisListDB.h</header>
- </customwidget>
- </customwidgets>
- <resources/>
- <connections/>
-</ui>
diff --git a/.hg/Trashcan/IGisWidget_f8_was.ui.bak b/.hg/Trashcan/IGisWidget_f8_was.ui.bak
deleted file mode 100644
index dfc03ec..0000000
--- a/.hg/Trashcan/IGisWidget_f8_was.ui.bak
+++ /dev/null
@@ -1,98 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ui version="4.0">
- <class>IGisWidget</class>
- <widget class="QWidget" name="IGisWidget">
- <property name="geometry">
- <rect>
- <x>0</x>
- <y>0</y>
- <width>400</width>
- <height>436</height>
- </rect>
- </property>
- <property name="windowTitle">
- <string>Form</string>
- </property>
- <layout class="QVBoxLayout" name="verticalLayout">
- <property name="spacing">
- <number>0</number>
- </property>
- <property name="leftMargin">
- <number>0</number>
- </property>
- <property name="topMargin">
- <number>0</number>
- </property>
- <property name="rightMargin">
- <number>0</number>
- </property>
- <property name="bottomMargin">
- <number>0</number>
- </property>
- <item>
- <widget class="CGisListWks" name="treeWks">
- <property name="contextMenuPolicy">
- <enum>Qt::CustomContextMenu</enum>
- </property>
- <property name="selectionMode">
- <enum>QAbstractItemView::ExtendedSelection</enum>
- </property>
- <property name="iconSize">
- <size>
- <width>22</width>
- <height>22</height>
- </size>
- </property>
- <attribute name="headerVisible">
- <bool>false</bool>
- </attribute>
- <column>
- <property name="text">
- <string notr="true">1</string>
- </property>
- </column>
- <column>
- <property name="text">
- <string>2</string>
- </property>
- </column>
- </widget>
- </item>
- <item>
- <widget class="CGisListDB" name="treeDB">
- <property name="contextMenuPolicy">
- <enum>Qt::CustomContextMenu</enum>
- </property>
- <property name="iconSize">
- <size>
- <width>22</width>
- <height>22</height>
- </size>
- </property>
- <attribute name="headerVisible">
- <bool>false</bool>
- </attribute>
- <column>
- <property name="text">
- <string notr="true">1</string>
- </property>
- </column>
- </widget>
- </item>
- </layout>
- </widget>
- <customwidgets>
- <customwidget>
- <class>CGisListWks</class>
- <extends>QTreeWidget</extends>
- <header>gis/CGisListWks.h</header>
- </customwidget>
- <customwidget>
- <class>CGisListDB</class>
- <extends>QTreeWidget</extends>
- <header>gis/CGisListDB.h</header>
- </customwidget>
- </customwidgets>
- <resources/>
- <connections/>
-</ui>
diff --git a/.hg/Trashcan/IScrOptWpt_EtgN4L.ui.bak b/.hg/Trashcan/IScrOptWpt_EtgN4L.ui.bak
deleted file mode 100644
index d3a7aba..0000000
--- a/.hg/Trashcan/IScrOptWpt_EtgN4L.ui.bak
+++ /dev/null
@@ -1,114 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ui version="4.0">
- <class>IScrOptWpt</class>
- <widget class="QWidget" name="IScrOptWpt">
- <property name="geometry">
- <rect>
- <x>0</x>
- <y>0</y>
- <width>300</width>
- <height>72</height>
- </rect>
- </property>
- <property name="sizePolicy">
- <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="windowTitle">
- <string>Form</string>
- </property>
- <layout class="QVBoxLayout" name="verticalLayout">
- <property name="spacing">
- <number>3</number>
- </property>
- <property name="leftMargin">
- <number>3</number>
- </property>
- <property name="topMargin">
- <number>3</number>
- </property>
- <property name="rightMargin">
- <number>3</number>
- </property>
- <property name="bottomMargin">
- <number>3</number>
- </property>
- <item>
- <layout class="QHBoxLayout" name="horizontalLayout">
- <property name="spacing">
- <number>3</number>
- </property>
- <item>
- <widget class="QToolButton" name="toolEdit">
- <property name="enabled">
- <bool>true</bool>
- </property>
- <property name="toolTip">
- <string><html><head/><body><p>View details & Edit</p></body></html></string>
- </property>
- <property name="text">
- <string>...</string>
- </property>
- <property name="icon">
- <iconset resource="../../resources.qrc">
- <normaloff>:/icons/32x32/EditDetails.png</normaloff>:/icons/32x32/EditDetails.png</iconset>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QToolButton" name="toolDelete">
- <property name="toolTip">
- <string><html><head/><body><p>Delete</p></body></html></string>
- </property>
- <property name="text">
- <string>...</string>
- </property>
- <property name="icon">
- <iconset resource="../../resources.qrc">
- <normaloff>:/icons/32x32/DeleteOne.png</normaloff>:/icons/32x32/DeleteOne.png</iconset>
- </property>
- </widget>
- </item>
- <item>
- <spacer name="horizontalSpacer">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>40</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </item>
- </layout>
- </item>
- <item>
- <widget class="QLabel" name="label">
- <property name="maximumSize">
- <size>
- <width>400</width>
- <height>16777215</height>
- </size>
- </property>
- <property name="text">
- <string>TextLabel</string>
- </property>
- <property name="textFormat">
- <enum>Qt::AutoText</enum>
- </property>
- <property name="wordWrap">
- <bool>true</bool>
- </property>
- </widget>
- </item>
- </layout>
- </widget>
- <resources>
- <include location="../../resources.qrc"/>
- </resources>
- <connections/>
-</ui>
diff --git a/.hg/Trashcan/IScrOptWpt_j6Rx9x.ui.bak b/.hg/Trashcan/IScrOptWpt_j6Rx9x.ui.bak
deleted file mode 100644
index 96bf754..0000000
--- a/.hg/Trashcan/IScrOptWpt_j6Rx9x.ui.bak
+++ /dev/null
@@ -1,105 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ui version="4.0">
- <class>IScrOptWpt</class>
- <widget class="QWidget" name="IScrOptWpt">
- <property name="geometry">
- <rect>
- <x>0</x>
- <y>0</y>
- <width>300</width>
- <height>72</height>
- </rect>
- </property>
- <property name="sizePolicy">
- <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="windowTitle">
- <string>Form</string>
- </property>
- <layout class="QVBoxLayout" name="verticalLayout">
- <property name="spacing">
- <number>3</number>
- </property>
- <property name="leftMargin">
- <number>3</number>
- </property>
- <property name="topMargin">
- <number>3</number>
- </property>
- <property name="rightMargin">
- <number>3</number>
- </property>
- <property name="bottomMargin">
- <number>3</number>
- </property>
- <item>
- <layout class="QHBoxLayout" name="horizontalLayout">
- <property name="spacing">
- <number>3</number>
- </property>
- <item>
- <widget class="QToolButton" name="toolEdit">
- <property name="enabled">
- <bool>true</bool>
- </property>
- <property name="toolTip">
- <string><html><head/><body><p>View details & Edit</p></body></html></string>
- </property>
- <property name="text">
- <string>...</string>
- </property>
- <property name="icon">
- <iconset resource="../../resources.qrc">
- <normaloff>:/icons/32x32/EditDetails.png</normaloff>:/icons/32x32/EditDetails.png</iconset>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QToolButton" name="toolDelete">
- <property name="toolTip">
- <string><html><head/><body><p>Delete</p></body></html></string>
- </property>
- <property name="text">
- <string>...</string>
- </property>
- <property name="icon">
- <iconset resource="../../resources.qrc">
- <normaloff>:/icons/32x32/DeleteOne.png</normaloff>:/icons/32x32/DeleteOne.png</iconset>
- </property>
- </widget>
- </item>
- <item>
- <spacer name="horizontalSpacer">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>40</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </item>
- </layout>
- </item>
- <item>
- <widget class="QLabel" name="label">
- <property name="text">
- <string>TextLabel</string>
- </property>
- <property name="textFormat">
- <enum>Qt::AutoText</enum>
- </property>
- </widget>
- </item>
- </layout>
- </widget>
- <resources>
- <include location="../../resources.qrc"/>
- </resources>
- <connections/>
-</ui>
diff --git a/.hg/Trashcan/IWptIconDialog_7JMhQt.ui.bak b/.hg/Trashcan/IWptIconDialog_7JMhQt.ui.bak
deleted file mode 100644
index fdbe0fe..0000000
--- a/.hg/Trashcan/IWptIconDialog_7JMhQt.ui.bak
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ui version="4.0">
- <class>IWptIconDialog</class>
- <widget class="QDialog" name="IWptIconDialog">
- <property name="geometry">
- <rect>
- <x>0</x>
- <y>0</y>
- <width>400</width>
- <height>300</height>
- </rect>
- </property>
- <property name="windowTitle">
- <string>Icons...</string>
- </property>
- <layout class="QVBoxLayout" name="verticalLayout">
- <item>
- <widget class="QListWidget" name="listWidget">
- <property name="iconSize">
- <size>
- <width>22</width>
- <height>22</height>
- </size>
- </property>
- </widget>
- </item>
- </layout>
- </widget>
- <resources/>
- <connections/>
-</ui>
diff --git a/.hg/Trashcan/IWptIconDialog_c__AmQ.ui.bak b/.hg/Trashcan/IWptIconDialog_c__AmQ.ui.bak
deleted file mode 100644
index b24f170..0000000
--- a/.hg/Trashcan/IWptIconDialog_c__AmQ.ui.bak
+++ /dev/null
@@ -1,74 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ui version="4.0">
- <class>IWptIconDialog</class>
- <widget class="QDialog" name="IWptIconDialog">
- <property name="geometry">
- <rect>
- <x>0</x>
- <y>0</y>
- <width>400</width>
- <height>300</height>
- </rect>
- </property>
- <property name="windowTitle">
- <string>Icons...</string>
- </property>
- <layout class="QVBoxLayout" name="verticalLayout">
- <item>
- <widget class="QListWidget" name="listWidget">
- <property name="iconSize">
- <size>
- <width>22</width>
- <height>22</height>
- </size>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QDialogButtonBox" name="buttonBox">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="standardButtons">
- <set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
- </property>
- </widget>
- </item>
- </layout>
- </widget>
- <resources/>
- <connections>
- <connection>
- <sender>buttonBox</sender>
- <signal>accepted()</signal>
- <receiver>IWptIconDialog</receiver>
- <slot>accept()</slot>
- <hints>
- <hint type="sourcelabel">
- <x>248</x>
- <y>254</y>
- </hint>
- <hint type="destinationlabel">
- <x>157</x>
- <y>274</y>
- </hint>
- </hints>
- </connection>
- <connection>
- <sender>buttonBox</sender>
- <signal>rejected()</signal>
- <receiver>IWptIconDialog</receiver>
- <slot>reject()</slot>
- <hints>
- <hint type="sourcelabel">
- <x>316</x>
- <y>260</y>
- </hint>
- <hint type="destinationlabel">
- <x>286</x>
- <y>274</y>
- </hint>
- </hints>
- </connection>
- </connections>
-</ui>
diff --git a/.hg/Trashcan/changelog_CYEUr4.txt.bak b/.hg/Trashcan/changelog_CYEUr4.txt.bak
deleted file mode 100644
index 9ce9073..0000000
--- a/.hg/Trashcan/changelog_CYEUr4.txt.bak
+++ /dev/null
@@ -1,108 +0,0 @@
-V 1.0.0
-* Update Czech, French, German and Spanish translation
-* Fix dialogs hiding behind main window
-* Fix various application crashes
-* Fix tile cache growing too large
-* Fix cliff polylines in Garmin maps
-* Add device support on Windows
-* Various little GUI optimizations
-
-V 1.0.beta1
-* Add support for TwoNav units
-* Load/Restore images attached to waypoints on devices
-* Add spoiler download to geocaches.
-* Add group update for projects on devices.
-* GUI cleanup and little fixes
-
-V 0.12.0
-* Fix: Workspace is not saved on Windows.
-* Fix: Bad track color names
-* Add device watcher for Linux
-* Add basic device support for newer Garmin units.
-
-V 0.11.0
-* Auto-switch projection for pole caps in track plot
-* Fix several issues with elements derived from existing ones still having the same key.
-* Add project diary (project details)
-* Add track filter to reset hidden track points to visible
-* Save only changed items to database (speed up)
-* Add photo album and viewer to waypoint details
-
-V 0.10.0
-* Fix crash when saving a DB project before the database tree has been opened
-* Add track filters to hide trackpoints
-* Add track filters to change elevation
-* Add track filters to change timestamp
-* Add DEM layer to colorize the slope
-* Fix issue with duplicate key when reversing a track
-* Add project selection for all track operations
-
-V 0.9.1
-* Complete function of 'Lost & Found' folder
-* Add copy function to all items including dialog to select copy action.
-* Workspace: move status column to column 0
-
-V 0.9.0
-* Fix sign of area calculation
-* Mark item with user focus in item unclutter screen
-* Add support for multiple databases
-* Add converter for QLandkarte GT to QMapShack database
-
-V 0.8.2
-* Calculate area covered by area overlays
-* Change coordinate format for long/lat grid from dd mm.mm to dd.dddddd
-* Add edit widget for project details
-* Add drag-n-drop for multiple GIS items
-* Enhance delete of multiple items
-
-V 0.8.1
-* Handle "no data" values in DEM files
-* Garmin maps: read copyright information
-* Save/Restore workspace on exit/start
-
-V 0.8.0
-* Add unit setup (metric, imperial, nautical)
-* Add data serialization for track, waypoint, route and area
-* Add binary *.qms format to store projects without any loss of data
-* Enhance item history to perform full undo and redo
-* Many little fixes and enhancements
-
-V 0.7.0
-* Add Google GIS search
-* Add support for TMS maps
-* Snap to line for track and area edit
-
-V 0.6.0
-* Reverse tracks
-* Add dialog to combine tracks
-* Add range select to tracks
-* Add function to hide/show track points
-* Add function to copy selected track points as new track
-
-V 0.5.0
-* Add support for WMTS maps
-* Edit/create tracks
-* Edit/create area overlays
-* Add contrast factor to hillshading
-
-V 0.4.0
-* Add position dialog to "add waypoint"
-* Beautify waypoint edit dialog
-* Add on-screen information and detail dialog for tracks
-* Add drag-n-drop to workspace list to move items (draw order & copy between projects)
-
-V 0.3.1
-* another favour for Debian release
-* Added "Add Waypoint" to mouse context menu
-
-V 0.3.0.bureaucratic
-* Add copyright notice to GpxExamples to satisfy bureaucrats @ debian
-
-V 0.3.0
-* A lot of little fixes to prevent crashes and glitches due to multithreading
-* Take special care of the +-180 degree problem
-* Add RGB support to raster maps
-* Add a lot of cursor stuff to select items and to display on-screen-options
-* Add timezone support
-* Add dialog to view/edit waypoint data
-* Add 'moving waypoint' and 'project waypoint' as functions to on-screen-options
\ No newline at end of file
diff --git a/.hg/Trashcan/changelog_z3flxg.txt.bak b/.hg/Trashcan/changelog_z3flxg.txt.bak
deleted file mode 100644
index b826186..0000000
--- a/.hg/Trashcan/changelog_z3flxg.txt.bak
+++ /dev/null
@@ -1,99 +0,0 @@
-V 1.0.beta1
-* Add support for TwoNav units
-* Load/Restore images attached to waypoints on devices
-* Add spoiler download to geocaches.
-* Add group update for projects on devices.
-* GUI cleanup and little fixes
-
-V 0.12.0
-* Fix: Workspace is not saved on Windows.
-* Fix: Bad track color names
-* Add device watcher for Linux
-* Add basic device support for newer Garmin units.
-
-V 0.11.0
-* Auto-switch projection for pole caps in track plot
-* Fix several issues with elements derived from existing ones still having the same key.
-* Add project diary (project details)
-* Add track filter to reset hidden track points to visible
-* Save only changed items to database (speed up)
-* Add photo album and viewer to waypoint details
-
-V 0.10.0
-* Fix crash when saving a DB project before the database tree has been opened
-* Add track filters to hide trackpoints
-* Add track filters to change elevation
-* Add track filters to change timestamp
-* Add DEM layer to colorize the slope
-* Fix issue with duplicate key when reversing a track
-* Add project selection for all track operations
-
-V 0.9.1
-* Complete function of 'Lost & Found' folder
-* Add copy function to all items including dialog to select copy action.
-* Workspace: move status column to column 0
-
-V 0.9.0
-* Fix sign of area calculation
-* Mark item with user focus in item unclutter screen
-* Add support for multiple databases
-* Add converter for QLandkarte GT to QMapShack database
-
-V 0.8.2
-* Calculate area covered by area overlays
-* Change coordinate format for long/lat grid from dd mm.mm to dd.dddddd
-* Add edit widget for project details
-* Add drag-n-drop for multiple GIS items
-* Enhance delete of multiple items
-
-V 0.8.1
-* Handle "no data" values in DEM files
-* Garmin maps: read copyright information
-* Save/Restore workspace on exit/start
-
-V 0.8.0
-* Add unit setup (metric, imperial, nautical)
-* Add data serialization for track, waypoint, route and area
-* Add binary *.qms format to store projects without any loss of data
-* Enhance item history to perform full undo and redo
-* Many little fixes and enhancements
-
-V 0.7.0
-* Add Google GIS search
-* Add support for TMS maps
-* Snap to line for track and area edit
-
-V 0.6.0
-* Reverse tracks
-* Add dialog to combine tracks
-* Add range select to tracks
-* Add function to hide/show track points
-* Add function to copy selected track points as new track
-
-V 0.5.0
-* Add support for WMTS maps
-* Edit/create tracks
-* Edit/create area overlays
-* Add contrast factor to hillshading
-
-V 0.4.0
-* Add position dialog to "add waypoint"
-* Beautify waypoint edit dialog
-* Add on-screen information and detail dialog for tracks
-* Add drag-n-drop to workspace list to move items (draw order & copy between projects)
-
-V 0.3.1
-* another favour for Debian release
-* Added "Add Waypoint" to mouse context menu
-
-V 0.3.0.bureaucratic
-* Add copyright notice to GpxExamples to satisfy bureaucrats @ debian
-
-V 0.3.0
-* A lot of little fixes to prevent crashes and glitches due to multithreading
-* Take special care of the +-180 degree problem
-* Add RGB support to raster maps
-* Add a lot of cursor stuff to select items and to display on-screen-options
-* Add timezone support
-* Add dialog to view/edit waypoint data
-* Add 'moving waypoint' and 'project waypoint' as functions to on-screen-options
\ No newline at end of file
diff --git a/.hg/Trashcan/resources_NOfdMH.qrc.bak b/.hg/Trashcan/resources_NOfdMH.qrc.bak
deleted file mode 100644
index 983073f..0000000
--- a/.hg/Trashcan/resources_NOfdMH.qrc.bak
+++ /dev/null
@@ -1,275 +0,0 @@
-<RCC>
- <qresource prefix="/">
- <file>icons/8x8/bullet_black.png</file>
- <file>icons/8x8/bullet_blue.png</file>
- <file>icons/8x8/bullet_brown.png</file>
- <file>icons/8x8/bullet_cyan.png</file>
- <file>icons/8x8/bullet_dark_blue.png</file>
- <file>icons/8x8/bullet_dark_cyan.png</file>
- <file>icons/8x8/bullet_dark_gray.png</file>
- <file>icons/8x8/bullet_dark_green.png</file>
- <file>icons/8x8/bullet_dark_magenta.png</file>
- <file>icons/8x8/bullet_dark_red.png</file>
- <file>icons/8x8/bullet_dark_yellow.png</file>
- <file>icons/8x8/bullet_gray.png</file>
- <file>icons/8x8/bullet_green.png</file>
- <file>icons/8x8/bullet_magenta.png</file>
- <file>icons/8x8/bullet_orange.png</file>
- <file>icons/8x8/bullet_red.png</file>
- <file>icons/8x8/bullet_white.png</file>
- <file>icons/8x8/bullet_yellow.png</file>
- <file>icons/16x16/2DFix.png</file>
- <file>icons/16x16/3DFix.png</file>
- <file>icons/16x16/Add.png</file>
- <file>icons/16x16/AddMapWorkspace.png</file>
- <file>icons/16x16/Cancel.png</file>
- <file>icons/16x16/Check.png</file>
- <file>icons/16x16/DeleteMultiple.png</file>
- <file>icons/16x16/DeleteOne.png</file>
- <file>icons/16x16/Down.png</file>
- <file>icons/16x16/FolderMap.png</file>
- <file>icons/16x16/FolderDEM.png</file>
- <file>icons/16x16/Font.png</file>
- <file>icons/16x16/FromMap.png</file>
- <file>icons/16x16/Grid.png</file>
- <file>icons/16x16/GridSetup.png</file>
- <file>icons/16x16/GridWizzard.png</file>
- <file>icons/16x16/Help.png</file>
- <file>icons/16x16/Info.png</file>
- <file>icons/16x16/Map.png</file>
- <file>icons/16x16/QMapShack.png</file>
- <file>icons/16x16/MimeIMG.png</file>
- <file>icons/16x16/MimeJNX.png</file>
- <file>icons/16x16/MimeMAP.png</file>
- <file>icons/16x16/MimeRMAP.png</file>
- <file>icons/16x16/MimeVRT.png</file>
- <file>icons/16x16/MimeDemVRT.png</file>
- <file>icons/16x16/MouseWheel.png</file>
- <file>icons/16x16/NightDay.png</file>
- <file>icons/16x16/NoFix.png</file>
- <file>icons/16x16/Off.png</file>
- <file>icons/16x16/POIText.png</file>
- <file>icons/16x16/Reset.png</file>
- <file>icons/16x16/Right.png</file>
- <file>icons/16x16/Scale.png</file>
- <file>icons/16x16/SelectColor.png</file>
- <file>icons/16x16/ToBottom.png</file>
- <file>icons/16x16/ToTop.png</file>
- <file>icons/16x16/ToolTip.png</file>
- <file>icons/16x16/Up.png</file>
- <file>icons/16x16/SetupMapWorkspace.png</file>
- <file>icons/16x16/SaveGIS.png</file>
- <file>icons/16x16/SaveAllGIS.png</file>
- <file>icons/16x16/LoadGIS.png</file>
- <file>icons/16x16/GisProject.png</file>
- <file>icons/16x16/Route.png</file>
- <file>icons/16x16/Close.png</file>
- <file>icons/16x16/Track.png</file>
- <file>icons/16x16/EditDetails.png</file>
- <file>icons/16x16/EditText.png</file>
- <file>icons/16x16/TimeZoneSetup.png</file>
- <file>icons/16x16/Undo.png</file>
- <file>icons/16x16/Redo.png</file>
- <file>icons/16x16/Cut.png</file>
- <file>icons/16x16/Copy.png</file>
- <file>icons/16x16/Paste.png</file>
- <file>icons/16x16/TextLeft.png</file>
- <file>icons/16x16/TextRight.png</file>
- <file>icons/16x16/TextCenter.png</file>
- <file>icons/16x16/TextJustified.png</file>
- <file>icons/16x16/TextBold.png</file>
- <file>icons/16x16/TextUnderlined.png</file>
- <file>icons/16x16/TextItalic.png</file>
-
- <file>icons/32x32/2DFix.png</file>
- <file>icons/32x32/3DFix.png</file>
- <file>icons/32x32/Add.png</file>
- <file>icons/32x32/AddMapWorkspace.png</file>
- <file>icons/32x32/Cancel.png</file>
- <file>icons/32x32/Check.png</file>
- <file>icons/32x32/DeleteMultiple.png</file>
- <file>icons/32x32/DeleteOne.png</file>
- <file>icons/32x32/Down.png</file>
- <file>icons/32x32/FolderMap.png</file>
- <file>icons/32x32/FolderDEM.png</file>
- <file>icons/32x32/Font.png</file>
- <file>icons/32x32/FromMap.png</file>
- <file>icons/32x32/Grid.png</file>
- <file>icons/32x32/GridSetup.png</file>
- <file>icons/32x32/GridWizzard.png</file>
- <file>icons/32x32/Help.png</file>
- <file>icons/32x32/Info.png</file>
- <file>icons/32x32/Map.png</file>
- <file>icons/32x32/QMapShack.png</file>
- <file>icons/32x32/MimeIMG.png</file>
- <file>icons/32x32/MimeJNX.png</file>
- <file>icons/32x32/MimeMAP.png</file>
- <file>icons/32x32/MimeRMAP.png</file>
- <file>icons/32x32/MimeVRT.png</file>
- <file>icons/32x32/MimeDemVRT.png</file>
- <file>icons/32x32/MouseWheel.png</file>
- <file>icons/32x32/NightDay.png</file>
- <file>icons/32x32/NoFix.png</file>
- <file>icons/32x32/Off.png</file>
- <file>icons/32x32/POIText.png</file>
- <file>icons/32x32/Reset.png</file>
- <file>icons/32x32/Right.png</file>
- <file>icons/32x32/Scale.png</file>
- <file>icons/32x32/SelectColor.png</file>
- <file>icons/32x32/ToBottom.png</file>
- <file>icons/32x32/ToTop.png</file>
- <file>icons/32x32/ToolTip.png</file>
- <file>icons/32x32/Up.png</file>
- <file>icons/32x32/SetupMapWorkspace.png</file>
- <file>icons/32x32/SaveGIS.png</file>
- <file>icons/32x32/SaveAllGIS.png</file>
- <file>icons/32x32/LoadGIS.png</file>
- <file>icons/32x32/GisProject.png</file>
- <file>icons/32x32/Route.png</file>
- <file>icons/32x32/Close.png</file>
- <file>icons/32x32/Track.png</file>
- <file>icons/32x32/EditDetails.png</file>
- <file>icons/32x32/EditText.png</file>
- <file>icons/32x32/TimeZoneSetup.png</file>
- <file>icons/32x32/Undo.png</file>
- <file>icons/32x32/Redo.png</file>
- <file>icons/32x32/Cut.png</file>
- <file>icons/32x32/Copy.png</file>
- <file>icons/32x32/Paste.png</file>
- <file>icons/32x32/TextLeft.png</file>
- <file>icons/32x32/TextRight.png</file>
- <file>icons/32x32/TextCenter.png</file>
- <file>icons/32x32/TextJustified.png</file>
- <file>icons/32x32/TextBold.png</file>
- <file>icons/32x32/TextUnderlined.png</file>
- <file>icons/32x32/TextItalic.png</file>
-
-
-
- <file>icons/48x48/2DFix.png</file>
- <file>icons/48x48/3DFix.png</file>
- <file>icons/48x48/Add.png</file>
- <file>icons/48x48/AddMapWorkspace.png</file>
- <file>icons/48x48/Cancel.png</file>
- <file>icons/48x48/Check.png</file>
- <file>icons/48x48/DeleteMultiple.png</file>
- <file>icons/48x48/DeleteOne.png</file>
- <file>icons/48x48/Down.png</file>
- <file>icons/48x48/FolderMap.png</file>
- <file>icons/48x48/FolderDEM.png</file>
- <file>icons/48x48/Font.png</file>
- <file>icons/48x48/FromMap.png</file>
- <file>icons/48x48/Grid.png</file>
- <file>icons/48x48/GridSetup.png</file>
- <file>icons/48x48/GridWizzard.png</file>
- <file>icons/48x48/Help.png</file>
- <file>icons/48x48/Info.png</file>
- <file>icons/48x48/Map.png</file>
- <file>icons/48x48/QMapShack.png</file>
- <file>icons/48x48/MimeIMG.png</file>
- <file>icons/48x48/MimeJNX.png</file>
- <file>icons/48x48/MimeMAP.png</file>
- <file>icons/48x48/MimeRMAP.png</file>
- <file>icons/48x48/MimeVRT.png</file>
- <file>icons/48x48/MimeDemVRT.png</file>
- <file>icons/48x48/MouseWheel.png</file>
- <file>icons/48x48/NightDay.png</file>
- <file>icons/48x48/NoFix.png</file>
- <file>icons/48x48/Off.png</file>
- <file>icons/48x48/POIText.png</file>
- <file>icons/48x48/Reset.png</file>
- <file>icons/48x48/Right.png</file>
- <file>icons/48x48/Scale.png</file>
- <file>icons/48x48/SelectColor.png</file>
- <file>icons/48x48/ToBottom.png</file>
- <file>icons/48x48/ToTop.png</file>
- <file>icons/48x48/ToolTip.png</file>
- <file>icons/48x48/Up.png</file>
- <file>icons/48x48/SetupMapWorkspace.png</file>
- <file>icons/48x48/SaveGIS.png</file>
- <file>icons/48x48/SaveAllGIS.png</file>
- <file>icons/48x48/LoadGIS.png</file>
- <file>icons/48x48/GisProject.png</file>
- <file>icons/48x48/Route.png</file>
- <file>icons/48x48/Close.png</file>
- <file>icons/48x48/Track.png</file>
- <file>icons/48x48/EditDetails.png</file>
- <file>icons/48x48/EditText.png</file>
- <file>icons/48x48/TimeZoneSetup.png</file>
- <file>icons/48x48/Undo.png</file>
- <file>icons/48x48/Redo.png</file>
- <file>icons/48x48/Cut.png</file>
- <file>icons/48x48/Copy.png</file>
- <file>icons/48x48/Paste.png</file>
- <file>icons/48x48/TextLeft.png</file>
- <file>icons/48x48/TextRight.png</file>
- <file>icons/48x48/TextCenter.png</file>
- <file>icons/48x48/TextJustified.png</file>
- <file>icons/48x48/TextBold.png</file>
- <file>icons/48x48/TextUnderlined.png</file>
- <file>icons/48x48/TextItalic.png</file>
-
-
-
- <file>icons/cache/32x32/bluepin.png</file>
- <file>icons/cache/32x32/cito.png</file>
- <file>icons/cache/32x32/corrected.png</file>
- <file>icons/cache/32x32/DistIcon.png</file>
- <file>icons/cache/32x32/dnf.png</file>
- <file>icons/cache/32x32/down_icon.png</file>
- <file>icons/cache/32x32/earth.png</file>
- <file>icons/cache/32x32/event.png</file>
- <file>icons/cache/32x32/found.png</file>
- <file>icons/cache/32x32/ftf.png</file>
- <file>icons/cache/32x32/greenpin.png</file>
- <file>icons/cache/32x32/halfstar.png</file>
- <file>icons/cache/32x32/letterbox.png</file>
- <file>icons/cache/32x32/log.png</file>
- <file>icons/cache/32x32/maxicon.png</file>
- <file>icons/cache/32x32/mega.png</file>
- <file>icons/cache/32x32/minicon.png</file>
- <file>icons/cache/32x32/multi.png</file>
- <file>icons/cache/32x32/needs_maintenance.png</file>
- <file>icons/cache/32x32/OCMLogo.png</file>
- <file>icons/cache/32x32/OCMLogoSmall.png</file>
- <file>icons/cache/32x32/other.png</file>
- <file>icons/cache/32x32/parking.png</file>
- <file>icons/cache/32x32/pushpin.png</file>
- <file>icons/cache/32x32/restore.png</file>
- <file>icons/cache/32x32/SearchIcon.png</file>
- <file>icons/cache/32x32/star_empty.png</file>
- <file>icons/cache/32x32/star.png</file>
- <file>icons/cache/32x32/traditional.png</file>
- <file>icons/cache/32x32/trailhead.png</file>
- <file>icons/cache/32x32/treasure.png</file>
- <file>icons/cache/32x32/unknown.png</file>
- <file>icons/cache/32x32/up_icon.png</file>
- <file>icons/cache/32x32/virtual.png</file>
- <file>icons/cache/32x32/waypoint-flag-red.png</file>
- <file>icons/cache/32x32/webcam.png</file>
- <file>icons/cache/32x32/wherigo.png</file>
- <file>icons/cache/32x32/write_note.png</file>
- <file>icons/waypoints/32x32/Default.png</file>
- <file>icons/waypoints/32x32/PinRed.png</file>
- <file>icons/waypoints/32x32/PinGreen.png</file>
- <file>icons/waypoints/32x32/PinBlue.png</file>
- <file>icons/waypoints/32x32/FlagRed.png</file>
- <file>icons/waypoints/32x32/FlagGreen.png</file>
- <file>icons/waypoints/32x32/FlagBlue.png</file>
- <file>icons/waypoints/32x32/BoxRed.png</file>
- <file>icons/waypoints/32x32/BoxGreen.png</file>
- <file>icons/waypoints/32x32/BoxBlue.png</file>
- <file>icons/waypoints/32x32/DiamondRed.png</file>
- <file>icons/waypoints/32x32/DiamondGreen.png</file>
- <file>icons/waypoints/32x32/DiamondBlue.png</file>
- <file>icons/waypoints/32x32/Residence.png</file>
- <file>cursors/cursorArrow.png</file>
- <file>cursors/cursorMove.png</file>
- <file>cursors/cursorMoveMap.png</file>
- <file>cursors/wptHighlight.png</file>
- <file>animation/loader.gif</file>
- <file>animation/loader2.gif</file>
- <file>pics/timezones.png</file>
- <file>pics/splash.png</file>
- </qresource>
-</RCC>
diff --git a/.hg/Trashcan/resources_VTtTG0.qrc.bak b/.hg/Trashcan/resources_VTtTG0.qrc.bak
deleted file mode 100644
index 13636e9..0000000
--- a/.hg/Trashcan/resources_VTtTG0.qrc.bak
+++ /dev/null
@@ -1,232 +0,0 @@
-<RCC>
- <qresource prefix="/">
- <file>icons/8x8/bullet_black.png</file>
- <file>icons/8x8/bullet_blue.png</file>
- <file>icons/8x8/bullet_brown.png</file>
- <file>icons/8x8/bullet_cyan.png</file>
- <file>icons/8x8/bullet_dark_blue.png</file>
- <file>icons/8x8/bullet_dark_cyan.png</file>
- <file>icons/8x8/bullet_dark_gray.png</file>
- <file>icons/8x8/bullet_dark_green.png</file>
- <file>icons/8x8/bullet_dark_magenta.png</file>
- <file>icons/8x8/bullet_dark_red.png</file>
- <file>icons/8x8/bullet_dark_yellow.png</file>
- <file>icons/8x8/bullet_gray.png</file>
- <file>icons/8x8/bullet_green.png</file>
- <file>icons/8x8/bullet_magenta.png</file>
- <file>icons/8x8/bullet_orange.png</file>
- <file>icons/8x8/bullet_red.png</file>
- <file>icons/8x8/bullet_white.png</file>
- <file>icons/8x8/bullet_yellow.png</file>
- <file>icons/16x16/2DFix.png</file>
- <file>icons/16x16/3DFix.png</file>
- <file>icons/16x16/Add.png</file>
- <file>icons/16x16/AddMapWorkspace.png</file>
- <file>icons/16x16/Cancel.png</file>
- <file>icons/16x16/Check.png</file>
- <file>icons/16x16/DeleteMultiple.png</file>
- <file>icons/16x16/DeleteOne.png</file>
- <file>icons/16x16/Down.png</file>
- <file>icons/16x16/FolderMap.png</file>
- <file>icons/16x16/FolderDEM.png</file>
- <file>icons/16x16/Font.png</file>
- <file>icons/16x16/FromMap.png</file>
- <file>icons/16x16/Grid.png</file>
- <file>icons/16x16/GridSetup.png</file>
- <file>icons/16x16/GridWizzard.png</file>
- <file>icons/16x16/Help.png</file>
- <file>icons/16x16/Info.png</file>
- <file>icons/16x16/Map.png</file>
- <file>icons/16x16/QMapShack.png</file>
- <file>icons/16x16/MimeIMG.png</file>
- <file>icons/16x16/MimeJNX.png</file>
- <file>icons/16x16/MimeMAP.png</file>
- <file>icons/16x16/MimeRMAP.png</file>
- <file>icons/16x16/MimeVRT.png</file>
- <file>icons/16x16/MimeDemVRT.png</file>
- <file>icons/16x16/MouseWheel.png</file>
- <file>icons/16x16/NightDay.png</file>
- <file>icons/16x16/NoFix.png</file>
- <file>icons/16x16/Off.png</file>
- <file>icons/16x16/POIText.png</file>
- <file>icons/16x16/Reset.png</file>
- <file>icons/16x16/Right.png</file>
- <file>icons/16x16/Scale.png</file>
- <file>icons/16x16/SelectColor.png</file>
- <file>icons/16x16/ToBottom.png</file>
- <file>icons/16x16/ToTop.png</file>
- <file>icons/16x16/ToolTip.png</file>
- <file>icons/16x16/Up.png</file>
- <file>icons/16x16/SetupMapWorkspace.png</file>
- <file>icons/16x16/SaveGIS.png</file>
- <file>icons/16x16/SaveAllGIS.png</file>
- <file>icons/16x16/LoadGIS.png</file>
- <file>icons/16x16/GisProject.png</file>
- <file>icons/16x16/Route.png</file>
- <file>icons/16x16/Close.png</file>
- <file>icons/16x16/Track.png</file>
- <file>icons/16x16/EditDetails.png</file>
- <file>icons/16x16/EditText.png</file>
- <file>icons/16x16/TimeZoneSetup.png</file>
- <file>icons/32x32/2DFix.png</file>
- <file>icons/32x32/3DFix.png</file>
- <file>icons/32x32/Add.png</file>
- <file>icons/32x32/AddMapWorkspace.png</file>
- <file>icons/32x32/Cancel.png</file>
- <file>icons/32x32/Check.png</file>
- <file>icons/32x32/DeleteMultiple.png</file>
- <file>icons/32x32/DeleteOne.png</file>
- <file>icons/32x32/Down.png</file>
- <file>icons/32x32/FolderMap.png</file>
- <file>icons/32x32/FolderDEM.png</file>
- <file>icons/32x32/Font.png</file>
- <file>icons/32x32/FromMap.png</file>
- <file>icons/32x32/Grid.png</file>
- <file>icons/32x32/GridSetup.png</file>
- <file>icons/32x32/GridWizzard.png</file>
- <file>icons/32x32/Help.png</file>
- <file>icons/32x32/Info.png</file>
- <file>icons/32x32/Map.png</file>
- <file>icons/32x32/QMapShack.png</file>
- <file>icons/32x32/MimeIMG.png</file>
- <file>icons/32x32/MimeJNX.png</file>
- <file>icons/32x32/MimeMAP.png</file>
- <file>icons/32x32/MimeRMAP.png</file>
- <file>icons/32x32/MimeVRT.png</file>
- <file>icons/32x32/MimeDemVRT.png</file>
- <file>icons/32x32/MouseWheel.png</file>
- <file>icons/32x32/NightDay.png</file>
- <file>icons/32x32/NoFix.png</file>
- <file>icons/32x32/Off.png</file>
- <file>icons/32x32/POIText.png</file>
- <file>icons/32x32/Reset.png</file>
- <file>icons/32x32/Right.png</file>
- <file>icons/32x32/Scale.png</file>
- <file>icons/32x32/SelectColor.png</file>
- <file>icons/32x32/ToBottom.png</file>
- <file>icons/32x32/ToTop.png</file>
- <file>icons/32x32/ToolTip.png</file>
- <file>icons/32x32/Up.png</file>
- <file>icons/32x32/SetupMapWorkspace.png</file>
- <file>icons/32x32/SaveGIS.png</file>
- <file>icons/32x32/SaveAllGIS.png</file>
- <file>icons/32x32/LoadGIS.png</file>
- <file>icons/32x32/GisProject.png</file>
- <file>icons/32x32/Route.png</file>
- <file>icons/32x32/Close.png</file>
- <file>icons/32x32/Track.png</file>
- <file>icons/32x32/EditDetails.png</file>
- <file>icons/32x32/EditText.png</file>
- <file>icons/32x32/TimeZoneSetup.png</file>
- <file>icons/48x48/2DFix.png</file>
- <file>icons/48x48/3DFix.png</file>
- <file>icons/48x48/Add.png</file>
- <file>icons/48x48/AddMapWorkspace.png</file>
- <file>icons/48x48/Cancel.png</file>
- <file>icons/48x48/Check.png</file>
- <file>icons/48x48/DeleteMultiple.png</file>
- <file>icons/48x48/DeleteOne.png</file>
- <file>icons/48x48/Down.png</file>
- <file>icons/48x48/FolderMap.png</file>
- <file>icons/48x48/FolderDEM.png</file>
- <file>icons/48x48/Font.png</file>
- <file>icons/48x48/FromMap.png</file>
- <file>icons/48x48/Grid.png</file>
- <file>icons/48x48/GridSetup.png</file>
- <file>icons/48x48/GridWizzard.png</file>
- <file>icons/48x48/Help.png</file>
- <file>icons/48x48/Info.png</file>
- <file>icons/48x48/Map.png</file>
- <file>icons/48x48/QMapShack.png</file>
- <file>icons/48x48/MimeIMG.png</file>
- <file>icons/48x48/MimeJNX.png</file>
- <file>icons/48x48/MimeMAP.png</file>
- <file>icons/48x48/MimeRMAP.png</file>
- <file>icons/48x48/MimeVRT.png</file>
- <file>icons/48x48/MimeDemVRT.png</file>
- <file>icons/48x48/MouseWheel.png</file>
- <file>icons/48x48/NightDay.png</file>
- <file>icons/48x48/NoFix.png</file>
- <file>icons/48x48/Off.png</file>
- <file>icons/48x48/POIText.png</file>
- <file>icons/48x48/Reset.png</file>
- <file>icons/48x48/Right.png</file>
- <file>icons/48x48/Scale.png</file>
- <file>icons/48x48/SelectColor.png</file>
- <file>icons/48x48/ToBottom.png</file>
- <file>icons/48x48/ToTop.png</file>
- <file>icons/48x48/ToolTip.png</file>
- <file>icons/48x48/Up.png</file>
- <file>icons/48x48/SetupMapWorkspace.png</file>
- <file>icons/48x48/SaveGIS.png</file>
- <file>icons/48x48/SaveAllGIS.png</file>
- <file>icons/48x48/LoadGIS.png</file>
- <file>icons/48x48/GisProject.png</file>
- <file>icons/48x48/Route.png</file>
- <file>icons/48x48/Close.png</file>
- <file>icons/48x48/Track.png</file>
- <file>icons/48x48/EditDetails.png</file>
- <file>icons/48x48/EditText.png</file>
- <file>icons/48x48/TimeZoneSetup.png</file>
- <file>icons/cache/32x32/bluepin.png</file>
- <file>icons/cache/32x32/cito.png</file>
- <file>icons/cache/32x32/corrected.png</file>
- <file>icons/cache/32x32/DistIcon.png</file>
- <file>icons/cache/32x32/dnf.png</file>
- <file>icons/cache/32x32/down_icon.png</file>
- <file>icons/cache/32x32/earth.png</file>
- <file>icons/cache/32x32/event.png</file>
- <file>icons/cache/32x32/found.png</file>
- <file>icons/cache/32x32/ftf.png</file>
- <file>icons/cache/32x32/greenpin.png</file>
- <file>icons/cache/32x32/halfstar.png</file>
- <file>icons/cache/32x32/letterbox.png</file>
- <file>icons/cache/32x32/log.png</file>
- <file>icons/cache/32x32/maxicon.png</file>
- <file>icons/cache/32x32/mega.png</file>
- <file>icons/cache/32x32/minicon.png</file>
- <file>icons/cache/32x32/multi.png</file>
- <file>icons/cache/32x32/needs_maintenance.png</file>
- <file>icons/cache/32x32/OCMLogo.png</file>
- <file>icons/cache/32x32/OCMLogoSmall.png</file>
- <file>icons/cache/32x32/other.png</file>
- <file>icons/cache/32x32/parking.png</file>
- <file>icons/cache/32x32/pushpin.png</file>
- <file>icons/cache/32x32/restore.png</file>
- <file>icons/cache/32x32/SearchIcon.png</file>
- <file>icons/cache/32x32/star_empty.png</file>
- <file>icons/cache/32x32/star.png</file>
- <file>icons/cache/32x32/traditional.png</file>
- <file>icons/cache/32x32/trailhead.png</file>
- <file>icons/cache/32x32/treasure.png</file>
- <file>icons/cache/32x32/unknown.png</file>
- <file>icons/cache/32x32/up_icon.png</file>
- <file>icons/cache/32x32/virtual.png</file>
- <file>icons/cache/32x32/waypoint-flag-red.png</file>
- <file>icons/cache/32x32/webcam.png</file>
- <file>icons/cache/32x32/wherigo.png</file>
- <file>icons/cache/32x32/write_note.png</file>
- <file>icons/waypoints/32x32/Default.png</file>
- <file>icons/waypoints/32x32/PinRed.png</file>
- <file>icons/waypoints/32x32/PinGreen.png</file>
- <file>icons/waypoints/32x32/PinBlue.png</file>
- <file>icons/waypoints/32x32/FlagRed.png</file>
- <file>icons/waypoints/32x32/FlagGreen.png</file>
- <file>icons/waypoints/32x32/FlagBlue.png</file>
- <file>icons/waypoints/32x32/BoxRed.png</file>
- <file>icons/waypoints/32x32/BoxGreen.png</file>
- <file>icons/waypoints/32x32/BoxBlue.png</file>
- <file>icons/waypoints/32x32/DiamondRed.png</file>
- <file>icons/waypoints/32x32/DiamondGreen.png</file>
- <file>icons/waypoints/32x32/DiamondBlue.png</file>
- <file>icons/waypoints/32x32/Residence.png</file>
- <file>cursors/cursorArrow.png</file>
- <file>cursors/cursorMove.png</file>
- <file>cursors/cursorMoveMap.png</file>
- <file>cursors/wptHighlight.png</file>
- <file>animation/loader.gif</file>
- <file>animation/loader2.gif</file>
- <file>pics/timezones.png</file>
- <file>pics/splash.png</file>
- </qresource>
-</RCC>
diff --git a/.hg/bookmarks b/.hg/bookmarks
deleted file mode 100644
index e69de29..0000000
diff --git a/.hg/branch b/.hg/branch
deleted file mode 100644
index 4ad96d5..0000000
--- a/.hg/branch
+++ /dev/null
@@ -1 +0,0 @@
-default
diff --git a/.hg/cache/branch2-base b/.hg/cache/branch2-base
deleted file mode 100644
index 58729ea..0000000
--- a/.hg/cache/branch2-base
+++ /dev/null
@@ -1,5 +0,0 @@
-b8ec877803db59f4fead5aa7335c04e6a548ed9d 747
-b8ec877803db59f4fead5aa7335c04e6a548ed9d o V1.x
-0433ed2f60a3f678cbc72718c60f215680c9fa83 o database
-18a67bde8d96355fe6eb57e236ce997f926a33ca o default
-209054e1b55f1e6009182ca384ff41e500bc6d4d o default
diff --git a/.hg/cache/branch2-served b/.hg/cache/branch2-served
deleted file mode 100644
index 7b687fa..0000000
--- a/.hg/cache/branch2-served
+++ /dev/null
@@ -1,5 +0,0 @@
-81cc8df832b3e25b79cff18a12b8ff4d447553ca 797
-5230c7cf05b9ceb46b0de9002e9aa4acb39171e0 o V1.x
-0433ed2f60a3f678cbc72718c60f215680c9fa83 o database
-18a67bde8d96355fe6eb57e236ce997f926a33ca o default
-81cc8df832b3e25b79cff18a12b8ff4d447553ca o default
diff --git a/.hg/cache/rbc-names-v1 b/.hg/cache/rbc-names-v1
deleted file mode 100644
index 98a58c3..0000000
Binary files a/.hg/cache/rbc-names-v1 and /dev/null differ
diff --git a/.hg/cache/rbc-revs-v1 b/.hg/cache/rbc-revs-v1
deleted file mode 100644
index 61d519d..0000000
Binary files a/.hg/cache/rbc-revs-v1 and /dev/null differ
diff --git a/.hg/cur-message.txt b/.hg/cur-message.txt
deleted file mode 100644
index e69de29..0000000
diff --git a/.hg/dirstate b/.hg/dirstate
deleted file mode 100644
index 812d128..0000000
Binary files a/.hg/dirstate and /dev/null differ
diff --git a/.hg/hgrc b/.hg/hgrc
deleted file mode 100644
index 95e2160..0000000
--- a/.hg/hgrc
+++ /dev/null
@@ -1,6 +0,0 @@
-[paths]
-default = https://kiozen@bitbucket.org/maproom/qmapshack
-
-
-[ui]
-merge = kdiff3
diff --git a/.hg/last-message.txt b/.hg/last-message.txt
deleted file mode 100644
index 252d2ac..0000000
--- a/.hg/last-message.txt
+++ /dev/null
@@ -1 +0,0 @@
-Added tag V 1.0.0 for changeset 6fb4d49d01a6
\ No newline at end of file
diff --git a/.hg/requires b/.hg/requires
deleted file mode 100644
index f634f66..0000000
--- a/.hg/requires
+++ /dev/null
@@ -1,4 +0,0 @@
-dotencode
-fncache
-revlogv1
-store
diff --git a/.hg/shelves/2014-08-10_14-17-09_parent_rev_212 b/.hg/shelves/2014-08-10_14-17-09_parent_rev_212
deleted file mode 100644
index 4a55457..0000000
--- a/.hg/shelves/2014-08-10_14-17-09_parent_rev_212
+++ /dev/null
@@ -1,107 +0,0 @@
-diff --git a/src/gis/trk/CGisItemTrk.cpp b/src/gis/trk/CGisItemTrk.cpp
---- a/src/gis/trk/CGisItemTrk.cpp
-+++ b/src/gis/trk/CGisItemTrk.cpp
-@@ -563,6 +563,7 @@
- }
-
-
-+#define WINDOW 25
-
- void CGisItemTrk::deriveSecondaryData()
- {
-@@ -723,9 +724,9 @@
- while(n>0)
- {
- trkpt_t & trkpt2 = seg.pts[n];
-- if((trkpt2.flags & trkpt_t::eHidden) || (trkpt2.ele == NOINT))
-+ if((trkpt2.flags & trkpt_t::eHidden) || (trkpt2.ele == NOINT) || (!trkpt2.time.isValid()))
- {
- n--;
- continue;
- }
-
-@@ -727,9 +728,9 @@
- {
- n--;
- continue;
- }
-
-- if(trkpt.distance - trkpt2.distance >= 25)
-+ if(trkpt.distance - trkpt2.distance >= WINDOW)
- {
- d1 = trkpt2.distance;
- e1 = trkpt2.ele;
-@@ -752,7 +753,7 @@
- continue;
- }
-
-- if(trkpt2.distance - trkpt.distance >= 25)
-+ if(trkpt2.distance - trkpt.distance >= WINDOW)
- {
- d2 = trkpt2.distance;
- e2 = trkpt2.ele;
-@@ -768,7 +769,8 @@
-
- if((t2 - t1) > 0)
- {
-- trkpt.speed = (d2 - d1) / (t2 - t1);
-+ trkpt.speed = (d2 - d1) / (t2 - t1);
-+ trkpt.rateAscent = (e2 - e1) / (t2 - t1);
- }
- else
- {
-@@ -772,7 +774,8 @@
- }
- else
- {
-- trkpt.speed = NOFLOAT;
-+ trkpt.speed = NOFLOAT;
-+ trkpt.rateAscent = NOFLOAT;
- }
- }
- }
-diff --git a/src/gis/trk/CGisItemTrk.h b/src/gis/trk/CGisItemTrk.h
---- a/src/gis/trk/CGisItemTrk.h
-+++ b/src/gis/trk/CGisItemTrk.h
-@@ -482,6 +482,8 @@
- slope1 = NOFLOAT;
- slope2 = NOFLOAT;
- speed = NOFLOAT;
-+ rateAscent = NOFLOAT;
-+ rateDescent = NOFLOAT;
- }
-
- enum flag_e
-@@ -513,6 +515,10 @@
- qreal elapsedSeconds;
- /// the seconds since the start of the track with moving speed
- qreal elapsedSecondsMoving;
-+
-+ qreal rateAscent;
-+
-+ qreal rateDescent;
- };
-
- struct trkseg_t
-diff --git a/src/plot/CPlotSpeed.cpp b/src/plot/CPlotSpeed.cpp
---- a/src/plot/CPlotSpeed.cpp
-+++ b/src/plot/CPlotSpeed.cpp
-@@ -20,7 +20,8 @@
- #include "plot/CPlotSpeed.h"
-
- CPlotSpeed::CPlotSpeed(QWidget *parent)
-- : IPlot(0, CPlotData::eAxisLinear, eModeNormal, parent)
-+// : IPlot(0, CPlotData::eAxisLinear, eModeNormal, parent)
-+ : IPlot(0, CPlotData::eAxisTime, eModeNormal, parent)
- {
- }
-
-@@ -79,7 +80,7 @@
-
- if(trkpt.speed != NOFLOAT)
- {
-- lineSpeed << QPointF(type == CPlotData::eAxisLinear ? trkpt.distance : (qreal)trkpt.time.toTime_t(), trkpt.speed * speedfactor);
-+ lineSpeed << QPointF(type == CPlotData::eAxisLinear ? trkpt.distance : (qreal)trkpt.time.toTime_t(), trkpt.rateAscent * 3600/*trkpt.speed * speedfactor*/);
- }
- }
- }
diff --git a/.hg/shelves/2015-02-22_12-03-51_parent_rev_750 b/.hg/shelves/2015-02-22_12-03-51_parent_rev_750
deleted file mode 100644
index e69de29..0000000
diff --git a/.hg/store/00changelog.d b/.hg/store/00changelog.d
deleted file mode 100644
index c063362..0000000
Binary files a/.hg/store/00changelog.d and /dev/null differ
diff --git a/.hg/store/00changelog.i b/.hg/store/00changelog.i
deleted file mode 100644
index ea93e47..0000000
Binary files a/.hg/store/00changelog.i and /dev/null differ
diff --git a/.hg/store/00manifest.d b/.hg/store/00manifest.d
deleted file mode 100644
index 6787ab0..0000000
Binary files a/.hg/store/00manifest.d and /dev/null differ
diff --git a/.hg/store/00manifest.i b/.hg/store/00manifest.i
deleted file mode 100644
index cfd3bda..0000000
Binary files a/.hg/store/00manifest.i and /dev/null differ
diff --git a/.hg/store/data/3rdparty/_c_get_opt/_c_get_opt.cpp.i b/.hg/store/data/3rdparty/_c_get_opt/_c_get_opt.cpp.i
deleted file mode 100644
index bcb9f21..0000000
Binary files a/.hg/store/data/3rdparty/_c_get_opt/_c_get_opt.cpp.i and /dev/null differ
diff --git a/.hg/store/data/3rdparty/_c_get_opt/_c_get_opt.h.i b/.hg/store/data/3rdparty/_c_get_opt/_c_get_opt.h.i
deleted file mode 100644
index 68330f8..0000000
Binary files a/.hg/store/data/3rdparty/_c_get_opt/_c_get_opt.h.i and /dev/null differ
diff --git a/.hg/store/data/3rdparty/_c_get_opt/_c_make_lists.txt.i b/.hg/store/data/3rdparty/_c_get_opt/_c_make_lists.txt.i
deleted file mode 100644
index 2373e1b..0000000
Binary files a/.hg/store/data/3rdparty/_c_get_opt/_c_make_lists.txt.i and /dev/null differ
diff --git a/.hg/store/data/3rdparty/_c_get_opt/class_get_opt.html.i b/.hg/store/data/3rdparty/_c_get_opt/class_get_opt.html.i
deleted file mode 100644
index fad685c..0000000
Binary files a/.hg/store/data/3rdparty/_c_get_opt/class_get_opt.html.i and /dev/null differ
diff --git a/.hg/store/data/3rdparty/_c_get_opt/getopt.pro.i b/.hg/store/data/3rdparty/_c_get_opt/getopt.pro.i
deleted file mode 100644
index 0466d04..0000000
Binary files a/.hg/store/data/3rdparty/_c_get_opt/getopt.pro.i and /dev/null differ
diff --git a/.hg/store/data/3rdparty/_c_get_opt/main.cpp.i b/.hg/store/data/3rdparty/_c_get_opt/main.cpp.i
deleted file mode 100644
index aad6d9c..0000000
Binary files a/.hg/store/data/3rdparty/_c_get_opt/main.cpp.i and /dev/null differ
diff --git a/.hg/store/data/3rdparty/_d_b_converter/_c_main_window.cpp.i b/.hg/store/data/3rdparty/_d_b_converter/_c_main_window.cpp.i
deleted file mode 100644
index 3e073f5..0000000
Binary files a/.hg/store/data/3rdparty/_d_b_converter/_c_main_window.cpp.i and /dev/null differ
diff --git a/.hg/store/data/3rdparty/_d_b_converter/_c_main_window.h.i b/.hg/store/data/3rdparty/_d_b_converter/_c_main_window.h.i
deleted file mode 100644
index 6f50f7b..0000000
Binary files a/.hg/store/data/3rdparty/_d_b_converter/_c_main_window.h.i and /dev/null differ
diff --git a/.hg/store/data/3rdparty/_d_b_converter/_c_make_lists.txt.i b/.hg/store/data/3rdparty/_d_b_converter/_c_make_lists.txt.i
deleted file mode 100644
index 787b6a0..0000000
Binary files a/.hg/store/data/3rdparty/_d_b_converter/_c_make_lists.txt.i and /dev/null differ
diff --git a/.hg/store/data/3rdparty/_d_b_converter/_c_qlgt_db.cpp.i b/.hg/store/data/3rdparty/_d_b_converter/_c_qlgt_db.cpp.i
deleted file mode 100644
index 6b816f7..0000000
Binary files a/.hg/store/data/3rdparty/_d_b_converter/_c_qlgt_db.cpp.i and /dev/null differ
diff --git a/.hg/store/data/3rdparty/_d_b_converter/_c_qlgt_db.h.i b/.hg/store/data/3rdparty/_d_b_converter/_c_qlgt_db.h.i
deleted file mode 100644
index d9f07f9..0000000
Binary files a/.hg/store/data/3rdparty/_d_b_converter/_c_qlgt_db.h.i and /dev/null differ
diff --git a/.hg/store/data/3rdparty/_d_b_converter/_c_qms_db.cpp.i b/.hg/store/data/3rdparty/_d_b_converter/_c_qms_db.cpp.i
deleted file mode 100644
index f45b70b..0000000
Binary files a/.hg/store/data/3rdparty/_d_b_converter/_c_qms_db.cpp.i and /dev/null differ
diff --git a/.hg/store/data/3rdparty/_d_b_converter/_c_qms_db.h.i b/.hg/store/data/3rdparty/_d_b_converter/_c_qms_db.h.i
deleted file mode 100644
index 1d7a944..0000000
Binary files a/.hg/store/data/3rdparty/_d_b_converter/_c_qms_db.h.i and /dev/null differ
diff --git a/.hg/store/data/3rdparty/_d_b_converter/_i_main_window.ui.i b/.hg/store/data/3rdparty/_d_b_converter/_i_main_window.ui.i
deleted file mode 100644
index 5a0196a..0000000
Binary files a/.hg/store/data/3rdparty/_d_b_converter/_i_main_window.ui.i and /dev/null differ
diff --git a/.hg/store/data/3rdparty/_d_b_converter/converter.cpp.i b/.hg/store/data/3rdparty/_d_b_converter/converter.cpp.i
deleted file mode 100644
index 215dc69..0000000
Binary files a/.hg/store/data/3rdparty/_d_b_converter/converter.cpp.i and /dev/null differ
diff --git a/.hg/store/data/3rdparty/_d_b_converter/main.cpp.i b/.hg/store/data/3rdparty/_d_b_converter/main.cpp.i
deleted file mode 100644
index 14e6f16..0000000
Binary files a/.hg/store/data/3rdparty/_d_b_converter/main.cpp.i and /dev/null differ
diff --git a/.hg/store/data/3rdparty/_d_b_converter/qlgt/_c_qlb.cpp.i b/.hg/store/data/3rdparty/_d_b_converter/qlgt/_c_qlb.cpp.i
deleted file mode 100644
index f28a95b..0000000
Binary files a/.hg/store/data/3rdparty/_d_b_converter/qlgt/_c_qlb.cpp.i and /dev/null differ
diff --git a/.hg/store/data/3rdparty/_d_b_converter/qlgt/_c_qlb.h.i b/.hg/store/data/3rdparty/_d_b_converter/qlgt/_c_qlb.h.i
deleted file mode 100644
index 4efee01..0000000
Binary files a/.hg/store/data/3rdparty/_d_b_converter/qlgt/_c_qlb.h.i and /dev/null differ
diff --git a/.hg/store/data/3rdparty/_d_b_converter/qlgt/_c_qlgt_diary.cpp.i b/.hg/store/data/3rdparty/_d_b_converter/qlgt/_c_qlgt_diary.cpp.i
deleted file mode 100644
index fcbca91..0000000
Binary files a/.hg/store/data/3rdparty/_d_b_converter/qlgt/_c_qlgt_diary.cpp.i and /dev/null differ
diff --git a/.hg/store/data/3rdparty/_d_b_converter/qlgt/_c_qlgt_diary.h.i b/.hg/store/data/3rdparty/_d_b_converter/qlgt/_c_qlgt_diary.h.i
deleted file mode 100644
index f968b06..0000000
Binary files a/.hg/store/data/3rdparty/_d_b_converter/qlgt/_c_qlgt_diary.h.i and /dev/null differ
diff --git a/.hg/store/data/3rdparty/_d_b_converter/qlgt/_c_qlgt_route.cpp.i b/.hg/store/data/3rdparty/_d_b_converter/qlgt/_c_qlgt_route.cpp.i
deleted file mode 100644
index db4a54f..0000000
Binary files a/.hg/store/data/3rdparty/_d_b_converter/qlgt/_c_qlgt_route.cpp.i and /dev/null differ
diff --git a/.hg/store/data/3rdparty/_d_b_converter/qlgt/_c_qlgt_route.h.i b/.hg/store/data/3rdparty/_d_b_converter/qlgt/_c_qlgt_route.h.i
deleted file mode 100644
index 839aab0..0000000
Binary files a/.hg/store/data/3rdparty/_d_b_converter/qlgt/_c_qlgt_route.h.i and /dev/null differ
diff --git a/.hg/store/data/3rdparty/_d_b_converter/qlgt/_c_qlgt_track.cpp.i b/.hg/store/data/3rdparty/_d_b_converter/qlgt/_c_qlgt_track.cpp.i
deleted file mode 100644
index b7ca089..0000000
Binary files a/.hg/store/data/3rdparty/_d_b_converter/qlgt/_c_qlgt_track.cpp.i and /dev/null differ
diff --git a/.hg/store/data/3rdparty/_d_b_converter/qlgt/_c_qlgt_track.h.i b/.hg/store/data/3rdparty/_d_b_converter/qlgt/_c_qlgt_track.h.i
deleted file mode 100644
index 12f8a2a..0000000
Binary files a/.hg/store/data/3rdparty/_d_b_converter/qlgt/_c_qlgt_track.h.i and /dev/null differ
diff --git a/.hg/store/data/3rdparty/_d_b_converter/qlgt/_c_qlgt_wpt.cpp.i b/.hg/store/data/3rdparty/_d_b_converter/qlgt/_c_qlgt_wpt.cpp.i
deleted file mode 100644
index 45b6666..0000000
Binary files a/.hg/store/data/3rdparty/_d_b_converter/qlgt/_c_qlgt_wpt.cpp.i and /dev/null differ
diff --git a/.hg/store/data/3rdparty/_d_b_converter/qlgt/_c_qlgt_wpt.h.i b/.hg/store/data/3rdparty/_d_b_converter/qlgt/_c_qlgt_wpt.h.i
deleted file mode 100644
index 0b9d261..0000000
Binary files a/.hg/store/data/3rdparty/_d_b_converter/qlgt/_c_qlgt_wpt.h.i and /dev/null differ
diff --git a/.hg/store/data/3rdparty/_d_b_converter/qlgt/_i_item.cpp.i b/.hg/store/data/3rdparty/_d_b_converter/qlgt/_i_item.cpp.i
deleted file mode 100644
index 7de9697..0000000
Binary files a/.hg/store/data/3rdparty/_d_b_converter/qlgt/_i_item.cpp.i and /dev/null differ
diff --git a/.hg/store/data/3rdparty/_d_b_converter/qlgt/_i_item.h.i b/.hg/store/data/3rdparty/_d_b_converter/qlgt/_i_item.h.i
deleted file mode 100644
index 267d6f0..0000000
Binary files a/.hg/store/data/3rdparty/_d_b_converter/qlgt/_i_item.h.i and /dev/null differ
diff --git a/.hg/store/data/3rdparty/_d_b_converter/qlgt/_i_qlgt_overlay.cpp.i b/.hg/store/data/3rdparty/_d_b_converter/qlgt/_i_qlgt_overlay.cpp.i
deleted file mode 100644
index 5fa5915..0000000
Binary files a/.hg/store/data/3rdparty/_d_b_converter/qlgt/_i_qlgt_overlay.cpp.i and /dev/null differ
diff --git a/.hg/store/data/3rdparty/_d_b_converter/qlgt/_i_qlgt_overlay.h.i b/.hg/store/data/3rdparty/_d_b_converter/qlgt/_i_qlgt_overlay.h.i
deleted file mode 100644
index 8825813..0000000
Binary files a/.hg/store/data/3rdparty/_d_b_converter/qlgt/_i_qlgt_overlay.h.i and /dev/null differ
diff --git a/.hg/store/data/3rdparty/_d_b_converter/resources.qrc.i b/.hg/store/data/3rdparty/_d_b_converter/resources.qrc.i
deleted file mode 100644
index dafd895..0000000
Binary files a/.hg/store/data/3rdparty/_d_b_converter/resources.qrc.i and /dev/null differ
diff --git a/.hg/store/data/_c_make_lists.txt.i b/.hg/store/data/_c_make_lists.txt.i
deleted file mode 100644
index c225ad5..0000000
Binary files a/.hg/store/data/_c_make_lists.txt.i and /dev/null differ
diff --git a/.hg/store/data/_c_pack_config.cmake.i b/.hg/store/data/_c_pack_config.cmake.i
deleted file mode 100644
index adeace2..0000000
Binary files a/.hg/store/data/_c_pack_config.cmake.i and /dev/null differ
diff --git a/.hg/store/data/_configure_checks.cmake.i b/.hg/store/data/_configure_checks.cmake.i
deleted file mode 100644
index 52e2288..0000000
Binary files a/.hg/store/data/_configure_checks.cmake.i and /dev/null differ
diff --git a/.hg/store/data/_doxyfile.i b/.hg/store/data/_doxyfile.i
deleted file mode 100644
index efb7567..0000000
Binary files a/.hg/store/data/_doxyfile.i and /dev/null differ
diff --git a/.hg/store/data/_gpx_examples/_c_o_p_y_r_i_g_h_t.i b/.hg/store/data/_gpx_examples/_c_o_p_y_r_i_g_h_t.i
deleted file mode 100644
index f423e9d..0000000
Binary files a/.hg/store/data/_gpx_examples/_c_o_p_y_r_i_g_h_t.i and /dev/null differ
diff --git a/.hg/store/data/_gpx_examples/basecamp.gpx.i b/.hg/store/data/_gpx_examples/basecamp.gpx.i
deleted file mode 100644
index 6cbae4b..0000000
Binary files a/.hg/store/data/_gpx_examples/basecamp.gpx.i and /dev/null differ
diff --git a/.hg/store/data/_gpx_examples/qlandkarte.gpx.i b/.hg/store/data/_gpx_examples/qlandkarte.gpx.i
deleted file mode 100644
index e1105ac..0000000
Binary files a/.hg/store/data/_gpx_examples/qlandkarte.gpx.i and /dev/null differ
diff --git a/.hg/store/data/_l_i_c_e_n_s_e.i b/.hg/store/data/_l_i_c_e_n_s_e.i
deleted file mode 100644
index b2dd24e..0000000
Binary files a/.hg/store/data/_l_i_c_e_n_s_e.i and /dev/null differ
diff --git a/.hg/store/data/_r_e_a_d_m_e.md.i b/.hg/store/data/_r_e_a_d_m_e.md.i
deleted file mode 100644
index fa49cef..0000000
Binary files a/.hg/store/data/_r_e_a_d_m_e.md.i and /dev/null differ
diff --git a/.hg/store/data/call___uncrustify.cfg.i b/.hg/store/data/call___uncrustify.cfg.i
deleted file mode 100644
index 4f2e2e3..0000000
Binary files a/.hg/store/data/call___uncrustify.cfg.i and /dev/null differ
diff --git a/.hg/store/data/call___uncrustify.sh.i b/.hg/store/data/call___uncrustify.sh.i
deleted file mode 100644
index b3a129c..0000000
Binary files a/.hg/store/data/call___uncrustify.sh.i and /dev/null differ
diff --git a/.hg/store/data/changelog.txt.i b/.hg/store/data/changelog.txt.i
deleted file mode 100644
index 04f8185..0000000
Binary files a/.hg/store/data/changelog.txt.i and /dev/null differ
diff --git a/.hg/store/data/cmake/_c_make_lists.txt.i b/.hg/store/data/cmake/_c_make_lists.txt.i
deleted file mode 100644
index 750bcca..0000000
Binary files a/.hg/store/data/cmake/_c_make_lists.txt.i and /dev/null differ
diff --git a/.hg/store/data/cmake/_modules/_c_make_lists.txt.i b/.hg/store/data/cmake/_modules/_c_make_lists.txt.i
deleted file mode 100644
index 64b3a96..0000000
Binary files a/.hg/store/data/cmake/_modules/_c_make_lists.txt.i and /dev/null differ
diff --git a/.hg/store/data/cmake/_modules/_c_o_p_y_i_n_g-_c_m_a_k_e-_s_c_r_i_p_t_s.i b/.hg/store/data/cmake/_modules/_c_o_p_y_i_n_g-_c_m_a_k_e-_s_c_r_i_p_t_s.i
deleted file mode 100644
index 45ce5c0..0000000
Binary files a/.hg/store/data/cmake/_modules/_c_o_p_y_i_n_g-_c_m_a_k_e-_s_c_r_i_p_t_s.i and /dev/null differ
diff --git a/.hg/store/data/cmake/_modules/_define_c_make_defaults.cmake.i b/.hg/store/data/cmake/_modules/_define_c_make_defaults.cmake.i
deleted file mode 100644
index 9253298..0000000
Binary files a/.hg/store/data/cmake/_modules/_define_c_make_defaults.cmake.i and /dev/null differ
diff --git a/.hg/store/data/cmake/_modules/_define_compiler_flags.cmake.i b/.hg/store/data/cmake/_modules/_define_compiler_flags.cmake.i
deleted file mode 100644
index f374e44..0000000
Binary files a/.hg/store/data/cmake/_modules/_define_compiler_flags.cmake.i and /dev/null differ
diff --git a/.hg/store/data/cmake/_modules/_define_installation_paths.cmake.i b/.hg/store/data/cmake/_modules/_define_installation_paths.cmake.i
deleted file mode 100644
index 69a9c89..0000000
Binary files a/.hg/store/data/cmake/_modules/_define_installation_paths.cmake.i and /dev/null differ
diff --git a/.hg/store/data/cmake/_modules/_find_d_m_t_x.cmake.i b/.hg/store/data/cmake/_modules/_find_d_m_t_x.cmake.i
deleted file mode 100644
index ee64018..0000000
Binary files a/.hg/store/data/cmake/_modules/_find_d_m_t_x.cmake.i and /dev/null differ
diff --git a/.hg/store/data/cmake/_modules/_find_e_x_i_f.cmake.i b/.hg/store/data/cmake/_modules/_find_e_x_i_f.cmake.i
deleted file mode 100644
index c3ef56b..0000000
Binary files a/.hg/store/data/cmake/_modules/_find_e_x_i_f.cmake.i and /dev/null differ
diff --git a/.hg/store/data/cmake/_modules/_find_g_d_a_l.cmake.i b/.hg/store/data/cmake/_modules/_find_g_d_a_l.cmake.i
deleted file mode 100644
index 7f2ad0b..0000000
Binary files a/.hg/store/data/cmake/_modules/_find_g_d_a_l.cmake.i and /dev/null differ
diff --git a/.hg/store/data/cmake/_modules/_find_g_p_s_d.cmake.i b/.hg/store/data/cmake/_modules/_find_g_p_s_d.cmake.i
deleted file mode 100644
index dd497d4..0000000
Binary files a/.hg/store/data/cmake/_modules/_find_g_p_s_d.cmake.i and /dev/null differ
diff --git a/.hg/store/data/cmake/_modules/_find_j_p_e_g.cmake.i b/.hg/store/data/cmake/_modules/_find_j_p_e_g.cmake.i
deleted file mode 100644
index c8a913b..0000000
Binary files a/.hg/store/data/cmake/_modules/_find_j_p_e_g.cmake.i and /dev/null differ
diff --git a/.hg/store/data/cmake/_modules/_find_p_r_o_j.cmake.i b/.hg/store/data/cmake/_modules/_find_p_r_o_j.cmake.i
deleted file mode 100644
index 5f7ee5e..0000000
Binary files a/.hg/store/data/cmake/_modules/_find_p_r_o_j.cmake.i and /dev/null differ
diff --git a/.hg/store/data/cmake/_modules/_find_qext_serial_port.cmake.i b/.hg/store/data/cmake/_modules/_find_qext_serial_port.cmake.i
deleted file mode 100644
index 983f941..0000000
Binary files a/.hg/store/data/cmake/_modules/_find_qext_serial_port.cmake.i and /dev/null differ
diff --git a/.hg/store/data/cmake/_modules/_find_qt_soap.cmake.i b/.hg/store/data/cmake/_modules/_find_qt_soap.cmake.i
deleted file mode 100644
index 1243e8f..0000000
Binary files a/.hg/store/data/cmake/_modules/_find_qt_soap.cmake.i and /dev/null differ
diff --git a/.hg/store/data/cmake/_modules/_find_xerces_c.cmake.i b/.hg/store/data/cmake/_modules/_find_xerces_c.cmake.i
deleted file mode 100644
index 578a3db..0000000
Binary files a/.hg/store/data/cmake/_modules/_find_xerces_c.cmake.i and /dev/null differ
diff --git a/.hg/store/data/cmake/_modules/_macro_copy_file.cmake.i b/.hg/store/data/cmake/_modules/_macro_copy_file.cmake.i
deleted file mode 100644
index 52cc04f..0000000
Binary files a/.hg/store/data/cmake/_modules/_macro_copy_file.cmake.i and /dev/null differ
diff --git a/.hg/store/data/cmake/_modules/_macro_ensure_out_of_source_build.cmake.i b/.hg/store/data/cmake/_modules/_macro_ensure_out_of_source_build.cmake.i
deleted file mode 100644
index e59be5c..0000000
Binary files a/.hg/store/data/cmake/_modules/_macro_ensure_out_of_source_build.cmake.i and /dev/null differ
diff --git a/.hg/store/data/cmake__uninstall.cmake.in.i b/.hg/store/data/cmake__uninstall.cmake.in.i
deleted file mode 100644
index 157ced9..0000000
Binary files a/.hg/store/data/cmake__uninstall.cmake.in.i and /dev/null differ
diff --git a/.hg/store/data/config.h.cmake.i b/.hg/store/data/config.h.cmake.i
deleted file mode 100644
index 2cdb2f3..0000000
Binary files a/.hg/store/data/config.h.cmake.i and /dev/null differ
diff --git a/.hg/store/data/features.txt.i b/.hg/store/data/features.txt.i
deleted file mode 100644
index 37c1356..0000000
Binary files a/.hg/store/data/features.txt.i and /dev/null differ
diff --git a/.hg/store/data/maproom.1.i b/.hg/store/data/maproom.1.i
deleted file mode 100644
index d57fb6d..0000000
Binary files a/.hg/store/data/maproom.1.i and /dev/null differ
diff --git a/.hg/store/data/maproom.desktop.i b/.hg/store/data/maproom.desktop.i
deleted file mode 100644
index 81d8846..0000000
Binary files a/.hg/store/data/maproom.desktop.i and /dev/null differ
diff --git a/.hg/store/data/mkfile.i b/.hg/store/data/mkfile.i
deleted file mode 100644
index 73cae7b..0000000
Binary files a/.hg/store/data/mkfile.i and /dev/null differ
diff --git a/.hg/store/data/nsi/3rdparty.txt.i b/.hg/store/data/nsi/3rdparty.txt.i
deleted file mode 100644
index f73d690..0000000
Binary files a/.hg/store/data/nsi/3rdparty.txt.i and /dev/null differ
diff --git a/.hg/store/data/nsi/_help.ico.i b/.hg/store/data/nsi/_help.ico.i
deleted file mode 100644
index 5aeac8f..0000000
Binary files a/.hg/store/data/nsi/_help.ico.i and /dev/null differ
diff --git a/.hg/store/data/nsi/_m_u_i___h_e_a_d_e_r_i_m_a_g_e.bmp.i b/.hg/store/data/nsi/_m_u_i___h_e_a_d_e_r_i_m_a_g_e.bmp.i
deleted file mode 100644
index 8bf2d32..0000000
Binary files a/.hg/store/data/nsi/_m_u_i___h_e_a_d_e_r_i_m_a_g_e.bmp.i and /dev/null differ
diff --git a/.hg/store/data/nsi/_m_u_i___w_e_l_c_o_m_e_f_i_n_i_s_h_p_a_g_e.bmp.i b/.hg/store/data/nsi/_m_u_i___w_e_l_c_o_m_e_f_i_n_i_s_h_p_a_g_e.bmp.i
deleted file mode 100644
index c73bf00..0000000
Binary files a/.hg/store/data/nsi/_m_u_i___w_e_l_c_o_m_e_f_i_n_i_s_h_p_a_g_e.bmp.i and /dev/null differ
diff --git a/.hg/store/data/nsi/_q_map_shack.ico.i b/.hg/store/data/nsi/_q_map_shack.ico.i
deleted file mode 100644
index 9c2330a..0000000
Binary files a/.hg/store/data/nsi/_q_map_shack.ico.i and /dev/null differ
diff --git a/.hg/store/data/nsi/_q_map_shack___installer.nsi.i b/.hg/store/data/nsi/_q_map_shack___installer.nsi.i
deleted file mode 100644
index 1fdff6d..0000000
Binary files a/.hg/store/data/nsi/_q_map_shack___installer.nsi.i and /dev/null differ
diff --git a/.hg/store/data/nsi/_q_map_shack___installer32.nsi.i b/.hg/store/data/nsi/_q_map_shack___installer32.nsi.i
deleted file mode 100644
index f92645e..0000000
Binary files a/.hg/store/data/nsi/_q_map_shack___installer32.nsi.i and /dev/null differ
diff --git a/.hg/store/data/nsi/copyfiles.bat.i b/.hg/store/data/nsi/copyfiles.bat.i
deleted file mode 100644
index c859273..0000000
Binary files a/.hg/store/data/nsi/copyfiles.bat.i and /dev/null differ
diff --git a/.hg/store/data/nsi/copyfiles32.bat.i b/.hg/store/data/nsi/copyfiles32.bat.i
deleted file mode 100644
index cb2b404..0000000
Binary files a/.hg/store/data/nsi/copyfiles32.bat.i and /dev/null differ
diff --git a/.hg/store/data/nsi/gdalicon.ico.i b/.hg/store/data/nsi/gdalicon.ico.i
deleted file mode 100644
index 40e0f22..0000000
Binary files a/.hg/store/data/nsi/gdalicon.ico.i and /dev/null differ
diff --git a/.hg/store/data/nsi/kfm__home.ico.i b/.hg/store/data/nsi/kfm__home.ico.i
deleted file mode 100644
index dc06abf..0000000
Binary files a/.hg/store/data/nsi/kfm__home.ico.i and /dev/null differ
diff --git a/.hg/store/data/nsi/konsole.ico.i b/.hg/store/data/nsi/konsole.ico.i
deleted file mode 100644
index 573fa8c..0000000
Binary files a/.hg/store/data/nsi/konsole.ico.i and /dev/null differ
diff --git a/.hg/store/data/qmapshack.1.i b/.hg/store/data/qmapshack.1.i
deleted file mode 100644
index f719909..0000000
Binary files a/.hg/store/data/qmapshack.1.i and /dev/null differ
diff --git a/.hg/store/data/qmapshack.desktop.i b/.hg/store/data/qmapshack.desktop.i
deleted file mode 100644
index c24bb2e..0000000
Binary files a/.hg/store/data/qmapshack.desktop.i and /dev/null differ
diff --git a/.hg/store/data/src/_c_about.cpp.i b/.hg/store/data/src/_c_about.cpp.i
deleted file mode 100644
index 7182cc7..0000000
Binary files a/.hg/store/data/src/_c_about.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/_c_about.h.i b/.hg/store/data/src/_c_about.h.i
deleted file mode 100644
index 43602a2..0000000
Binary files a/.hg/store/data/src/_c_about.h.i and /dev/null differ
diff --git a/.hg/store/data/src/_c_app_opts.h.i b/.hg/store/data/src/_c_app_opts.h.i
deleted file mode 100644
index b2f7542..0000000
Binary files a/.hg/store/data/src/_c_app_opts.h.i and /dev/null differ
diff --git a/.hg/store/data/src/_c_canvas.cpp.i b/.hg/store/data/src/_c_canvas.cpp.i
deleted file mode 100644
index 588b714..0000000
Binary files a/.hg/store/data/src/_c_canvas.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/_c_canvas.h.i b/.hg/store/data/src/_c_canvas.h.i
deleted file mode 100644
index c7fdf02..0000000
Binary files a/.hg/store/data/src/_c_canvas.h.i and /dev/null differ
diff --git a/.hg/store/data/src/_c_file_ext.h.i b/.hg/store/data/src/_c_file_ext.h.i
deleted file mode 100644
index 1e93c8d..0000000
Binary files a/.hg/store/data/src/_c_file_ext.h.i and /dev/null differ
diff --git a/.hg/store/data/src/_c_main_window.cpp.i b/.hg/store/data/src/_c_main_window.cpp.i
deleted file mode 100644
index a8ea5dd..0000000
Binary files a/.hg/store/data/src/_c_main_window.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/_c_main_window.h.i b/.hg/store/data/src/_c_main_window.h.i
deleted file mode 100644
index 7f949ad..0000000
Binary files a/.hg/store/data/src/_c_main_window.h.i and /dev/null differ
diff --git a/.hg/store/data/src/_c_make_lists.txt.i b/.hg/store/data/src/_c_make_lists.txt.i
deleted file mode 100644
index 84a5513..0000000
Binary files a/.hg/store/data/src/_c_make_lists.txt.i and /dev/null differ
diff --git a/.hg/store/data/src/_c_map_d_b.cpp.i b/.hg/store/data/src/_c_map_d_b.cpp.i
deleted file mode 100644
index 56a1593..0000000
Binary files a/.hg/store/data/src/_c_map_d_b.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/_c_map_d_b.h.i b/.hg/store/data/src/_c_map_d_b.h.i
deleted file mode 100644
index b4e79a0..0000000
Binary files a/.hg/store/data/src/_c_map_d_b.h.i and /dev/null differ
diff --git a/.hg/store/data/src/_c_settings.h.i b/.hg/store/data/src/_c_settings.h.i
deleted file mode 100644
index 7a974f0..0000000
Binary files a/.hg/store/data/src/_c_settings.h.i and /dev/null differ
diff --git a/.hg/store/data/src/_geo_math.cpp.i b/.hg/store/data/src/_geo_math.cpp.i
deleted file mode 100644
index d51b3c6..0000000
Binary files a/.hg/store/data/src/_geo_math.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/_geo_math.h.i b/.hg/store/data/src/_geo_math.h.i
deleted file mode 100644
index b5b9552..0000000
Binary files a/.hg/store/data/src/_geo_math.h.i and /dev/null differ
diff --git a/.hg/store/data/src/_i_about.ui.i b/.hg/store/data/src/_i_about.ui.i
deleted file mode 100644
index 4070802..0000000
Binary files a/.hg/store/data/src/_i_about.ui.i and /dev/null differ
diff --git a/.hg/store/data/src/_i_d_b.cpp.i b/.hg/store/data/src/_i_d_b.cpp.i
deleted file mode 100644
index 5f78b96..0000000
Binary files a/.hg/store/data/src/_i_d_b.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/_i_d_b.h.i b/.hg/store/data/src/_i_d_b.h.i
deleted file mode 100644
index d60e172..0000000
Binary files a/.hg/store/data/src/_i_d_b.h.i and /dev/null differ
diff --git a/.hg/store/data/src/_i_draw_context.cpp.i b/.hg/store/data/src/_i_draw_context.cpp.i
deleted file mode 100644
index a48e8f1..0000000
Binary files a/.hg/store/data/src/_i_draw_context.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/_i_draw_context.h.i b/.hg/store/data/src/_i_draw_context.h.i
deleted file mode 100644
index a6f5bd1..0000000
Binary files a/.hg/store/data/src/_i_draw_context.h.i and /dev/null differ
diff --git a/.hg/store/data/src/_i_draw_object.cpp.i b/.hg/store/data/src/_i_draw_object.cpp.i
deleted file mode 100644
index d0a79c0..0000000
Binary files a/.hg/store/data/src/_i_draw_object.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/_i_draw_object.h.i b/.hg/store/data/src/_i_draw_object.h.i
deleted file mode 100644
index 7323d25..0000000
Binary files a/.hg/store/data/src/_i_draw_object.h.i and /dev/null differ
diff --git a/.hg/store/data/src/_i_main_window.ui.i b/.hg/store/data/src/_i_main_window.ui.i
deleted file mode 100644
index e3df59a..0000000
Binary files a/.hg/store/data/src/_i_main_window.ui.i and /dev/null differ
diff --git a/.hg/store/data/src/_platform.h.i b/.hg/store/data/src/_platform.h.i
deleted file mode 100644
index d207483..0000000
Binary files a/.hg/store/data/src/_platform.h.i and /dev/null differ
diff --git a/.hg/store/data/src/animation/_c_o_p_y_r_i_g_h_t.i b/.hg/store/data/src/animation/_c_o_p_y_r_i_g_h_t.i
deleted file mode 100644
index 0a31899..0000000
Binary files a/.hg/store/data/src/animation/_c_o_p_y_r_i_g_h_t.i and /dev/null differ
diff --git a/.hg/store/data/src/animation/_r_e_a_d_m_e.i b/.hg/store/data/src/animation/_r_e_a_d_m_e.i
deleted file mode 100644
index 58f4308..0000000
Binary files a/.hg/store/data/src/animation/_r_e_a_d_m_e.i and /dev/null differ
diff --git a/.hg/store/data/src/animation/_w_t_f_p_l-2.i b/.hg/store/data/src/animation/_w_t_f_p_l-2.i
deleted file mode 100644
index 391c000..0000000
Binary files a/.hg/store/data/src/animation/_w_t_f_p_l-2.i and /dev/null differ
diff --git a/.hg/store/data/src/animation/loader.gif.i b/.hg/store/data/src/animation/loader.gif.i
deleted file mode 100644
index 6f31db7..0000000
Binary files a/.hg/store/data/src/animation/loader.gif.i and /dev/null differ
diff --git a/.hg/store/data/src/animation/loader2.gif.i b/.hg/store/data/src/animation/loader2.gif.i
deleted file mode 100644
index 87a5677..0000000
Binary files a/.hg/store/data/src/animation/loader2.gif.i and /dev/null differ
diff --git a/.hg/store/data/src/canvas/_c_canvas.cpp.i b/.hg/store/data/src/canvas/_c_canvas.cpp.i
deleted file mode 100644
index 2ac6509..0000000
Binary files a/.hg/store/data/src/canvas/_c_canvas.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/canvas/_c_canvas.h.i b/.hg/store/data/src/canvas/_c_canvas.h.i
deleted file mode 100644
index 9916b12..0000000
Binary files a/.hg/store/data/src/canvas/_c_canvas.h.i and /dev/null differ
diff --git a/.hg/store/data/src/canvas/_c_canvas_setup.cpp.i b/.hg/store/data/src/canvas/_c_canvas_setup.cpp.i
deleted file mode 100644
index 631877c..0000000
Binary files a/.hg/store/data/src/canvas/_c_canvas_setup.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/canvas/_c_canvas_setup.h.i b/.hg/store/data/src/canvas/_c_canvas_setup.h.i
deleted file mode 100644
index 17f9afb..0000000
Binary files a/.hg/store/data/src/canvas/_c_canvas_setup.h.i and /dev/null differ
diff --git a/.hg/store/data/src/canvas/_i_canvas_setup.ui.i b/.hg/store/data/src/canvas/_i_canvas_setup.ui.i
deleted file mode 100644
index 9fb418f..0000000
Binary files a/.hg/store/data/src/canvas/_i_canvas_setup.ui.i and /dev/null differ
diff --git a/.hg/store/data/src/canvas/_i_draw_context.cpp.i b/.hg/store/data/src/canvas/_i_draw_context.cpp.i
deleted file mode 100644
index 17452c6..0000000
Binary files a/.hg/store/data/src/canvas/_i_draw_context.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/canvas/_i_draw_context.h.i b/.hg/store/data/src/canvas/_i_draw_context.h.i
deleted file mode 100644
index 6974842..0000000
Binary files a/.hg/store/data/src/canvas/_i_draw_context.h.i and /dev/null differ
diff --git a/.hg/store/data/src/canvas/_i_draw_object.cpp.i b/.hg/store/data/src/canvas/_i_draw_object.cpp.i
deleted file mode 100644
index 8783c7c..0000000
Binary files a/.hg/store/data/src/canvas/_i_draw_object.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/canvas/_i_draw_object.h.i b/.hg/store/data/src/canvas/_i_draw_object.h.i
deleted file mode 100644
index c606d91..0000000
Binary files a/.hg/store/data/src/canvas/_i_draw_object.h.i and /dev/null differ
diff --git a/.hg/store/data/src/cursors/_c_o_p_y_r_i_g_h_t.i b/.hg/store/data/src/cursors/_c_o_p_y_r_i_g_h_t.i
deleted file mode 100644
index 0229610..0000000
Binary files a/.hg/store/data/src/cursors/_c_o_p_y_r_i_g_h_t.i and /dev/null differ
diff --git a/.hg/store/data/src/cursors/cursor_add.png.i b/.hg/store/data/src/cursors/cursor_add.png.i
deleted file mode 100644
index 7817f22..0000000
Binary files a/.hg/store/data/src/cursors/cursor_add.png.i and /dev/null differ
diff --git a/.hg/store/data/src/cursors/cursor_arrow.png.i b/.hg/store/data/src/cursors/cursor_arrow.png.i
deleted file mode 100644
index f36ab72..0000000
Binary files a/.hg/store/data/src/cursors/cursor_arrow.png.i and /dev/null differ
diff --git a/.hg/store/data/src/cursors/cursor_move.png.i b/.hg/store/data/src/cursors/cursor_move.png.i
deleted file mode 100644
index cd60d12..0000000
Binary files a/.hg/store/data/src/cursors/cursor_move.png.i and /dev/null differ
diff --git a/.hg/store/data/src/cursors/cursor_move_area.png.i b/.hg/store/data/src/cursors/cursor_move_area.png.i
deleted file mode 100644
index 5853e59..0000000
Binary files a/.hg/store/data/src/cursors/cursor_move_area.png.i and /dev/null differ
diff --git a/.hg/store/data/src/cursors/cursor_move_line.png.i b/.hg/store/data/src/cursors/cursor_move_line.png.i
deleted file mode 100644
index 95585e7..0000000
Binary files a/.hg/store/data/src/cursors/cursor_move_line.png.i and /dev/null differ
diff --git a/.hg/store/data/src/cursors/cursor_move_map.png.i b/.hg/store/data/src/cursors/cursor_move_map.png.i
deleted file mode 100644
index eb114fe..0000000
Binary files a/.hg/store/data/src/cursors/cursor_move_map.png.i and /dev/null differ
diff --git a/.hg/store/data/src/cursors/cursor_move_wpt.png.i b/.hg/store/data/src/cursors/cursor_move_wpt.png.i
deleted file mode 100644
index ddedb7f..0000000
Binary files a/.hg/store/data/src/cursors/cursor_move_wpt.png.i and /dev/null differ
diff --git a/.hg/store/data/src/cursors/cursor_select_range.png.i b/.hg/store/data/src/cursors/cursor_select_range.png.i
deleted file mode 100644
index 72f5056..0000000
Binary files a/.hg/store/data/src/cursors/cursor_select_range.png.i and /dev/null differ
diff --git a/.hg/store/data/src/cursors/wpt_highlight.png.i b/.hg/store/data/src/cursors/wpt_highlight.png.i
deleted file mode 100644
index d06a53c..0000000
Binary files a/.hg/store/data/src/cursors/wpt_highlight.png.i and /dev/null differ
diff --git a/.hg/store/data/src/cursors/wpt_highlight.svg.i b/.hg/store/data/src/cursors/wpt_highlight.svg.i
deleted file mode 100644
index df950f4..0000000
Binary files a/.hg/store/data/src/cursors/wpt_highlight.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/dem/_c_dem.cpp.i b/.hg/store/data/src/dem/_c_dem.cpp.i
deleted file mode 100644
index 50a391a..0000000
Binary files a/.hg/store/data/src/dem/_c_dem.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/dem/_c_dem.h.i b/.hg/store/data/src/dem/_c_dem.h.i
deleted file mode 100644
index fe9569f..0000000
Binary files a/.hg/store/data/src/dem/_c_dem.h.i and /dev/null differ
diff --git a/.hg/store/data/src/dem/_c_dem_draw.cpp.i b/.hg/store/data/src/dem/_c_dem_draw.cpp.i
deleted file mode 100644
index f0966b7..0000000
Binary files a/.hg/store/data/src/dem/_c_dem_draw.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/dem/_c_dem_draw.h.i b/.hg/store/data/src/dem/_c_dem_draw.h.i
deleted file mode 100644
index 5425692..0000000
Binary files a/.hg/store/data/src/dem/_c_dem_draw.h.i and /dev/null differ
diff --git a/.hg/store/data/src/dem/_c_dem_item.cpp.i b/.hg/store/data/src/dem/_c_dem_item.cpp.i
deleted file mode 100644
index 6f23a75..0000000
Binary files a/.hg/store/data/src/dem/_c_dem_item.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/dem/_c_dem_item.h.i b/.hg/store/data/src/dem/_c_dem_item.h.i
deleted file mode 100644
index c267641..0000000
Binary files a/.hg/store/data/src/dem/_c_dem_item.h.i and /dev/null differ
diff --git a/.hg/store/data/src/dem/_c_dem_list.cpp.i b/.hg/store/data/src/dem/_c_dem_list.cpp.i
deleted file mode 100644
index bfa96d5..0000000
Binary files a/.hg/store/data/src/dem/_c_dem_list.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/dem/_c_dem_list.h.i b/.hg/store/data/src/dem/_c_dem_list.h.i
deleted file mode 100644
index a6419bd..0000000
Binary files a/.hg/store/data/src/dem/_c_dem_list.h.i and /dev/null differ
diff --git a/.hg/store/data/src/dem/_c_dem_path_setup.cpp.i b/.hg/store/data/src/dem/_c_dem_path_setup.cpp.i
deleted file mode 100644
index 4a7e170..0000000
Binary files a/.hg/store/data/src/dem/_c_dem_path_setup.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/dem/_c_dem_path_setup.h.i b/.hg/store/data/src/dem/_c_dem_path_setup.h.i
deleted file mode 100644
index ceee914..0000000
Binary files a/.hg/store/data/src/dem/_c_dem_path_setup.h.i and /dev/null differ
diff --git a/.hg/store/data/src/dem/_c_dem_prop_setup.cpp.i b/.hg/store/data/src/dem/_c_dem_prop_setup.cpp.i
deleted file mode 100644
index 0cb52b0..0000000
Binary files a/.hg/store/data/src/dem/_c_dem_prop_setup.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/dem/_c_dem_prop_setup.h.i b/.hg/store/data/src/dem/_c_dem_prop_setup.h.i
deleted file mode 100644
index 96df144..0000000
Binary files a/.hg/store/data/src/dem/_c_dem_prop_setup.h.i and /dev/null differ
diff --git a/.hg/store/data/src/dem/_c_dem_v_r_t.cpp.i b/.hg/store/data/src/dem/_c_dem_v_r_t.cpp.i
deleted file mode 100644
index 3b38f06..0000000
Binary files a/.hg/store/data/src/dem/_c_dem_v_r_t.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/dem/_c_dem_v_r_t.h.i b/.hg/store/data/src/dem/_c_dem_v_r_t.h.i
deleted file mode 100644
index c715a25..0000000
Binary files a/.hg/store/data/src/dem/_c_dem_v_r_t.h.i and /dev/null differ
diff --git a/.hg/store/data/src/dem/_i_dem.cpp.i b/.hg/store/data/src/dem/_i_dem.cpp.i
deleted file mode 100644
index 078a3a2..0000000
Binary files a/.hg/store/data/src/dem/_i_dem.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/dem/_i_dem.h.i b/.hg/store/data/src/dem/_i_dem.h.i
deleted file mode 100644
index 10212c0..0000000
Binary files a/.hg/store/data/src/dem/_i_dem.h.i and /dev/null differ
diff --git a/.hg/store/data/src/dem/_i_dem_list.ui.i b/.hg/store/data/src/dem/_i_dem_list.ui.i
deleted file mode 100644
index 857ff93..0000000
Binary files a/.hg/store/data/src/dem/_i_dem_list.ui.i and /dev/null differ
diff --git a/.hg/store/data/src/dem/_i_dem_path_setup.ui.i b/.hg/store/data/src/dem/_i_dem_path_setup.ui.i
deleted file mode 100644
index 750c4e0..0000000
Binary files a/.hg/store/data/src/dem/_i_dem_path_setup.ui.i and /dev/null differ
diff --git a/.hg/store/data/src/dem/_i_dem_prop.cpp.i b/.hg/store/data/src/dem/_i_dem_prop.cpp.i
deleted file mode 100644
index fe6b56c..0000000
Binary files a/.hg/store/data/src/dem/_i_dem_prop.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/dem/_i_dem_prop.h.i b/.hg/store/data/src/dem/_i_dem_prop.h.i
deleted file mode 100644
index bd7b31e..0000000
Binary files a/.hg/store/data/src/dem/_i_dem_prop.h.i and /dev/null differ
diff --git a/.hg/store/data/src/dem/_i_dem_prop_setup.ui.i b/.hg/store/data/src/dem/_i_dem_prop_setup.ui.i
deleted file mode 100644
index eb1b992..0000000
Binary files a/.hg/store/data/src/dem/_i_dem_prop_setup.ui.i and /dev/null differ
diff --git a/.hg/store/data/src/device/_c_device_garmin.cpp.i b/.hg/store/data/src/device/_c_device_garmin.cpp.i
deleted file mode 100644
index 6e75966..0000000
Binary files a/.hg/store/data/src/device/_c_device_garmin.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/device/_c_device_garmin.h.i b/.hg/store/data/src/device/_c_device_garmin.h.i
deleted file mode 100644
index d2a163b..0000000
Binary files a/.hg/store/data/src/device/_c_device_garmin.h.i and /dev/null differ
diff --git a/.hg/store/data/src/device/_c_device_two_nav.cpp.i b/.hg/store/data/src/device/_c_device_two_nav.cpp.i
deleted file mode 100644
index f785b2e..0000000
Binary files a/.hg/store/data/src/device/_c_device_two_nav.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/device/_c_device_two_nav.h.i b/.hg/store/data/src/device/_c_device_two_nav.h.i
deleted file mode 100644
index 38a873f..0000000
Binary files a/.hg/store/data/src/device/_c_device_two_nav.h.i and /dev/null differ
diff --git a/.hg/store/data/src/device/_c_device_watcher_linux.cpp.i b/.hg/store/data/src/device/_c_device_watcher_linux.cpp.i
deleted file mode 100644
index 007ef9e..0000000
Binary files a/.hg/store/data/src/device/_c_device_watcher_linux.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/device/_c_device_watcher_linux.h.i b/.hg/store/data/src/device/_c_device_watcher_linux.h.i
deleted file mode 100644
index f780c7e..0000000
Binary files a/.hg/store/data/src/device/_c_device_watcher_linux.h.i and /dev/null differ
diff --git a/.hg/store/data/src/device/_c_device_watcher_windows.cpp.i b/.hg/store/data/src/device/_c_device_watcher_windows.cpp.i
deleted file mode 100644
index c84211f..0000000
Binary files a/.hg/store/data/src/device/_c_device_watcher_windows.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/device/_c_device_watcher_windows.h.i b/.hg/store/data/src/device/_c_device_watcher_windows.h.i
deleted file mode 100644
index 524182b..0000000
Binary files a/.hg/store/data/src/device/_c_device_watcher_windows.h.i and /dev/null differ
diff --git a/.hg/store/data/src/device/_i_device.cpp.i b/.hg/store/data/src/device/_i_device.cpp.i
deleted file mode 100644
index 91aa34c..0000000
Binary files a/.hg/store/data/src/device/_i_device.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/device/_i_device.h.i b/.hg/store/data/src/device/_i_device.h.i
deleted file mode 100644
index bb49fbb..0000000
Binary files a/.hg/store/data/src/device/_i_device.h.i and /dev/null differ
diff --git a/.hg/store/data/src/device/_i_device_watcher.cpp.i b/.hg/store/data/src/device/_i_device_watcher.cpp.i
deleted file mode 100644
index b1f1c88..0000000
Binary files a/.hg/store/data/src/device/_i_device_watcher.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/device/_i_device_watcher.h.i b/.hg/store/data/src/device/_i_device_watcher.h.i
deleted file mode 100644
index fe52601..0000000
Binary files a/.hg/store/data/src/device/_i_device_watcher.h.i and /dev/null differ
diff --git a/.hg/store/data/src/gis-search/_c_gis_search_widget.cpp.i b/.hg/store/data/src/gis-search/_c_gis_search_widget.cpp.i
deleted file mode 100644
index b576a02..0000000
Binary files a/.hg/store/data/src/gis-search/_c_gis_search_widget.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/gis-search/_c_gis_search_widget.h.i b/.hg/store/data/src/gis-search/_c_gis_search_widget.h.i
deleted file mode 100644
index 83dbf68..0000000
Binary files a/.hg/store/data/src/gis-search/_c_gis_search_widget.h.i and /dev/null differ
diff --git a/.hg/store/data/src/gis-search/_c_search_google.cpp.i b/.hg/store/data/src/gis-search/_c_search_google.cpp.i
deleted file mode 100644
index ac6b35f..0000000
Binary files a/.hg/store/data/src/gis-search/_c_search_google.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/gis-search/_c_search_google.h.i b/.hg/store/data/src/gis-search/_c_search_google.h.i
deleted file mode 100644
index d55ae36..0000000
Binary files a/.hg/store/data/src/gis-search/_c_search_google.h.i and /dev/null differ
diff --git a/.hg/store/data/src/gis-search/_i_gis_search.cpp.i b/.hg/store/data/src/gis-search/_i_gis_search.cpp.i
deleted file mode 100644
index 7acc551..0000000
Binary files a/.hg/store/data/src/gis-search/_i_gis_search.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/gis-search/_i_gis_search.h.i b/.hg/store/data/src/gis-search/_i_gis_search.h.i
deleted file mode 100644
index 41d1510..0000000
Binary files a/.hg/store/data/src/gis-search/_i_gis_search.h.i and /dev/null differ
diff --git a/.hg/store/data/src/gis-search/_i_gis_search_widget.ui.i b/.hg/store/data/src/gis-search/_i_gis_search_widget.ui.i
deleted file mode 100644
index 5232268..0000000
Binary files a/.hg/store/data/src/gis-search/_i_gis_search_widget.ui.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/_c_gis_draw.cpp.i b/.hg/store/data/src/gis/_c_gis_draw.cpp.i
deleted file mode 100644
index 5215a43..0000000
Binary files a/.hg/store/data/src/gis/_c_gis_draw.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/_c_gis_draw.h.i b/.hg/store/data/src/gis/_c_gis_draw.h.i
deleted file mode 100644
index 19d9fab..0000000
Binary files a/.hg/store/data/src/gis/_c_gis_draw.h.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/_c_gis_item_rte.cpp.i b/.hg/store/data/src/gis/_c_gis_item_rte.cpp.i
deleted file mode 100644
index 7e36d14..0000000
Binary files a/.hg/store/data/src/gis/_c_gis_item_rte.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/_c_gis_item_rte.h.i b/.hg/store/data/src/gis/_c_gis_item_rte.h.i
deleted file mode 100644
index cfc2e13..0000000
Binary files a/.hg/store/data/src/gis/_c_gis_item_rte.h.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/_c_gis_item_trk.cpp.i b/.hg/store/data/src/gis/_c_gis_item_trk.cpp.i
deleted file mode 100644
index 95a1930..0000000
Binary files a/.hg/store/data/src/gis/_c_gis_item_trk.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/_c_gis_item_trk.h.i b/.hg/store/data/src/gis/_c_gis_item_trk.h.i
deleted file mode 100644
index 3fb5788..0000000
Binary files a/.hg/store/data/src/gis/_c_gis_item_trk.h.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/_c_gis_item_wpt.cpp.i b/.hg/store/data/src/gis/_c_gis_item_wpt.cpp.i
deleted file mode 100644
index a0ed06b..0000000
Binary files a/.hg/store/data/src/gis/_c_gis_item_wpt.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/_c_gis_item_wpt.h.i b/.hg/store/data/src/gis/_c_gis_item_wpt.h.i
deleted file mode 100644
index 7d64559..0000000
Binary files a/.hg/store/data/src/gis/_c_gis_item_wpt.h.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/_c_gis_list_d_b.cpp.i b/.hg/store/data/src/gis/_c_gis_list_d_b.cpp.i
deleted file mode 100644
index 734b993..0000000
Binary files a/.hg/store/data/src/gis/_c_gis_list_d_b.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/_c_gis_list_d_b.h.i b/.hg/store/data/src/gis/_c_gis_list_d_b.h.i
deleted file mode 100644
index c3e8685..0000000
Binary files a/.hg/store/data/src/gis/_c_gis_list_d_b.h.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/_c_gis_list_wks.cpp.i b/.hg/store/data/src/gis/_c_gis_list_wks.cpp.i
deleted file mode 100644
index ae09b1e..0000000
Binary files a/.hg/store/data/src/gis/_c_gis_list_wks.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/_c_gis_list_wks.h.i b/.hg/store/data/src/gis/_c_gis_list_wks.h.i
deleted file mode 100644
index 087e0f4..0000000
Binary files a/.hg/store/data/src/gis/_c_gis_list_wks.h.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/_c_gis_project.cpp.i b/.hg/store/data/src/gis/_c_gis_project.cpp.i
deleted file mode 100644
index 62c2963..0000000
Binary files a/.hg/store/data/src/gis/_c_gis_project.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/_c_gis_project.h.i b/.hg/store/data/src/gis/_c_gis_project.h.i
deleted file mode 100644
index 7bfa18f..0000000
Binary files a/.hg/store/data/src/gis/_c_gis_project.h.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/_c_gis_serialization.cpp.i b/.hg/store/data/src/gis/_c_gis_serialization.cpp.i
deleted file mode 100644
index c90717e..0000000
Binary files a/.hg/store/data/src/gis/_c_gis_serialization.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/_c_gis_serialization.h.i b/.hg/store/data/src/gis/_c_gis_serialization.h.i
deleted file mode 100644
index 3e70f76..0000000
Binary files a/.hg/store/data/src/gis/_c_gis_serialization.h.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/_c_gis_widget.cpp.i b/.hg/store/data/src/gis/_c_gis_widget.cpp.i
deleted file mode 100644
index 9f0f1e9..0000000
Binary files a/.hg/store/data/src/gis/_c_gis_widget.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/_c_gis_widget.h.i b/.hg/store/data/src/gis/_c_gis_widget.h.i
deleted file mode 100644
index 6a7b102..0000000
Binary files a/.hg/store/data/src/gis/_c_gis_widget.h.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/_i_gis_item.cpp.i b/.hg/store/data/src/gis/_i_gis_item.cpp.i
deleted file mode 100644
index ec50197..0000000
Binary files a/.hg/store/data/src/gis/_i_gis_item.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/_i_gis_item.h.i b/.hg/store/data/src/gis/_i_gis_item.h.i
deleted file mode 100644
index 97ae607..0000000
Binary files a/.hg/store/data/src/gis/_i_gis_item.h.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/_i_gis_line.cpp.i b/.hg/store/data/src/gis/_i_gis_line.cpp.i
deleted file mode 100644
index 5a927b3..0000000
Binary files a/.hg/store/data/src/gis/_i_gis_line.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/_i_gis_line.h.i b/.hg/store/data/src/gis/_i_gis_line.h.i
deleted file mode 100644
index 931bb80..0000000
Binary files a/.hg/store/data/src/gis/_i_gis_line.h.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/_i_gis_project.cpp.i b/.hg/store/data/src/gis/_i_gis_project.cpp.i
deleted file mode 100644
index fb6d252..0000000
Binary files a/.hg/store/data/src/gis/_i_gis_project.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/_i_gis_project.h.i b/.hg/store/data/src/gis/_i_gis_project.h.i
deleted file mode 100644
index 0c80c51..0000000
Binary files a/.hg/store/data/src/gis/_i_gis_project.h.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/_i_gis_widget.ui.i b/.hg/store/data/src/gis/_i_gis_widget.ui.i
deleted file mode 100644
index ab9a2b3..0000000
Binary files a/.hg/store/data/src/gis/_i_gis_widget.ui.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/_wpt_icons.cpp.i b/.hg/store/data/src/gis/_wpt_icons.cpp.i
deleted file mode 100644
index 9c21c7f..0000000
Binary files a/.hg/store/data/src/gis/_wpt_icons.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/_wpt_icons.h.i b/.hg/store/data/src/gis/_wpt_icons.h.i
deleted file mode 100644
index b3b17a7..0000000
Binary files a/.hg/store/data/src/gis/_wpt_icons.h.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/bin/_c_bin_project.cpp.i b/.hg/store/data/src/gis/bin/_c_bin_project.cpp.i
deleted file mode 100644
index 97352e2..0000000
Binary files a/.hg/store/data/src/gis/bin/_c_bin_project.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/bin/_c_bin_project.h.i b/.hg/store/data/src/gis/bin/_c_bin_project.h.i
deleted file mode 100644
index f756316..0000000
Binary files a/.hg/store/data/src/gis/bin/_c_bin_project.h.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/bin/_c_gis_serialization.cpp.i b/.hg/store/data/src/gis/bin/_c_gis_serialization.cpp.i
deleted file mode 100644
index 93f2273..0000000
Binary files a/.hg/store/data/src/gis/bin/_c_gis_serialization.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/bin/_c_gis_serialization.h.i b/.hg/store/data/src/gis/bin/_c_gis_serialization.h.i
deleted file mode 100644
index 36673d6..0000000
Binary files a/.hg/store/data/src/gis/bin/_c_gis_serialization.h.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/bin/serialization.cpp.i b/.hg/store/data/src/gis/bin/serialization.cpp.i
deleted file mode 100644
index 1552bf4..0000000
Binary files a/.hg/store/data/src/gis/bin/serialization.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/db/_c_d_b_folder_database.cpp.i b/.hg/store/data/src/gis/db/_c_d_b_folder_database.cpp.i
deleted file mode 100644
index 577afa9..0000000
Binary files a/.hg/store/data/src/gis/db/_c_d_b_folder_database.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/db/_c_d_b_folder_database.h.i b/.hg/store/data/src/gis/db/_c_d_b_folder_database.h.i
deleted file mode 100644
index 4551469..0000000
Binary files a/.hg/store/data/src/gis/db/_c_d_b_folder_database.h.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/db/_c_d_b_folder_group.cpp.i b/.hg/store/data/src/gis/db/_c_d_b_folder_group.cpp.i
deleted file mode 100644
index 259f722..0000000
Binary files a/.hg/store/data/src/gis/db/_c_d_b_folder_group.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/db/_c_d_b_folder_group.h.i b/.hg/store/data/src/gis/db/_c_d_b_folder_group.h.i
deleted file mode 100644
index 1344600..0000000
Binary files a/.hg/store/data/src/gis/db/_c_d_b_folder_group.h.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/db/_c_d_b_folder_lost_found.cpp.i b/.hg/store/data/src/gis/db/_c_d_b_folder_lost_found.cpp.i
deleted file mode 100644
index 174729e..0000000
Binary files a/.hg/store/data/src/gis/db/_c_d_b_folder_lost_found.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/db/_c_d_b_folder_lost_found.h.i b/.hg/store/data/src/gis/db/_c_d_b_folder_lost_found.h.i
deleted file mode 100644
index d2204a8..0000000
Binary files a/.hg/store/data/src/gis/db/_c_d_b_folder_lost_found.h.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/db/_c_d_b_folder_other.cpp.i b/.hg/store/data/src/gis/db/_c_d_b_folder_other.cpp.i
deleted file mode 100644
index 32912ac..0000000
Binary files a/.hg/store/data/src/gis/db/_c_d_b_folder_other.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/db/_c_d_b_folder_other.h.i b/.hg/store/data/src/gis/db/_c_d_b_folder_other.h.i
deleted file mode 100644
index 154998f..0000000
Binary files a/.hg/store/data/src/gis/db/_c_d_b_folder_other.h.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/db/_c_d_b_folder_project.cpp.i b/.hg/store/data/src/gis/db/_c_d_b_folder_project.cpp.i
deleted file mode 100644
index 8e3e920..0000000
Binary files a/.hg/store/data/src/gis/db/_c_d_b_folder_project.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/db/_c_d_b_folder_project.h.i b/.hg/store/data/src/gis/db/_c_d_b_folder_project.h.i
deleted file mode 100644
index 6740d75..0000000
Binary files a/.hg/store/data/src/gis/db/_c_d_b_folder_project.h.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/db/_c_d_b_item.cpp.i b/.hg/store/data/src/gis/db/_c_d_b_item.cpp.i
deleted file mode 100644
index 3ba3d8c..0000000
Binary files a/.hg/store/data/src/gis/db/_c_d_b_item.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/db/_c_d_b_item.h.i b/.hg/store/data/src/gis/db/_c_d_b_item.h.i
deleted file mode 100644
index d4d8602..0000000
Binary files a/.hg/store/data/src/gis/db/_c_d_b_item.h.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/db/_c_d_b_project.cpp.i b/.hg/store/data/src/gis/db/_c_d_b_project.cpp.i
deleted file mode 100644
index df641ba..0000000
Binary files a/.hg/store/data/src/gis/db/_c_d_b_project.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/db/_c_d_b_project.h.i b/.hg/store/data/src/gis/db/_c_d_b_project.h.i
deleted file mode 100644
index 8942635..0000000
Binary files a/.hg/store/data/src/gis/db/_c_d_b_project.h.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/db/_c_lost_found_project.cpp.i b/.hg/store/data/src/gis/db/_c_lost_found_project.cpp.i
deleted file mode 100644
index 80f8ccf..0000000
Binary files a/.hg/store/data/src/gis/db/_c_lost_found_project.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/db/_c_lost_found_project.h.i b/.hg/store/data/src/gis/db/_c_lost_found_project.h.i
deleted file mode 100644
index fc52dde..0000000
Binary files a/.hg/store/data/src/gis/db/_c_lost_found_project.h.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/db/_c_setup_d_b.cpp.i b/.hg/store/data/src/gis/db/_c_setup_d_b.cpp.i
deleted file mode 100644
index 936ef55..0000000
Binary files a/.hg/store/data/src/gis/db/_c_setup_d_b.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/db/_c_setup_d_b.h.i b/.hg/store/data/src/gis/db/_c_setup_d_b.h.i
deleted file mode 100644
index 3101c77..0000000
Binary files a/.hg/store/data/src/gis/db/_c_setup_d_b.h.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/db/_c_setup_database.cpp.i b/.hg/store/data/src/gis/db/_c_setup_database.cpp.i
deleted file mode 100644
index 0ca53ee..0000000
Binary files a/.hg/store/data/src/gis/db/_c_setup_database.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/db/_c_setup_database.h.i b/.hg/store/data/src/gis/db/_c_setup_database.h.i
deleted file mode 100644
index 74e5a6e..0000000
Binary files a/.hg/store/data/src/gis/db/_c_setup_database.h.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/db/_c_setup_folder.cpp.i b/.hg/store/data/src/gis/db/_c_setup_folder.cpp.i
deleted file mode 100644
index 2f87895..0000000
Binary files a/.hg/store/data/src/gis/db/_c_setup_folder.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/db/_c_setup_folder.h.i b/.hg/store/data/src/gis/db/_c_setup_folder.h.i
deleted file mode 100644
index 3f7f244..0000000
Binary files a/.hg/store/data/src/gis/db/_c_setup_folder.h.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/db/_c_setup_workspace.cpp.i b/.hg/store/data/src/gis/db/_c_setup_workspace.cpp.i
deleted file mode 100644
index 63c9474..0000000
Binary files a/.hg/store/data/src/gis/db/_c_setup_workspace.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/db/_c_setup_workspace.h.i b/.hg/store/data/src/gis/db/_c_setup_workspace.h.i
deleted file mode 100644
index 82e1743..0000000
Binary files a/.hg/store/data/src/gis/db/_c_setup_workspace.h.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/db/_i_d_b.cpp.i b/.hg/store/data/src/gis/db/_i_d_b.cpp.i
deleted file mode 100644
index 355a183..0000000
Binary files a/.hg/store/data/src/gis/db/_i_d_b.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/db/_i_d_b.h.i b/.hg/store/data/src/gis/db/_i_d_b.h.i
deleted file mode 100644
index 7ad34a5..0000000
Binary files a/.hg/store/data/src/gis/db/_i_d_b.h.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/db/_i_d_b_folder.cpp.i b/.hg/store/data/src/gis/db/_i_d_b_folder.cpp.i
deleted file mode 100644
index e0d0882..0000000
Binary files a/.hg/store/data/src/gis/db/_i_d_b_folder.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/db/_i_d_b_folder.h.i b/.hg/store/data/src/gis/db/_i_d_b_folder.h.i
deleted file mode 100644
index a9ebe22..0000000
Binary files a/.hg/store/data/src/gis/db/_i_d_b_folder.h.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/db/_i_setup_d_b.ui.i b/.hg/store/data/src/gis/db/_i_setup_d_b.ui.i
deleted file mode 100644
index bc069c5..0000000
Binary files a/.hg/store/data/src/gis/db/_i_setup_d_b.ui.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/db/_i_setup_database.ui.i b/.hg/store/data/src/gis/db/_i_setup_database.ui.i
deleted file mode 100644
index ec16445..0000000
Binary files a/.hg/store/data/src/gis/db/_i_setup_database.ui.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/db/_i_setup_folder.ui.i b/.hg/store/data/src/gis/db/_i_setup_folder.ui.i
deleted file mode 100644
index ad03a3f..0000000
Binary files a/.hg/store/data/src/gis/db/_i_setup_folder.ui.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/db/_i_setup_workspace.ui.i b/.hg/store/data/src/gis/db/_i_setup_workspace.ui.i
deleted file mode 100644
index f5baf18..0000000
Binary files a/.hg/store/data/src/gis/db/_i_setup_workspace.ui.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/db/macros.h.i b/.hg/store/data/src/gis/db/macros.h.i
deleted file mode 100644
index 0ece6a4..0000000
Binary files a/.hg/store/data/src/gis/db/macros.h.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/gpx/_c_gis_project.cpp.i b/.hg/store/data/src/gis/gpx/_c_gis_project.cpp.i
deleted file mode 100644
index fce63e7..0000000
Binary files a/.hg/store/data/src/gis/gpx/_c_gis_project.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/gpx/_c_gis_project.h.i b/.hg/store/data/src/gis/gpx/_c_gis_project.h.i
deleted file mode 100644
index 338629c..0000000
Binary files a/.hg/store/data/src/gis/gpx/_c_gis_project.h.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/gpx/_c_gpx_project.cpp.i b/.hg/store/data/src/gis/gpx/_c_gpx_project.cpp.i
deleted file mode 100644
index 25e465a..0000000
Binary files a/.hg/store/data/src/gis/gpx/_c_gpx_project.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/gpx/_c_gpx_project.h.i b/.hg/store/data/src/gis/gpx/_c_gpx_project.h.i
deleted file mode 100644
index bf22911..0000000
Binary files a/.hg/store/data/src/gis/gpx/_c_gpx_project.h.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/gpx/serialization.cpp.i b/.hg/store/data/src/gis/gpx/serialization.cpp.i
deleted file mode 100644
index 4aabb68..0000000
Binary files a/.hg/store/data/src/gis/gpx/serialization.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/ovl/_c_details_ovl_area.cpp.i b/.hg/store/data/src/gis/ovl/_c_details_ovl_area.cpp.i
deleted file mode 100644
index a82d12e..0000000
Binary files a/.hg/store/data/src/gis/ovl/_c_details_ovl_area.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/ovl/_c_details_ovl_area.h.i b/.hg/store/data/src/gis/ovl/_c_details_ovl_area.h.i
deleted file mode 100644
index 220c42e..0000000
Binary files a/.hg/store/data/src/gis/ovl/_c_details_ovl_area.h.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/ovl/_c_gis_item_ovl_area.cpp.i b/.hg/store/data/src/gis/ovl/_c_gis_item_ovl_area.cpp.i
deleted file mode 100644
index 730be19..0000000
Binary files a/.hg/store/data/src/gis/ovl/_c_gis_item_ovl_area.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/ovl/_c_gis_item_ovl_area.h.i b/.hg/store/data/src/gis/ovl/_c_gis_item_ovl_area.h.i
deleted file mode 100644
index 1ed8519..0000000
Binary files a/.hg/store/data/src/gis/ovl/_c_gis_item_ovl_area.h.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/ovl/_c_scr_opt_ovl_area.cpp.i b/.hg/store/data/src/gis/ovl/_c_scr_opt_ovl_area.cpp.i
deleted file mode 100644
index 8d76a20..0000000
Binary files a/.hg/store/data/src/gis/ovl/_c_scr_opt_ovl_area.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/ovl/_c_scr_opt_ovl_area.h.i b/.hg/store/data/src/gis/ovl/_c_scr_opt_ovl_area.h.i
deleted file mode 100644
index ccfb859..0000000
Binary files a/.hg/store/data/src/gis/ovl/_c_scr_opt_ovl_area.h.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/ovl/_i_details_ovl_area.ui.i b/.hg/store/data/src/gis/ovl/_i_details_ovl_area.ui.i
deleted file mode 100644
index 9cf38ff..0000000
Binary files a/.hg/store/data/src/gis/ovl/_i_details_ovl_area.ui.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/ovl/_i_scr_opt_ovl_area.ui.i b/.hg/store/data/src/gis/ovl/_i_scr_opt_ovl_area.ui.i
deleted file mode 100644
index c050908..0000000
Binary files a/.hg/store/data/src/gis/ovl/_i_scr_opt_ovl_area.ui.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/prj/_c_details_prj.cpp.i b/.hg/store/data/src/gis/prj/_c_details_prj.cpp.i
deleted file mode 100644
index 8e198ca..0000000
Binary files a/.hg/store/data/src/gis/prj/_c_details_prj.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/prj/_c_details_prj.h.i b/.hg/store/data/src/gis/prj/_c_details_prj.h.i
deleted file mode 100644
index 1b4243b..0000000
Binary files a/.hg/store/data/src/gis/prj/_c_details_prj.h.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/prj/_i_details_prj.ui.i b/.hg/store/data/src/gis/prj/_i_details_prj.ui.i
deleted file mode 100644
index e9a92c8..0000000
Binary files a/.hg/store/data/src/gis/prj/_i_details_prj.ui.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/prj/_i_gis_project.cpp.i b/.hg/store/data/src/gis/prj/_i_gis_project.cpp.i
deleted file mode 100644
index f8b0460..0000000
Binary files a/.hg/store/data/src/gis/prj/_i_gis_project.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/prj/_i_gis_project.h.i b/.hg/store/data/src/gis/prj/_i_gis_project.h.i
deleted file mode 100644
index cfe277c..0000000
Binary files a/.hg/store/data/src/gis/prj/_i_gis_project.h.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/qms/_c_qms_project.cpp.i b/.hg/store/data/src/gis/qms/_c_qms_project.cpp.i
deleted file mode 100644
index 49d05c5..0000000
Binary files a/.hg/store/data/src/gis/qms/_c_qms_project.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/qms/_c_qms_project.h.i b/.hg/store/data/src/gis/qms/_c_qms_project.h.i
deleted file mode 100644
index 183b4ff..0000000
Binary files a/.hg/store/data/src/gis/qms/_c_qms_project.h.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/qms/serialization.cpp.i b/.hg/store/data/src/gis/qms/serialization.cpp.i
deleted file mode 100644
index 261d671..0000000
Binary files a/.hg/store/data/src/gis/qms/serialization.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/rte/_c_gis_item_rte.cpp.i b/.hg/store/data/src/gis/rte/_c_gis_item_rte.cpp.i
deleted file mode 100644
index 0797535..0000000
Binary files a/.hg/store/data/src/gis/rte/_c_gis_item_rte.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/rte/_c_gis_item_rte.h.i b/.hg/store/data/src/gis/rte/_c_gis_item_rte.h.i
deleted file mode 100644
index bd23953..0000000
Binary files a/.hg/store/data/src/gis/rte/_c_gis_item_rte.h.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/rte/_c_scr_opt_rte.cpp.i b/.hg/store/data/src/gis/rte/_c_scr_opt_rte.cpp.i
deleted file mode 100644
index 0d1d16d..0000000
Binary files a/.hg/store/data/src/gis/rte/_c_scr_opt_rte.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/rte/_c_scr_opt_rte.h.i b/.hg/store/data/src/gis/rte/_c_scr_opt_rte.h.i
deleted file mode 100644
index 770dbdd..0000000
Binary files a/.hg/store/data/src/gis/rte/_c_scr_opt_rte.h.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/rte/_i_scr_opt_rte.ui.i b/.hg/store/data/src/gis/rte/_i_scr_opt_rte.ui.i
deleted file mode 100644
index a23b644..0000000
Binary files a/.hg/store/data/src/gis/rte/_i_scr_opt_rte.ui.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/search/_c_search_google.cpp.i b/.hg/store/data/src/gis/search/_c_search_google.cpp.i
deleted file mode 100644
index 30aed4f..0000000
Binary files a/.hg/store/data/src/gis/search/_c_search_google.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/search/_c_search_google.h.i b/.hg/store/data/src/gis/search/_c_search_google.h.i
deleted file mode 100644
index 4fa2d97..0000000
Binary files a/.hg/store/data/src/gis/search/_c_search_google.h.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/tnv/_c_two_nav_project.cpp.i b/.hg/store/data/src/gis/tnv/_c_two_nav_project.cpp.i
deleted file mode 100644
index 5acc3c4..0000000
Binary files a/.hg/store/data/src/gis/tnv/_c_two_nav_project.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/tnv/_c_two_nav_project.h.i b/.hg/store/data/src/gis/tnv/_c_two_nav_project.h.i
deleted file mode 100644
index 4f79d36..0000000
Binary files a/.hg/store/data/src/gis/tnv/_c_two_nav_project.h.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/tnv/serialization.cpp.i b/.hg/store/data/src/gis/tnv/serialization.cpp.i
deleted file mode 100644
index ef1677b..0000000
Binary files a/.hg/store/data/src/gis/tnv/serialization.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/trk/_c_combine_trk.cpp.i b/.hg/store/data/src/gis/trk/_c_combine_trk.cpp.i
deleted file mode 100644
index 62bb11f..0000000
Binary files a/.hg/store/data/src/gis/trk/_c_combine_trk.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/trk/_c_combine_trk.h.i b/.hg/store/data/src/gis/trk/_c_combine_trk.h.i
deleted file mode 100644
index f28943e..0000000
Binary files a/.hg/store/data/src/gis/trk/_c_combine_trk.h.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/trk/_c_details_trk.cpp.i b/.hg/store/data/src/gis/trk/_c_details_trk.cpp.i
deleted file mode 100644
index caae94b..0000000
Binary files a/.hg/store/data/src/gis/trk/_c_details_trk.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/trk/_c_details_trk.h.i b/.hg/store/data/src/gis/trk/_c_details_trk.h.i
deleted file mode 100644
index 46b1744..0000000
Binary files a/.hg/store/data/src/gis/trk/_c_details_trk.h.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/trk/_c_gis_item_trk.cpp.i b/.hg/store/data/src/gis/trk/_c_gis_item_trk.cpp.i
deleted file mode 100644
index 578d040..0000000
Binary files a/.hg/store/data/src/gis/trk/_c_gis_item_trk.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/trk/_c_gis_item_trk.h.i b/.hg/store/data/src/gis/trk/_c_gis_item_trk.h.i
deleted file mode 100644
index 92764a5..0000000
Binary files a/.hg/store/data/src/gis/trk/_c_gis_item_trk.h.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/trk/_c_scr_opt_trk.cpp.i b/.hg/store/data/src/gis/trk/_c_scr_opt_trk.cpp.i
deleted file mode 100644
index 3e64ed8..0000000
Binary files a/.hg/store/data/src/gis/trk/_c_scr_opt_trk.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/trk/_c_scr_opt_trk.h.i b/.hg/store/data/src/gis/trk/_c_scr_opt_trk.h.i
deleted file mode 100644
index e74093d..0000000
Binary files a/.hg/store/data/src/gis/trk/_c_scr_opt_trk.h.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/trk/_i_combine_trk.ui.i b/.hg/store/data/src/gis/trk/_i_combine_trk.ui.i
deleted file mode 100644
index 208c0ce..0000000
Binary files a/.hg/store/data/src/gis/trk/_i_combine_trk.ui.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/trk/_i_details_trk.ui.i b/.hg/store/data/src/gis/trk/_i_details_trk.ui.i
deleted file mode 100644
index 6ed1977..0000000
Binary files a/.hg/store/data/src/gis/trk/_i_details_trk.ui.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/trk/_i_scr_opt_trk.ui.i b/.hg/store/data/src/gis/trk/_i_scr_opt_trk.ui.i
deleted file mode 100644
index 5701e5b..0000000
Binary files a/.hg/store/data/src/gis/trk/_i_scr_opt_trk.ui.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/trk/filter/_c_filter_delete.cpp.i b/.hg/store/data/src/gis/trk/filter/_c_filter_delete.cpp.i
deleted file mode 100644
index cf482af..0000000
Binary files a/.hg/store/data/src/gis/trk/filter/_c_filter_delete.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/trk/filter/_c_filter_delete.h.i b/.hg/store/data/src/gis/trk/filter/_c_filter_delete.h.i
deleted file mode 100644
index fc0c18c..0000000
Binary files a/.hg/store/data/src/gis/trk/filter/_c_filter_delete.h.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/trk/filter/_c_filter_douglas_peuker.cpp.i b/.hg/store/data/src/gis/trk/filter/_c_filter_douglas_peuker.cpp.i
deleted file mode 100644
index e0e4dfb..0000000
Binary files a/.hg/store/data/src/gis/trk/filter/_c_filter_douglas_peuker.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/trk/filter/_c_filter_douglas_peuker.h.i b/.hg/store/data/src/gis/trk/filter/_c_filter_douglas_peuker.h.i
deleted file mode 100644
index fa1f27f..0000000
Binary files a/.hg/store/data/src/gis/trk/filter/_c_filter_douglas_peuker.h.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/trk/filter/_c_filter_median.cpp.i b/.hg/store/data/src/gis/trk/filter/_c_filter_median.cpp.i
deleted file mode 100644
index 3856a3c..0000000
Binary files a/.hg/store/data/src/gis/trk/filter/_c_filter_median.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/trk/filter/_c_filter_median.h.i b/.hg/store/data/src/gis/trk/filter/_c_filter_median.h.i
deleted file mode 100644
index b06841d..0000000
Binary files a/.hg/store/data/src/gis/trk/filter/_c_filter_median.h.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/trk/filter/_c_filter_new_date.cpp.i b/.hg/store/data/src/gis/trk/filter/_c_filter_new_date.cpp.i
deleted file mode 100644
index e68a064..0000000
Binary files a/.hg/store/data/src/gis/trk/filter/_c_filter_new_date.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/trk/filter/_c_filter_new_date.h.i b/.hg/store/data/src/gis/trk/filter/_c_filter_new_date.h.i
deleted file mode 100644
index df77f6b..0000000
Binary files a/.hg/store/data/src/gis/trk/filter/_c_filter_new_date.h.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/trk/filter/_c_filter_obscure_date.cpp.i b/.hg/store/data/src/gis/trk/filter/_c_filter_obscure_date.cpp.i
deleted file mode 100644
index 86e6b0b..0000000
Binary files a/.hg/store/data/src/gis/trk/filter/_c_filter_obscure_date.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/trk/filter/_c_filter_obscure_date.h.i b/.hg/store/data/src/gis/trk/filter/_c_filter_obscure_date.h.i
deleted file mode 100644
index 28cace1..0000000
Binary files a/.hg/store/data/src/gis/trk/filter/_c_filter_obscure_date.h.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/trk/filter/_c_filter_offset_elevation.cpp.i b/.hg/store/data/src/gis/trk/filter/_c_filter_offset_elevation.cpp.i
deleted file mode 100644
index 74ccb22..0000000
Binary files a/.hg/store/data/src/gis/trk/filter/_c_filter_offset_elevation.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/trk/filter/_c_filter_offset_elevation.h.i b/.hg/store/data/src/gis/trk/filter/_c_filter_offset_elevation.h.i
deleted file mode 100644
index 94e7e2f..0000000
Binary files a/.hg/store/data/src/gis/trk/filter/_c_filter_offset_elevation.h.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/trk/filter/_c_filter_replace_elevation.cpp.i b/.hg/store/data/src/gis/trk/filter/_c_filter_replace_elevation.cpp.i
deleted file mode 100644
index 8ddcd0e..0000000
Binary files a/.hg/store/data/src/gis/trk/filter/_c_filter_replace_elevation.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/trk/filter/_c_filter_replace_elevation.h.i b/.hg/store/data/src/gis/trk/filter/_c_filter_replace_elevation.h.i
deleted file mode 100644
index 43f2c53..0000000
Binary files a/.hg/store/data/src/gis/trk/filter/_c_filter_replace_elevation.h.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/trk/filter/_c_filter_reset.cpp.i b/.hg/store/data/src/gis/trk/filter/_c_filter_reset.cpp.i
deleted file mode 100644
index 4aac38a..0000000
Binary files a/.hg/store/data/src/gis/trk/filter/_c_filter_reset.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/trk/filter/_c_filter_reset.h.i b/.hg/store/data/src/gis/trk/filter/_c_filter_reset.h.i
deleted file mode 100644
index c885c94..0000000
Binary files a/.hg/store/data/src/gis/trk/filter/_c_filter_reset.h.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/trk/filter/_c_filter_speed.cpp.i b/.hg/store/data/src/gis/trk/filter/_c_filter_speed.cpp.i
deleted file mode 100644
index d9dfa50..0000000
Binary files a/.hg/store/data/src/gis/trk/filter/_c_filter_speed.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/trk/filter/_c_filter_speed.h.i b/.hg/store/data/src/gis/trk/filter/_c_filter_speed.h.i
deleted file mode 100644
index 5a0580a..0000000
Binary files a/.hg/store/data/src/gis/trk/filter/_c_filter_speed.h.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/trk/filter/_i_filter_delete.ui.i b/.hg/store/data/src/gis/trk/filter/_i_filter_delete.ui.i
deleted file mode 100644
index 8e45317..0000000
Binary files a/.hg/store/data/src/gis/trk/filter/_i_filter_delete.ui.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/trk/filter/_i_filter_douglas_peuker.ui.i b/.hg/store/data/src/gis/trk/filter/_i_filter_douglas_peuker.ui.i
deleted file mode 100644
index 060c693..0000000
Binary files a/.hg/store/data/src/gis/trk/filter/_i_filter_douglas_peuker.ui.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/trk/filter/_i_filter_median.ui.i b/.hg/store/data/src/gis/trk/filter/_i_filter_median.ui.i
deleted file mode 100644
index e83a0ff..0000000
Binary files a/.hg/store/data/src/gis/trk/filter/_i_filter_median.ui.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/trk/filter/_i_filter_new_date.ui.i b/.hg/store/data/src/gis/trk/filter/_i_filter_new_date.ui.i
deleted file mode 100644
index e0097d1..0000000
Binary files a/.hg/store/data/src/gis/trk/filter/_i_filter_new_date.ui.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/trk/filter/_i_filter_obscure_date.ui.i b/.hg/store/data/src/gis/trk/filter/_i_filter_obscure_date.ui.i
deleted file mode 100644
index 870e5aa..0000000
Binary files a/.hg/store/data/src/gis/trk/filter/_i_filter_obscure_date.ui.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/trk/filter/_i_filter_offset_elevation.ui.i b/.hg/store/data/src/gis/trk/filter/_i_filter_offset_elevation.ui.i
deleted file mode 100644
index c7925c3..0000000
Binary files a/.hg/store/data/src/gis/trk/filter/_i_filter_offset_elevation.ui.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/trk/filter/_i_filter_replace_elevation.ui.i b/.hg/store/data/src/gis/trk/filter/_i_filter_replace_elevation.ui.i
deleted file mode 100644
index e57eca1..0000000
Binary files a/.hg/store/data/src/gis/trk/filter/_i_filter_replace_elevation.ui.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/trk/filter/_i_filter_reset.ui.i b/.hg/store/data/src/gis/trk/filter/_i_filter_reset.ui.i
deleted file mode 100644
index 7c01121..0000000
Binary files a/.hg/store/data/src/gis/trk/filter/_i_filter_reset.ui.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/trk/filter/_i_filter_speed.ui.i b/.hg/store/data/src/gis/trk/filter/_i_filter_speed.ui.i
deleted file mode 100644
index e7f055b..0000000
Binary files a/.hg/store/data/src/gis/trk/filter/_i_filter_speed.ui.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/trk/filter/filter.cpp.i b/.hg/store/data/src/gis/trk/filter/filter.cpp.i
deleted file mode 100644
index a3fae8a..0000000
Binary files a/.hg/store/data/src/gis/trk/filter/filter.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/wpt/_c_details_geo_cache.cpp.i b/.hg/store/data/src/gis/wpt/_c_details_geo_cache.cpp.i
deleted file mode 100644
index 2d1e4ca..0000000
Binary files a/.hg/store/data/src/gis/wpt/_c_details_geo_cache.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/wpt/_c_details_geo_cache.h.i b/.hg/store/data/src/gis/wpt/_c_details_geo_cache.h.i
deleted file mode 100644
index e31ddb7..0000000
Binary files a/.hg/store/data/src/gis/wpt/_c_details_geo_cache.h.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/wpt/_c_details_wpt.cpp.i b/.hg/store/data/src/gis/wpt/_c_details_wpt.cpp.i
deleted file mode 100644
index 3fdadee..0000000
Binary files a/.hg/store/data/src/gis/wpt/_c_details_wpt.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/wpt/_c_details_wpt.h.i b/.hg/store/data/src/gis/wpt/_c_details_wpt.h.i
deleted file mode 100644
index d8c2ee8..0000000
Binary files a/.hg/store/data/src/gis/wpt/_c_details_wpt.h.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/wpt/_c_gis_item_wpt.cpp.i b/.hg/store/data/src/gis/wpt/_c_gis_item_wpt.cpp.i
deleted file mode 100644
index 8b54015..0000000
Binary files a/.hg/store/data/src/gis/wpt/_c_gis_item_wpt.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/wpt/_c_gis_item_wpt.h.i b/.hg/store/data/src/gis/wpt/_c_gis_item_wpt.h.i
deleted file mode 100644
index 3660783..0000000
Binary files a/.hg/store/data/src/gis/wpt/_c_gis_item_wpt.h.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/wpt/_c_proj_wpt.cpp.i b/.hg/store/data/src/gis/wpt/_c_proj_wpt.cpp.i
deleted file mode 100644
index 4700969..0000000
Binary files a/.hg/store/data/src/gis/wpt/_c_proj_wpt.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/wpt/_c_proj_wpt.h.i b/.hg/store/data/src/gis/wpt/_c_proj_wpt.h.i
deleted file mode 100644
index fa95c41..0000000
Binary files a/.hg/store/data/src/gis/wpt/_c_proj_wpt.h.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/wpt/_c_scr_opt_wpt.cpp.i b/.hg/store/data/src/gis/wpt/_c_scr_opt_wpt.cpp.i
deleted file mode 100644
index 532a7a9..0000000
Binary files a/.hg/store/data/src/gis/wpt/_c_scr_opt_wpt.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/wpt/_c_scr_opt_wpt.h.i b/.hg/store/data/src/gis/wpt/_c_scr_opt_wpt.h.i
deleted file mode 100644
index 391ce74..0000000
Binary files a/.hg/store/data/src/gis/wpt/_c_scr_opt_wpt.h.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/wpt/_i_details_geo_cache.ui.i b/.hg/store/data/src/gis/wpt/_i_details_geo_cache.ui.i
deleted file mode 100644
index 9fb79b4..0000000
Binary files a/.hg/store/data/src/gis/wpt/_i_details_geo_cache.ui.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/wpt/_i_details_wpt.ui.i b/.hg/store/data/src/gis/wpt/_i_details_wpt.ui.i
deleted file mode 100644
index 72d11dd..0000000
Binary files a/.hg/store/data/src/gis/wpt/_i_details_wpt.ui.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/wpt/_i_proj_wpt.ui.i b/.hg/store/data/src/gis/wpt/_i_proj_wpt.ui.i
deleted file mode 100644
index a4ee0ab..0000000
Binary files a/.hg/store/data/src/gis/wpt/_i_proj_wpt.ui.i and /dev/null differ
diff --git a/.hg/store/data/src/gis/wpt/_i_scr_opt_wpt.ui.i b/.hg/store/data/src/gis/wpt/_i_scr_opt_wpt.ui.i
deleted file mode 100644
index 5396999..0000000
Binary files a/.hg/store/data/src/gis/wpt/_i_scr_opt_wpt.ui.i and /dev/null differ
diff --git a/.hg/store/data/src/grid/_c_grid.cpp.i b/.hg/store/data/src/grid/_c_grid.cpp.i
deleted file mode 100644
index 4c76a36..0000000
Binary files a/.hg/store/data/src/grid/_c_grid.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/grid/_c_grid.h.i b/.hg/store/data/src/grid/_c_grid.h.i
deleted file mode 100644
index 63546e3..0000000
Binary files a/.hg/store/data/src/grid/_c_grid.h.i and /dev/null differ
diff --git a/.hg/store/data/src/grid/_c_grid_setup.cpp.i b/.hg/store/data/src/grid/_c_grid_setup.cpp.i
deleted file mode 100644
index 422a6f0..0000000
Binary files a/.hg/store/data/src/grid/_c_grid_setup.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/grid/_c_grid_setup.h.i b/.hg/store/data/src/grid/_c_grid_setup.h.i
deleted file mode 100644
index d344e09..0000000
Binary files a/.hg/store/data/src/grid/_c_grid_setup.h.i and /dev/null differ
diff --git a/.hg/store/data/src/grid/_c_proj_wizard.cpp.i b/.hg/store/data/src/grid/_c_proj_wizard.cpp.i
deleted file mode 100644
index b9b00a3..0000000
Binary files a/.hg/store/data/src/grid/_c_proj_wizard.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/grid/_c_proj_wizard.h.i b/.hg/store/data/src/grid/_c_proj_wizard.h.i
deleted file mode 100644
index 96ae2c1..0000000
Binary files a/.hg/store/data/src/grid/_c_proj_wizard.h.i and /dev/null differ
diff --git a/.hg/store/data/src/grid/_i_grid_setup.ui.i b/.hg/store/data/src/grid/_i_grid_setup.ui.i
deleted file mode 100644
index 6c842e4..0000000
Binary files a/.hg/store/data/src/grid/_i_grid_setup.ui.i and /dev/null differ
diff --git a/.hg/store/data/src/grid/_i_proj_wizard.ui.i b/.hg/store/data/src/grid/_i_proj_wizard.ui.i
deleted file mode 100644
index e514dd0..0000000
Binary files a/.hg/store/data/src/grid/_i_proj_wizard.ui.i and /dev/null differ
diff --git a/.hg/store/data/src/grid/mitab.cpp.i b/.hg/store/data/src/grid/mitab.cpp.i
deleted file mode 100644
index 214695f..0000000
Binary files a/.hg/store/data/src/grid/mitab.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/grid/mitab.h.i b/.hg/store/data/src/grid/mitab.h.i
deleted file mode 100644
index 5485439..0000000
Binary files a/.hg/store/data/src/grid/mitab.h.i and /dev/null differ
diff --git a/.hg/store/data/src/helpers/_c_app_opts.h.i b/.hg/store/data/src/helpers/_c_app_opts.h.i
deleted file mode 100644
index b0ad8df..0000000
Binary files a/.hg/store/data/src/helpers/_c_app_opts.h.i and /dev/null differ
diff --git a/.hg/store/data/src/helpers/_c_elevation_dialog.cpp.i b/.hg/store/data/src/helpers/_c_elevation_dialog.cpp.i
deleted file mode 100644
index 336cdf0..0000000
Binary files a/.hg/store/data/src/helpers/_c_elevation_dialog.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/helpers/_c_elevation_dialog.h.i b/.hg/store/data/src/helpers/_c_elevation_dialog.h.i
deleted file mode 100644
index 5c36b79..0000000
Binary files a/.hg/store/data/src/helpers/_c_elevation_dialog.h.i and /dev/null differ
diff --git a/.hg/store/data/src/helpers/_c_file_ext.h.i b/.hg/store/data/src/helpers/_c_file_ext.h.i
deleted file mode 100644
index 5ee9f6c..0000000
Binary files a/.hg/store/data/src/helpers/_c_file_ext.h.i and /dev/null differ
diff --git a/.hg/store/data/src/helpers/_c_history_list_widget.cpp.i b/.hg/store/data/src/helpers/_c_history_list_widget.cpp.i
deleted file mode 100644
index a4a67f5..0000000
Binary files a/.hg/store/data/src/helpers/_c_history_list_widget.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/helpers/_c_history_list_widget.h.i b/.hg/store/data/src/helpers/_c_history_list_widget.h.i
deleted file mode 100644
index 9c07bb3..0000000
Binary files a/.hg/store/data/src/helpers/_c_history_list_widget.h.i and /dev/null differ
diff --git a/.hg/store/data/src/helpers/_c_input_dialog.cpp.i b/.hg/store/data/src/helpers/_c_input_dialog.cpp.i
deleted file mode 100644
index af26527..0000000
Binary files a/.hg/store/data/src/helpers/_c_input_dialog.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/helpers/_c_input_dialog.h.i b/.hg/store/data/src/helpers/_c_input_dialog.h.i
deleted file mode 100644
index a71de18..0000000
Binary files a/.hg/store/data/src/helpers/_c_input_dialog.h.i and /dev/null differ
diff --git a/.hg/store/data/src/helpers/_c_links_dialog.cpp.i b/.hg/store/data/src/helpers/_c_links_dialog.cpp.i
deleted file mode 100644
index 124aa8e..0000000
Binary files a/.hg/store/data/src/helpers/_c_links_dialog.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/helpers/_c_links_dialog.h.i b/.hg/store/data/src/helpers/_c_links_dialog.h.i
deleted file mode 100644
index bdd51c0..0000000
Binary files a/.hg/store/data/src/helpers/_c_links_dialog.h.i and /dev/null differ
diff --git a/.hg/store/data/src/helpers/_c_photo_album.cpp.i b/.hg/store/data/src/helpers/_c_photo_album.cpp.i
deleted file mode 100644
index dc4c58a..0000000
Binary files a/.hg/store/data/src/helpers/_c_photo_album.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/helpers/_c_photo_album.h.i b/.hg/store/data/src/helpers/_c_photo_album.h.i
deleted file mode 100644
index 607123a..0000000
Binary files a/.hg/store/data/src/helpers/_c_photo_album.h.i and /dev/null differ
diff --git a/.hg/store/data/src/helpers/_c_photo_viewer.cpp.i b/.hg/store/data/src/helpers/_c_photo_viewer.cpp.i
deleted file mode 100644
index 0b69e5e..0000000
Binary files a/.hg/store/data/src/helpers/_c_photo_viewer.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/helpers/_c_photo_viewer.h.i b/.hg/store/data/src/helpers/_c_photo_viewer.h.i
deleted file mode 100644
index 8a6134f..0000000
Binary files a/.hg/store/data/src/helpers/_c_photo_viewer.h.i and /dev/null differ
diff --git a/.hg/store/data/src/helpers/_c_position_dialog.cpp.i b/.hg/store/data/src/helpers/_c_position_dialog.cpp.i
deleted file mode 100644
index e36204a..0000000
Binary files a/.hg/store/data/src/helpers/_c_position_dialog.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/helpers/_c_position_dialog.h.i b/.hg/store/data/src/helpers/_c_position_dialog.h.i
deleted file mode 100644
index d433080..0000000
Binary files a/.hg/store/data/src/helpers/_c_position_dialog.h.i and /dev/null differ
diff --git a/.hg/store/data/src/helpers/_c_select_copy_action.cpp.i b/.hg/store/data/src/helpers/_c_select_copy_action.cpp.i
deleted file mode 100644
index df32100..0000000
Binary files a/.hg/store/data/src/helpers/_c_select_copy_action.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/helpers/_c_select_copy_action.h.i b/.hg/store/data/src/helpers/_c_select_copy_action.h.i
deleted file mode 100644
index 6921fe4..0000000
Binary files a/.hg/store/data/src/helpers/_c_select_copy_action.h.i and /dev/null differ
diff --git a/.hg/store/data/src/helpers/_c_select_project_dialog.cpp.i b/.hg/store/data/src/helpers/_c_select_project_dialog.cpp.i
deleted file mode 100644
index 6d11b07..0000000
Binary files a/.hg/store/data/src/helpers/_c_select_project_dialog.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/helpers/_c_select_project_dialog.h.i b/.hg/store/data/src/helpers/_c_select_project_dialog.h.i
deleted file mode 100644
index ddda53c..0000000
Binary files a/.hg/store/data/src/helpers/_c_select_project_dialog.h.i and /dev/null differ
diff --git a/.hg/store/data/src/helpers/_c_settings.h.i b/.hg/store/data/src/helpers/_c_settings.h.i
deleted file mode 100644
index 4d687c4..0000000
Binary files a/.hg/store/data/src/helpers/_c_settings.h.i and /dev/null differ
diff --git a/.hg/store/data/src/helpers/_c_text_edit_widget.cpp.i b/.hg/store/data/src/helpers/_c_text_edit_widget.cpp.i
deleted file mode 100644
index 44221b3..0000000
Binary files a/.hg/store/data/src/helpers/_c_text_edit_widget.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/helpers/_c_text_edit_widget.h.i b/.hg/store/data/src/helpers/_c_text_edit_widget.h.i
deleted file mode 100644
index 7ca8649..0000000
Binary files a/.hg/store/data/src/helpers/_c_text_edit_widget.h.i and /dev/null differ
diff --git a/.hg/store/data/src/helpers/_c_wpt_icon_dialog.cpp.i b/.hg/store/data/src/helpers/_c_wpt_icon_dialog.cpp.i
deleted file mode 100644
index 56bef87..0000000
Binary files a/.hg/store/data/src/helpers/_c_wpt_icon_dialog.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/helpers/_c_wpt_icon_dialog.h.i b/.hg/store/data/src/helpers/_c_wpt_icon_dialog.h.i
deleted file mode 100644
index 4ad1e2c..0000000
Binary files a/.hg/store/data/src/helpers/_c_wpt_icon_dialog.h.i and /dev/null differ
diff --git a/.hg/store/data/src/helpers/_i_elevation_dialog.ui.i b/.hg/store/data/src/helpers/_i_elevation_dialog.ui.i
deleted file mode 100644
index 1bd9593..0000000
Binary files a/.hg/store/data/src/helpers/_i_elevation_dialog.ui.i and /dev/null differ
diff --git a/.hg/store/data/src/helpers/_i_input_dialog.ui.i b/.hg/store/data/src/helpers/_i_input_dialog.ui.i
deleted file mode 100644
index 0efb69f..0000000
Binary files a/.hg/store/data/src/helpers/_i_input_dialog.ui.i and /dev/null differ
diff --git a/.hg/store/data/src/helpers/_i_links_dialog.ui.i b/.hg/store/data/src/helpers/_i_links_dialog.ui.i
deleted file mode 100644
index 73cf421..0000000
Binary files a/.hg/store/data/src/helpers/_i_links_dialog.ui.i and /dev/null differ
diff --git a/.hg/store/data/src/helpers/_i_photo_album.ui.i b/.hg/store/data/src/helpers/_i_photo_album.ui.i
deleted file mode 100644
index 7f8e4fa..0000000
Binary files a/.hg/store/data/src/helpers/_i_photo_album.ui.i and /dev/null differ
diff --git a/.hg/store/data/src/helpers/_i_position_dialog.ui.i b/.hg/store/data/src/helpers/_i_position_dialog.ui.i
deleted file mode 100644
index 5ba4fbe..0000000
Binary files a/.hg/store/data/src/helpers/_i_position_dialog.ui.i and /dev/null differ
diff --git a/.hg/store/data/src/helpers/_i_select_copy_action.ui.i b/.hg/store/data/src/helpers/_i_select_copy_action.ui.i
deleted file mode 100644
index 60fcc91..0000000
Binary files a/.hg/store/data/src/helpers/_i_select_copy_action.ui.i and /dev/null differ
diff --git a/.hg/store/data/src/helpers/_i_select_project_dialog.ui.i b/.hg/store/data/src/helpers/_i_select_project_dialog.ui.i
deleted file mode 100644
index 6567efa..0000000
Binary files a/.hg/store/data/src/helpers/_i_select_project_dialog.ui.i and /dev/null differ
diff --git a/.hg/store/data/src/helpers/_i_text_edit_widget.ui.i b/.hg/store/data/src/helpers/_i_text_edit_widget.ui.i
deleted file mode 100644
index d57f46c..0000000
Binary files a/.hg/store/data/src/helpers/_i_text_edit_widget.ui.i and /dev/null differ
diff --git a/.hg/store/data/src/helpers/_i_wpt_icon_dialog.ui.i b/.hg/store/data/src/helpers/_i_wpt_icon_dialog.ui.i
deleted file mode 100644
index a19bd5b..0000000
Binary files a/.hg/store/data/src/helpers/_i_wpt_icon_dialog.ui.i and /dev/null differ
diff --git a/.hg/store/data/src/helpers/_platform.h.i b/.hg/store/data/src/helpers/_platform.h.i
deleted file mode 100644
index 7e82c82..0000000
Binary files a/.hg/store/data/src/helpers/_platform.h.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/16x16/2_d_fix.png.i b/.hg/store/data/src/icons/16x16/2_d_fix.png.i
deleted file mode 100644
index faf0daa..0000000
Binary files a/.hg/store/data/src/icons/16x16/2_d_fix.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/16x16/3_d_fix.png.i b/.hg/store/data/src/icons/16x16/3_d_fix.png.i
deleted file mode 100644
index 0afad5f..0000000
Binary files a/.hg/store/data/src/icons/16x16/3_d_fix.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/16x16/_add.png.i b/.hg/store/data/src/icons/16x16/_add.png.i
deleted file mode 100644
index aca851f..0000000
Binary files a/.hg/store/data/src/icons/16x16/_add.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/16x16/_add_map_workspace.png.i b/.hg/store/data/src/icons/16x16/_add_map_workspace.png.i
deleted file mode 100644
index fdabe8c..0000000
Binary files a/.hg/store/data/src/icons/16x16/_add_map_workspace.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/16x16/_add_wpt.png.i b/.hg/store/data/src/icons/16x16/_add_wpt.png.i
deleted file mode 100644
index 993499e..0000000
Binary files a/.hg/store/data/src/icons/16x16/_add_wpt.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/16x16/_cancel.png.i b/.hg/store/data/src/icons/16x16/_cancel.png.i
deleted file mode 100644
index 105ed6b..0000000
Binary files a/.hg/store/data/src/icons/16x16/_cancel.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/16x16/_check.png.i b/.hg/store/data/src/icons/16x16/_check.png.i
deleted file mode 100644
index fd7200d..0000000
Binary files a/.hg/store/data/src/icons/16x16/_check.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/16x16/_close.png.i b/.hg/store/data/src/icons/16x16/_close.png.i
deleted file mode 100644
index 36742ff..0000000
Binary files a/.hg/store/data/src/icons/16x16/_close.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/16x16/_copy.png.i b/.hg/store/data/src/icons/16x16/_copy.png.i
deleted file mode 100644
index 7dcc274..0000000
Binary files a/.hg/store/data/src/icons/16x16/_copy.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/16x16/_cut.png.i b/.hg/store/data/src/icons/16x16/_cut.png.i
deleted file mode 100644
index ee8f9e8..0000000
Binary files a/.hg/store/data/src/icons/16x16/_cut.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/16x16/_delete_multiple.png.i b/.hg/store/data/src/icons/16x16/_delete_multiple.png.i
deleted file mode 100644
index c9aba6a..0000000
Binary files a/.hg/store/data/src/icons/16x16/_delete_multiple.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/16x16/_delete_one.png.i b/.hg/store/data/src/icons/16x16/_delete_one.png.i
deleted file mode 100644
index 3f0a66b..0000000
Binary files a/.hg/store/data/src/icons/16x16/_delete_one.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/16x16/_down.png.i b/.hg/store/data/src/icons/16x16/_down.png.i
deleted file mode 100644
index d2f2e5f..0000000
Binary files a/.hg/store/data/src/icons/16x16/_down.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/16x16/_edit_details.png.i b/.hg/store/data/src/icons/16x16/_edit_details.png.i
deleted file mode 100644
index 2963231..0000000
Binary files a/.hg/store/data/src/icons/16x16/_edit_details.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/16x16/_edit_text.png.i b/.hg/store/data/src/icons/16x16/_edit_text.png.i
deleted file mode 100644
index 284cc6f..0000000
Binary files a/.hg/store/data/src/icons/16x16/_edit_text.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/16x16/_folder_d_e_m.png.i b/.hg/store/data/src/icons/16x16/_folder_d_e_m.png.i
deleted file mode 100644
index 9aa798f..0000000
Binary files a/.hg/store/data/src/icons/16x16/_folder_d_e_m.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/16x16/_folder_map.png.i b/.hg/store/data/src/icons/16x16/_folder_map.png.i
deleted file mode 100644
index 3758113..0000000
Binary files a/.hg/store/data/src/icons/16x16/_folder_map.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/16x16/_font.png.i b/.hg/store/data/src/icons/16x16/_font.png.i
deleted file mode 100644
index 87874de..0000000
Binary files a/.hg/store/data/src/icons/16x16/_font.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/16x16/_from_map.png.i b/.hg/store/data/src/icons/16x16/_from_map.png.i
deleted file mode 100644
index 7396c57..0000000
Binary files a/.hg/store/data/src/icons/16x16/_from_map.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/16x16/_gis_project.png.i b/.hg/store/data/src/icons/16x16/_gis_project.png.i
deleted file mode 100644
index 89d0fc5..0000000
Binary files a/.hg/store/data/src/icons/16x16/_gis_project.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/16x16/_grid.png.i b/.hg/store/data/src/icons/16x16/_grid.png.i
deleted file mode 100644
index 8b44bed..0000000
Binary files a/.hg/store/data/src/icons/16x16/_grid.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/16x16/_grid_setup.png.i b/.hg/store/data/src/icons/16x16/_grid_setup.png.i
deleted file mode 100644
index 7ba5b88..0000000
Binary files a/.hg/store/data/src/icons/16x16/_grid_setup.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/16x16/_grid_wizzard.png.i b/.hg/store/data/src/icons/16x16/_grid_wizzard.png.i
deleted file mode 100644
index 1133ea9..0000000
Binary files a/.hg/store/data/src/icons/16x16/_grid_wizzard.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/16x16/_help.png.i b/.hg/store/data/src/icons/16x16/_help.png.i
deleted file mode 100644
index 89f526e..0000000
Binary files a/.hg/store/data/src/icons/16x16/_help.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/16x16/_info.png.i b/.hg/store/data/src/icons/16x16/_info.png.i
deleted file mode 100644
index 19a4f98..0000000
Binary files a/.hg/store/data/src/icons/16x16/_info.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/16x16/_line_move.png.i b/.hg/store/data/src/icons/16x16/_line_move.png.i
deleted file mode 100644
index 021c878..0000000
Binary files a/.hg/store/data/src/icons/16x16/_line_move.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/16x16/_load_g_i_s.png.i b/.hg/store/data/src/icons/16x16/_load_g_i_s.png.i
deleted file mode 100644
index 43d7213..0000000
Binary files a/.hg/store/data/src/icons/16x16/_load_g_i_s.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/16x16/_lock.png.i b/.hg/store/data/src/icons/16x16/_lock.png.i
deleted file mode 100644
index d14e051..0000000
Binary files a/.hg/store/data/src/icons/16x16/_lock.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/16x16/_map.png.i b/.hg/store/data/src/icons/16x16/_map.png.i
deleted file mode 100644
index 6bb434d..0000000
Binary files a/.hg/store/data/src/icons/16x16/_map.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/16x16/_map_room.png.i b/.hg/store/data/src/icons/16x16/_map_room.png.i
deleted file mode 100644
index 3f42222..0000000
Binary files a/.hg/store/data/src/icons/16x16/_map_room.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/16x16/_mime_dem_v_r_t.png.i b/.hg/store/data/src/icons/16x16/_mime_dem_v_r_t.png.i
deleted file mode 100644
index d27e267..0000000
Binary files a/.hg/store/data/src/icons/16x16/_mime_dem_v_r_t.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/16x16/_mime_i_m_g.png.i b/.hg/store/data/src/icons/16x16/_mime_i_m_g.png.i
deleted file mode 100644
index d5d9f51..0000000
Binary files a/.hg/store/data/src/icons/16x16/_mime_i_m_g.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/16x16/_mime_j_n_x.png.i b/.hg/store/data/src/icons/16x16/_mime_j_n_x.png.i
deleted file mode 100644
index 5745985..0000000
Binary files a/.hg/store/data/src/icons/16x16/_mime_j_n_x.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/16x16/_mime_m_a_p.png.i b/.hg/store/data/src/icons/16x16/_mime_m_a_p.png.i
deleted file mode 100644
index b9fcc82..0000000
Binary files a/.hg/store/data/src/icons/16x16/_mime_m_a_p.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/16x16/_mime_r_m_a_p.png.i b/.hg/store/data/src/icons/16x16/_mime_r_m_a_p.png.i
deleted file mode 100644
index fbfa471..0000000
Binary files a/.hg/store/data/src/icons/16x16/_mime_r_m_a_p.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/16x16/_mime_v_r_t.png.i b/.hg/store/data/src/icons/16x16/_mime_v_r_t.png.i
deleted file mode 100644
index cce1e5e..0000000
Binary files a/.hg/store/data/src/icons/16x16/_mime_v_r_t.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/16x16/_mime_w_m_t_s.png.i b/.hg/store/data/src/icons/16x16/_mime_w_m_t_s.png.i
deleted file mode 100644
index 30c012d..0000000
Binary files a/.hg/store/data/src/icons/16x16/_mime_w_m_t_s.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/16x16/_mouse_wheel.png.i b/.hg/store/data/src/icons/16x16/_mouse_wheel.png.i
deleted file mode 100644
index e7f8d83..0000000
Binary files a/.hg/store/data/src/icons/16x16/_mouse_wheel.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/16x16/_night_day.png.i b/.hg/store/data/src/icons/16x16/_night_day.png.i
deleted file mode 100644
index eb1d8b6..0000000
Binary files a/.hg/store/data/src/icons/16x16/_night_day.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/16x16/_no_fix.png.i b/.hg/store/data/src/icons/16x16/_no_fix.png.i
deleted file mode 100644
index 37bedcf..0000000
Binary files a/.hg/store/data/src/icons/16x16/_no_fix.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/16x16/_off.png.i b/.hg/store/data/src/icons/16x16/_off.png.i
deleted file mode 100644
index 4861e40..0000000
Binary files a/.hg/store/data/src/icons/16x16/_off.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/16x16/_p_o_i_text.png.i b/.hg/store/data/src/icons/16x16/_p_o_i_text.png.i
deleted file mode 100644
index 16e11af..0000000
Binary files a/.hg/store/data/src/icons/16x16/_p_o_i_text.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/16x16/_paste.png.i b/.hg/store/data/src/icons/16x16/_paste.png.i
deleted file mode 100644
index 853ece6..0000000
Binary files a/.hg/store/data/src/icons/16x16/_paste.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/16x16/_point_move.png.i b/.hg/store/data/src/icons/16x16/_point_move.png.i
deleted file mode 100644
index e8bd21f..0000000
Binary files a/.hg/store/data/src/icons/16x16/_point_move.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/16x16/_q_map_shack.png.i b/.hg/store/data/src/icons/16x16/_q_map_shack.png.i
deleted file mode 100644
index 6c0a28c..0000000
Binary files a/.hg/store/data/src/icons/16x16/_q_map_shack.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/16x16/_redo.png.i b/.hg/store/data/src/icons/16x16/_redo.png.i
deleted file mode 100644
index cb72d79..0000000
Binary files a/.hg/store/data/src/icons/16x16/_redo.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/16x16/_reset.png.i b/.hg/store/data/src/icons/16x16/_reset.png.i
deleted file mode 100644
index 53e865d..0000000
Binary files a/.hg/store/data/src/icons/16x16/_reset.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/16x16/_right.png.i b/.hg/store/data/src/icons/16x16/_right.png.i
deleted file mode 100644
index b36daa7..0000000
Binary files a/.hg/store/data/src/icons/16x16/_right.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/16x16/_route.png.i b/.hg/store/data/src/icons/16x16/_route.png.i
deleted file mode 100644
index fef8778..0000000
Binary files a/.hg/store/data/src/icons/16x16/_route.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/16x16/_save_all_g_i_s.png.i b/.hg/store/data/src/icons/16x16/_save_all_g_i_s.png.i
deleted file mode 100644
index 45ab6da..0000000
Binary files a/.hg/store/data/src/icons/16x16/_save_all_g_i_s.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/16x16/_save_g_i_s.png.i b/.hg/store/data/src/icons/16x16/_save_g_i_s.png.i
deleted file mode 100644
index e208ff4..0000000
Binary files a/.hg/store/data/src/icons/16x16/_save_g_i_s.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/16x16/_scale.png.i b/.hg/store/data/src/icons/16x16/_scale.png.i
deleted file mode 100644
index 18cb10f..0000000
Binary files a/.hg/store/data/src/icons/16x16/_scale.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/16x16/_select_color.png.i b/.hg/store/data/src/icons/16x16/_select_color.png.i
deleted file mode 100644
index 83b2593..0000000
Binary files a/.hg/store/data/src/icons/16x16/_select_color.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/16x16/_select_range.png.i b/.hg/store/data/src/icons/16x16/_select_range.png.i
deleted file mode 100644
index 048efeb..0000000
Binary files a/.hg/store/data/src/icons/16x16/_select_range.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/16x16/_setup_map_workspace.png.i b/.hg/store/data/src/icons/16x16/_setup_map_workspace.png.i
deleted file mode 100644
index e368c31..0000000
Binary files a/.hg/store/data/src/icons/16x16/_setup_map_workspace.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/16x16/_tainted.png.i b/.hg/store/data/src/icons/16x16/_tainted.png.i
deleted file mode 100644
index 1688be6..0000000
Binary files a/.hg/store/data/src/icons/16x16/_tainted.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/16x16/_text_bold.png.i b/.hg/store/data/src/icons/16x16/_text_bold.png.i
deleted file mode 100644
index c41b788..0000000
Binary files a/.hg/store/data/src/icons/16x16/_text_bold.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/16x16/_text_center.png.i b/.hg/store/data/src/icons/16x16/_text_center.png.i
deleted file mode 100644
index 2514b26..0000000
Binary files a/.hg/store/data/src/icons/16x16/_text_center.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/16x16/_text_italic.png.i b/.hg/store/data/src/icons/16x16/_text_italic.png.i
deleted file mode 100644
index 9e43f9e..0000000
Binary files a/.hg/store/data/src/icons/16x16/_text_italic.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/16x16/_text_justified.png.i b/.hg/store/data/src/icons/16x16/_text_justified.png.i
deleted file mode 100644
index 1f2e7b8..0000000
Binary files a/.hg/store/data/src/icons/16x16/_text_justified.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/16x16/_text_left.png.i b/.hg/store/data/src/icons/16x16/_text_left.png.i
deleted file mode 100644
index 3803d16..0000000
Binary files a/.hg/store/data/src/icons/16x16/_text_left.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/16x16/_text_right.png.i b/.hg/store/data/src/icons/16x16/_text_right.png.i
deleted file mode 100644
index 6efe68e..0000000
Binary files a/.hg/store/data/src/icons/16x16/_text_right.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/16x16/_text_underlined.png.i b/.hg/store/data/src/icons/16x16/_text_underlined.png.i
deleted file mode 100644
index 4623662..0000000
Binary files a/.hg/store/data/src/icons/16x16/_text_underlined.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/16x16/_time_zone_setup.png.i b/.hg/store/data/src/icons/16x16/_time_zone_setup.png.i
deleted file mode 100644
index 264c567..0000000
Binary files a/.hg/store/data/src/icons/16x16/_time_zone_setup.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/16x16/_to_bottom.png.i b/.hg/store/data/src/icons/16x16/_to_bottom.png.i
deleted file mode 100644
index 023b428..0000000
Binary files a/.hg/store/data/src/icons/16x16/_to_bottom.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/16x16/_to_top.png.i b/.hg/store/data/src/icons/16x16/_to_top.png.i
deleted file mode 100644
index ca73f9a..0000000
Binary files a/.hg/store/data/src/icons/16x16/_to_top.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/16x16/_tool_tip.png.i b/.hg/store/data/src/icons/16x16/_tool_tip.png.i
deleted file mode 100644
index 3b8e2d8..0000000
Binary files a/.hg/store/data/src/icons/16x16/_tool_tip.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/16x16/_track.png.i b/.hg/store/data/src/icons/16x16/_track.png.i
deleted file mode 100644
index 42d1ff1..0000000
Binary files a/.hg/store/data/src/icons/16x16/_track.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/16x16/_trk_cut.png.i b/.hg/store/data/src/icons/16x16/_trk_cut.png.i
deleted file mode 100644
index 5abde71..0000000
Binary files a/.hg/store/data/src/icons/16x16/_trk_cut.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/16x16/_trk_profile.png.i b/.hg/store/data/src/icons/16x16/_trk_profile.png.i
deleted file mode 100644
index 45042a4..0000000
Binary files a/.hg/store/data/src/icons/16x16/_trk_profile.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/16x16/_un_lock.png.i b/.hg/store/data/src/icons/16x16/_un_lock.png.i
deleted file mode 100644
index cc7ab1a..0000000
Binary files a/.hg/store/data/src/icons/16x16/_un_lock.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/16x16/_undo.png.i b/.hg/store/data/src/icons/16x16/_undo.png.i
deleted file mode 100644
index a019275..0000000
Binary files a/.hg/store/data/src/icons/16x16/_undo.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/16x16/_up.png.i b/.hg/store/data/src/icons/16x16/_up.png.i
deleted file mode 100644
index 30c35de..0000000
Binary files a/.hg/store/data/src/icons/16x16/_up.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/16x16/_wpt_move.png.i b/.hg/store/data/src/icons/16x16/_wpt_move.png.i
deleted file mode 100644
index 5b6892b..0000000
Binary files a/.hg/store/data/src/icons/16x16/_wpt_move.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/16x16/_wpt_proj.png.i b/.hg/store/data/src/icons/16x16/_wpt_proj.png.i
deleted file mode 100644
index ae794d1..0000000
Binary files a/.hg/store/data/src/icons/16x16/_wpt_proj.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/16x16/add.png.i b/.hg/store/data/src/icons/16x16/add.png.i
deleted file mode 100644
index 6654625..0000000
Binary files a/.hg/store/data/src/icons/16x16/add.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/16x16/add_canvas.png.i b/.hg/store/data/src/icons/16x16/add_canvas.png.i
deleted file mode 100644
index 0c63c4f..0000000
Binary files a/.hg/store/data/src/icons/16x16/add_canvas.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/16x16/delete.png.i b/.hg/store/data/src/icons/16x16/delete.png.i
deleted file mode 100644
index 5404ebe..0000000
Binary files a/.hg/store/data/src/icons/16x16/delete.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/16x16/delete_all.png.i b/.hg/store/data/src/icons/16x16/delete_all.png.i
deleted file mode 100644
index 1c50404..0000000
Binary files a/.hg/store/data/src/icons/16x16/delete_all.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/16x16/down.png.i b/.hg/store/data/src/icons/16x16/down.png.i
deleted file mode 100644
index aad2a5e..0000000
Binary files a/.hg/store/data/src/icons/16x16/down.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/16x16/flip_direction.png.i b/.hg/store/data/src/icons/16x16/flip_direction.png.i
deleted file mode 100644
index 8e284b1..0000000
Binary files a/.hg/store/data/src/icons/16x16/flip_direction.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/16x16/font.png.i b/.hg/store/data/src/icons/16x16/font.png.i
deleted file mode 100644
index b6e7cee..0000000
Binary files a/.hg/store/data/src/icons/16x16/font.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/16x16/from_map.png.i b/.hg/store/data/src/icons/16x16/from_map.png.i
deleted file mode 100644
index c4900e0..0000000
Binary files a/.hg/store/data/src/icons/16x16/from_map.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/16x16/grid.png.i b/.hg/store/data/src/icons/16x16/grid.png.i
deleted file mode 100644
index 72c62f9..0000000
Binary files a/.hg/store/data/src/icons/16x16/grid.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/16x16/grid_setup.png.i b/.hg/store/data/src/icons/16x16/grid_setup.png.i
deleted file mode 100644
index 56db37f..0000000
Binary files a/.hg/store/data/src/icons/16x16/grid_setup.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/16x16/grid_wizard.png.i b/.hg/store/data/src/icons/16x16/grid_wizard.png.i
deleted file mode 100644
index 2c44ceb..0000000
Binary files a/.hg/store/data/src/icons/16x16/grid_wizard.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/16x16/icons.svg.save.i b/.hg/store/data/src/icons/16x16/icons.svg.save.i
deleted file mode 100644
index f2269c5..0000000
Binary files a/.hg/store/data/src/icons/16x16/icons.svg.save.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/16x16/jnx.png.i b/.hg/store/data/src/icons/16x16/jnx.png.i
deleted file mode 100644
index 7cbceab..0000000
Binary files a/.hg/store/data/src/icons/16x16/jnx.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/16x16/map.png.i b/.hg/store/data/src/icons/16x16/map.png.i
deleted file mode 100644
index 0ad683e..0000000
Binary files a/.hg/store/data/src/icons/16x16/map.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/16x16/mime__img.png.i b/.hg/store/data/src/icons/16x16/mime__img.png.i
deleted file mode 100644
index df5510c..0000000
Binary files a/.hg/store/data/src/icons/16x16/mime__img.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/16x16/mime__jnx.png.i b/.hg/store/data/src/icons/16x16/mime__jnx.png.i
deleted file mode 100644
index 02bd476..0000000
Binary files a/.hg/store/data/src/icons/16x16/mime__jnx.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/16x16/mime__map.png.i b/.hg/store/data/src/icons/16x16/mime__map.png.i
deleted file mode 100644
index 92af0ba..0000000
Binary files a/.hg/store/data/src/icons/16x16/mime__map.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/16x16/mime__rmap.png.i b/.hg/store/data/src/icons/16x16/mime__rmap.png.i
deleted file mode 100644
index 9b4c96c..0000000
Binary files a/.hg/store/data/src/icons/16x16/mime__rmap.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/16x16/mime__vrt.png.i b/.hg/store/data/src/icons/16x16/mime__vrt.png.i
deleted file mode 100644
index 5c05bca..0000000
Binary files a/.hg/store/data/src/icons/16x16/mime__vrt.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/16x16/night_day.png.i b/.hg/store/data/src/icons/16x16/night_day.png.i
deleted file mode 100644
index 4bca933..0000000
Binary files a/.hg/store/data/src/icons/16x16/night_day.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/16x16/path_map.png.i b/.hg/store/data/src/icons/16x16/path_map.png.i
deleted file mode 100644
index 8690097..0000000
Binary files a/.hg/store/data/src/icons/16x16/path_map.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/16x16/poi_text.png.i b/.hg/store/data/src/icons/16x16/poi_text.png.i
deleted file mode 100644
index bcba446..0000000
Binary files a/.hg/store/data/src/icons/16x16/poi_text.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/16x16/red_glow.png.i b/.hg/store/data/src/icons/16x16/red_glow.png.i
deleted file mode 100644
index 356b4df..0000000
Binary files a/.hg/store/data/src/icons/16x16/red_glow.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/16x16/reset.png.i b/.hg/store/data/src/icons/16x16/reset.png.i
deleted file mode 100644
index 1620c83..0000000
Binary files a/.hg/store/data/src/icons/16x16/reset.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/16x16/rmap.png.i b/.hg/store/data/src/icons/16x16/rmap.png.i
deleted file mode 100644
index 3ea615a..0000000
Binary files a/.hg/store/data/src/icons/16x16/rmap.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/16x16/scale.png.i b/.hg/store/data/src/icons/16x16/scale.png.i
deleted file mode 100644
index a475352..0000000
Binary files a/.hg/store/data/src/icons/16x16/scale.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/16x16/select_color.png.i b/.hg/store/data/src/icons/16x16/select_color.png.i
deleted file mode 100644
index 99b9cfb..0000000
Binary files a/.hg/store/data/src/icons/16x16/select_color.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/16x16/to_bottom.png.i b/.hg/store/data/src/icons/16x16/to_bottom.png.i
deleted file mode 100644
index 8f9ed2d..0000000
Binary files a/.hg/store/data/src/icons/16x16/to_bottom.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/16x16/tool_tip.png.i b/.hg/store/data/src/icons/16x16/tool_tip.png.i
deleted file mode 100644
index 25c8e79..0000000
Binary files a/.hg/store/data/src/icons/16x16/tool_tip.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/16x16/up.png.i b/.hg/store/data/src/icons/16x16/up.png.i
deleted file mode 100644
index b205aa3..0000000
Binary files a/.hg/store/data/src/icons/16x16/up.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/16x16/view.png.i b/.hg/store/data/src/icons/16x16/view.png.i
deleted file mode 100644
index cdb12fc..0000000
Binary files a/.hg/store/data/src/icons/16x16/view.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/16x16/wizzard.png.i b/.hg/store/data/src/icons/16x16/wizzard.png.i
deleted file mode 100644
index ee1b012..0000000
Binary files a/.hg/store/data/src/icons/16x16/wizzard.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/2_d_fix.svg.i b/.hg/store/data/src/icons/2_d_fix.svg.i
deleted file mode 100644
index 0c04817..0000000
Binary files a/.hg/store/data/src/icons/2_d_fix.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/2_nav_project.svg.i b/.hg/store/data/src/icons/2_nav_project.svg.i
deleted file mode 100644
index d95a2fb..0000000
Binary files a/.hg/store/data/src/icons/2_nav_project.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/2_d_fix.png.i b/.hg/store/data/src/icons/32x32/2_d_fix.png.i
deleted file mode 100644
index fe1e3b5..0000000
Binary files a/.hg/store/data/src/icons/32x32/2_d_fix.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/2_nav_project.png.i b/.hg/store/data/src/icons/32x32/2_nav_project.png.i
deleted file mode 100644
index 5fde48b..0000000
Binary files a/.hg/store/data/src/icons/32x32/2_nav_project.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/3_d_fix.png.i b/.hg/store/data/src/icons/32x32/3_d_fix.png.i
deleted file mode 100644
index d3d0146..0000000
Binary files a/.hg/store/data/src/icons/32x32/3_d_fix.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/_add.png.i b/.hg/store/data/src/icons/32x32/_add.png.i
deleted file mode 100644
index 4cfe107..0000000
Binary files a/.hg/store/data/src/icons/32x32/_add.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/_add_area.png.i b/.hg/store/data/src/icons/32x32/_add_area.png.i
deleted file mode 100644
index 351920b..0000000
Binary files a/.hg/store/data/src/icons/32x32/_add_area.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/_add_image.png.i b/.hg/store/data/src/icons/32x32/_add_image.png.i
deleted file mode 100644
index b2a1d81..0000000
Binary files a/.hg/store/data/src/icons/32x32/_add_image.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/_add_map_workspace.png.i b/.hg/store/data/src/icons/32x32/_add_map_workspace.png.i
deleted file mode 100644
index 9e45658..0000000
Binary files a/.hg/store/data/src/icons/32x32/_add_map_workspace.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/_add_project.png.i b/.hg/store/data/src/icons/32x32/_add_project.png.i
deleted file mode 100644
index a7a0788..0000000
Binary files a/.hg/store/data/src/icons/32x32/_add_project.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/_add_trk.png.i b/.hg/store/data/src/icons/32x32/_add_trk.png.i
deleted file mode 100644
index 416aaec..0000000
Binary files a/.hg/store/data/src/icons/32x32/_add_trk.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/_add_wpt.png.i b/.hg/store/data/src/icons/32x32/_add_wpt.png.i
deleted file mode 100644
index b9e5fcf..0000000
Binary files a/.hg/store/data/src/icons/32x32/_add_wpt.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/_apply.png.i b/.hg/store/data/src/icons/32x32/_apply.png.i
deleted file mode 100644
index bdc42f2..0000000
Binary files a/.hg/store/data/src/icons/32x32/_apply.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/_area.png.i b/.hg/store/data/src/icons/32x32/_area.png.i
deleted file mode 100644
index 23bdef2..0000000
Binary files a/.hg/store/data/src/icons/32x32/_area.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/_area_move.png.i b/.hg/store/data/src/icons/32x32/_area_move.png.i
deleted file mode 100644
index e368fa3..0000000
Binary files a/.hg/store/data/src/icons/32x32/_area_move.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/_cancel.png.i b/.hg/store/data/src/icons/32x32/_cancel.png.i
deleted file mode 100644
index 8a6722f..0000000
Binary files a/.hg/store/data/src/icons/32x32/_cancel.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/_check.png.i b/.hg/store/data/src/icons/32x32/_check.png.i
deleted file mode 100644
index 2dd3417..0000000
Binary files a/.hg/store/data/src/icons/32x32/_check.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/_close.png.i b/.hg/store/data/src/icons/32x32/_close.png.i
deleted file mode 100644
index 973be36..0000000
Binary files a/.hg/store/data/src/icons/32x32/_close.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/_combine.png.i b/.hg/store/data/src/icons/32x32/_combine.png.i
deleted file mode 100644
index 2a0e67a..0000000
Binary files a/.hg/store/data/src/icons/32x32/_combine.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/_copy.png.i b/.hg/store/data/src/icons/32x32/_copy.png.i
deleted file mode 100644
index c9ccde9..0000000
Binary files a/.hg/store/data/src/icons/32x32/_copy.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/_cut.png.i b/.hg/store/data/src/icons/32x32/_cut.png.i
deleted file mode 100644
index 7b67239..0000000
Binary files a/.hg/store/data/src/icons/32x32/_cut.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/_cut_history.png.i b/.hg/store/data/src/icons/32x32/_cut_history.png.i
deleted file mode 100644
index c96d44a..0000000
Binary files a/.hg/store/data/src/icons/32x32/_cut_history.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/_d_b_project.png.i b/.hg/store/data/src/icons/32x32/_d_b_project.png.i
deleted file mode 100644
index e854f2d..0000000
Binary files a/.hg/store/data/src/icons/32x32/_d_b_project.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/_database.png.i b/.hg/store/data/src/icons/32x32/_database.png.i
deleted file mode 100644
index c6cae2e..0000000
Binary files a/.hg/store/data/src/icons/32x32/_database.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/_database_convert.png.i b/.hg/store/data/src/icons/32x32/_database_convert.png.i
deleted file mode 100644
index 399b732..0000000
Binary files a/.hg/store/data/src/icons/32x32/_database_convert.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/_database_setup.png.i b/.hg/store/data/src/icons/32x32/_database_setup.png.i
deleted file mode 100644
index b2591c1..0000000
Binary files a/.hg/store/data/src/icons/32x32/_database_setup.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/_del_image.png.i b/.hg/store/data/src/icons/32x32/_del_image.png.i
deleted file mode 100644
index 56d50d0..0000000
Binary files a/.hg/store/data/src/icons/32x32/_del_image.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/_delete_multiple.png.i b/.hg/store/data/src/icons/32x32/_delete_multiple.png.i
deleted file mode 100644
index da1a2ec..0000000
Binary files a/.hg/store/data/src/icons/32x32/_delete_multiple.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/_delete_one.png.i b/.hg/store/data/src/icons/32x32/_delete_one.png.i
deleted file mode 100644
index 03fc0e6..0000000
Binary files a/.hg/store/data/src/icons/32x32/_delete_one.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/_device.png.i b/.hg/store/data/src/icons/32x32/_device.png.i
deleted file mode 100644
index e9174a0..0000000
Binary files a/.hg/store/data/src/icons/32x32/_device.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/_down.png.i b/.hg/store/data/src/icons/32x32/_down.png.i
deleted file mode 100644
index b4c4a0c..0000000
Binary files a/.hg/store/data/src/icons/32x32/_down.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/_edit_details.png.i b/.hg/store/data/src/icons/32x32/_edit_details.png.i
deleted file mode 100644
index b7a87c6..0000000
Binary files a/.hg/store/data/src/icons/32x32/_edit_details.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/_edit_text.png.i b/.hg/store/data/src/icons/32x32/_edit_text.png.i
deleted file mode 100644
index 49e352f..0000000
Binary files a/.hg/store/data/src/icons/32x32/_edit_text.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/_empty.png.i b/.hg/store/data/src/icons/32x32/_empty.png.i
deleted file mode 100644
index 484b073..0000000
Binary files a/.hg/store/data/src/icons/32x32/_empty.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/_error.png.i b/.hg/store/data/src/icons/32x32/_error.png.i
deleted file mode 100644
index 04fe2db..0000000
Binary files a/.hg/store/data/src/icons/32x32/_error.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/_folder_d_e_m.png.i b/.hg/store/data/src/icons/32x32/_folder_d_e_m.png.i
deleted file mode 100644
index 78eb232..0000000
Binary files a/.hg/store/data/src/icons/32x32/_folder_d_e_m.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/_folder_map.png.i b/.hg/store/data/src/icons/32x32/_folder_map.png.i
deleted file mode 100644
index 87c21c1..0000000
Binary files a/.hg/store/data/src/icons/32x32/_folder_map.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/_font.png.i b/.hg/store/data/src/icons/32x32/_font.png.i
deleted file mode 100644
index d9b6dd3..0000000
Binary files a/.hg/store/data/src/icons/32x32/_font.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/_from_map.png.i b/.hg/store/data/src/icons/32x32/_from_map.png.i
deleted file mode 100644
index 9f92448..0000000
Binary files a/.hg/store/data/src/icons/32x32/_from_map.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/_gis_project.png.i b/.hg/store/data/src/icons/32x32/_gis_project.png.i
deleted file mode 100644
index 4b180ba..0000000
Binary files a/.hg/store/data/src/icons/32x32/_gis_project.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/_gpx_project.png.i b/.hg/store/data/src/icons/32x32/_gpx_project.png.i
deleted file mode 100644
index 5342783..0000000
Binary files a/.hg/store/data/src/icons/32x32/_gpx_project.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/_grid.png.i b/.hg/store/data/src/icons/32x32/_grid.png.i
deleted file mode 100644
index e6dbfdb..0000000
Binary files a/.hg/store/data/src/icons/32x32/_grid.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/_grid_setup.png.i b/.hg/store/data/src/icons/32x32/_grid_setup.png.i
deleted file mode 100644
index b3ab623..0000000
Binary files a/.hg/store/data/src/icons/32x32/_grid_setup.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/_grid_wizzard.png.i b/.hg/store/data/src/icons/32x32/_grid_wizzard.png.i
deleted file mode 100644
index 947184e..0000000
Binary files a/.hg/store/data/src/icons/32x32/_grid_wizzard.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/_help.png.i b/.hg/store/data/src/icons/32x32/_help.png.i
deleted file mode 100644
index a9af5a6..0000000
Binary files a/.hg/store/data/src/icons/32x32/_help.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/_image.png.i b/.hg/store/data/src/icons/32x32/_image.png.i
deleted file mode 100644
index eef55c2..0000000
Binary files a/.hg/store/data/src/icons/32x32/_image.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/_info.png.i b/.hg/store/data/src/icons/32x32/_info.png.i
deleted file mode 100644
index 1458392..0000000
Binary files a/.hg/store/data/src/icons/32x32/_info.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/_left.png.i b/.hg/store/data/src/icons/32x32/_left.png.i
deleted file mode 100644
index fe04874..0000000
Binary files a/.hg/store/data/src/icons/32x32/_left.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/_line_move.png.i b/.hg/store/data/src/icons/32x32/_line_move.png.i
deleted file mode 100644
index fd69c7b..0000000
Binary files a/.hg/store/data/src/icons/32x32/_line_move.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/_link.png.i b/.hg/store/data/src/icons/32x32/_link.png.i
deleted file mode 100644
index b8d8304..0000000
Binary files a/.hg/store/data/src/icons/32x32/_link.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/_load_g_i_s.png.i b/.hg/store/data/src/icons/32x32/_load_g_i_s.png.i
deleted file mode 100644
index 0ba32de..0000000
Binary files a/.hg/store/data/src/icons/32x32/_load_g_i_s.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/_load_view.png.i b/.hg/store/data/src/icons/32x32/_load_view.png.i
deleted file mode 100644
index fc89f84..0000000
Binary files a/.hg/store/data/src/icons/32x32/_load_view.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/_lock.png.i b/.hg/store/data/src/icons/32x32/_lock.png.i
deleted file mode 100644
index 779e8e5..0000000
Binary files a/.hg/store/data/src/icons/32x32/_lock.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/_map.png.i b/.hg/store/data/src/icons/32x32/_map.png.i
deleted file mode 100644
index e31460d..0000000
Binary files a/.hg/store/data/src/icons/32x32/_map.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/_map_room.png.i b/.hg/store/data/src/icons/32x32/_map_room.png.i
deleted file mode 100644
index ea45851..0000000
Binary files a/.hg/store/data/src/icons/32x32/_map_room.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/_mime_dem_v_r_t.png.i b/.hg/store/data/src/icons/32x32/_mime_dem_v_r_t.png.i
deleted file mode 100644
index dbc7942..0000000
Binary files a/.hg/store/data/src/icons/32x32/_mime_dem_v_r_t.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/_mime_i_m_g.png.i b/.hg/store/data/src/icons/32x32/_mime_i_m_g.png.i
deleted file mode 100644
index d72acd2..0000000
Binary files a/.hg/store/data/src/icons/32x32/_mime_i_m_g.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/_mime_j_n_x.png.i b/.hg/store/data/src/icons/32x32/_mime_j_n_x.png.i
deleted file mode 100644
index 9ca71a6..0000000
Binary files a/.hg/store/data/src/icons/32x32/_mime_j_n_x.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/_mime_m_a_p.png.i b/.hg/store/data/src/icons/32x32/_mime_m_a_p.png.i
deleted file mode 100644
index 457cbb2..0000000
Binary files a/.hg/store/data/src/icons/32x32/_mime_m_a_p.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/_mime_r_m_a_p.png.i b/.hg/store/data/src/icons/32x32/_mime_r_m_a_p.png.i
deleted file mode 100644
index c7e1fcc..0000000
Binary files a/.hg/store/data/src/icons/32x32/_mime_r_m_a_p.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/_mime_t_m_s.png.i b/.hg/store/data/src/icons/32x32/_mime_t_m_s.png.i
deleted file mode 100644
index 265dc07..0000000
Binary files a/.hg/store/data/src/icons/32x32/_mime_t_m_s.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/_mime_v_r_t.png.i b/.hg/store/data/src/icons/32x32/_mime_v_r_t.png.i
deleted file mode 100644
index 4412117..0000000
Binary files a/.hg/store/data/src/icons/32x32/_mime_v_r_t.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/_mime_w_m_t_s.png.i b/.hg/store/data/src/icons/32x32/_mime_w_m_t_s.png.i
deleted file mode 100644
index 47d40e0..0000000
Binary files a/.hg/store/data/src/icons/32x32/_mime_w_m_t_s.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/_mouse_wheel.png.i b/.hg/store/data/src/icons/32x32/_mouse_wheel.png.i
deleted file mode 100644
index 26390e1..0000000
Binary files a/.hg/store/data/src/icons/32x32/_mouse_wheel.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/_move.png.i b/.hg/store/data/src/icons/32x32/_move.png.i
deleted file mode 100644
index 452501f..0000000
Binary files a/.hg/store/data/src/icons/32x32/_move.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/_night_day.png.i b/.hg/store/data/src/icons/32x32/_night_day.png.i
deleted file mode 100644
index bf51d11..0000000
Binary files a/.hg/store/data/src/icons/32x32/_night_day.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/_no_fix.png.i b/.hg/store/data/src/icons/32x32/_no_fix.png.i
deleted file mode 100644
index b2ffade..0000000
Binary files a/.hg/store/data/src/icons/32x32/_no_fix.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/_off.png.i b/.hg/store/data/src/icons/32x32/_off.png.i
deleted file mode 100644
index 46a0314..0000000
Binary files a/.hg/store/data/src/icons/32x32/_off.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/_opacity.png.i b/.hg/store/data/src/icons/32x32/_opacity.png.i
deleted file mode 100644
index 6fcc72b..0000000
Binary files a/.hg/store/data/src/icons/32x32/_opacity.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/_p_o_i_text.png.i b/.hg/store/data/src/icons/32x32/_p_o_i_text.png.i
deleted file mode 100644
index e878dec..0000000
Binary files a/.hg/store/data/src/icons/32x32/_p_o_i_text.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/_paste.png.i b/.hg/store/data/src/icons/32x32/_paste.png.i
deleted file mode 100644
index 3bafd9c..0000000
Binary files a/.hg/store/data/src/icons/32x32/_paste.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/_path.png.i b/.hg/store/data/src/icons/32x32/_path.png.i
deleted file mode 100644
index 1f2ff79..0000000
Binary files a/.hg/store/data/src/icons/32x32/_path.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/_path_blue.png.i b/.hg/store/data/src/icons/32x32/_path_blue.png.i
deleted file mode 100644
index 6dd2308..0000000
Binary files a/.hg/store/data/src/icons/32x32/_path_blue.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/_path_green.png.i b/.hg/store/data/src/icons/32x32/_path_green.png.i
deleted file mode 100644
index 2e187ec..0000000
Binary files a/.hg/store/data/src/icons/32x32/_path_green.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/_path_orange.png.i b/.hg/store/data/src/icons/32x32/_path_orange.png.i
deleted file mode 100644
index 26b0301..0000000
Binary files a/.hg/store/data/src/icons/32x32/_path_orange.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/_pattern.png.i b/.hg/store/data/src/icons/32x32/_pattern.png.i
deleted file mode 100644
index efa44f1..0000000
Binary files a/.hg/store/data/src/icons/32x32/_pattern.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/_point_hide.png.i b/.hg/store/data/src/icons/32x32/_point_hide.png.i
deleted file mode 100644
index 6a2e6ba..0000000
Binary files a/.hg/store/data/src/icons/32x32/_point_hide.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/_point_move.png.i b/.hg/store/data/src/icons/32x32/_point_move.png.i
deleted file mode 100644
index ba06e86..0000000
Binary files a/.hg/store/data/src/icons/32x32/_point_move.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/_point_show.png.i b/.hg/store/data/src/icons/32x32/_point_show.png.i
deleted file mode 100644
index 71d1898..0000000
Binary files a/.hg/store/data/src/icons/32x32/_point_show.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/_print.png.i b/.hg/store/data/src/icons/32x32/_print.png.i
deleted file mode 100644
index 13f154a..0000000
Binary files a/.hg/store/data/src/icons/32x32/_print.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/_q_map_shack.png.i b/.hg/store/data/src/icons/32x32/_q_map_shack.png.i
deleted file mode 100644
index ba450fc..0000000
Binary files a/.hg/store/data/src/icons/32x32/_q_map_shack.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/_qms_project.png.i b/.hg/store/data/src/icons/32x32/_qms_project.png.i
deleted file mode 100644
index 691cad9..0000000
Binary files a/.hg/store/data/src/icons/32x32/_qms_project.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/_redo.png.i b/.hg/store/data/src/icons/32x32/_redo.png.i
deleted file mode 100644
index b6030f3..0000000
Binary files a/.hg/store/data/src/icons/32x32/_redo.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/_reload_image.png.i b/.hg/store/data/src/icons/32x32/_reload_image.png.i
deleted file mode 100644
index 7839054..0000000
Binary files a/.hg/store/data/src/icons/32x32/_reload_image.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/_reset.png.i b/.hg/store/data/src/icons/32x32/_reset.png.i
deleted file mode 100644
index b03b5f9..0000000
Binary files a/.hg/store/data/src/icons/32x32/_reset.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/_reverse.png.i b/.hg/store/data/src/icons/32x32/_reverse.png.i
deleted file mode 100644
index 9d938a1..0000000
Binary files a/.hg/store/data/src/icons/32x32/_reverse.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/_right.png.i b/.hg/store/data/src/icons/32x32/_right.png.i
deleted file mode 100644
index 5d23e54..0000000
Binary files a/.hg/store/data/src/icons/32x32/_right.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/_route.png.i b/.hg/store/data/src/icons/32x32/_route.png.i
deleted file mode 100644
index 6e358d1..0000000
Binary files a/.hg/store/data/src/icons/32x32/_route.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/_save_all_g_i_s.png.i b/.hg/store/data/src/icons/32x32/_save_all_g_i_s.png.i
deleted file mode 100644
index ad3cc35..0000000
Binary files a/.hg/store/data/src/icons/32x32/_save_all_g_i_s.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/_save_g_i_s.png.i b/.hg/store/data/src/icons/32x32/_save_g_i_s.png.i
deleted file mode 100644
index d322933..0000000
Binary files a/.hg/store/data/src/icons/32x32/_save_g_i_s.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/_save_g_i_s_as.png.i b/.hg/store/data/src/icons/32x32/_save_g_i_s_as.png.i
deleted file mode 100644
index 6bad724..0000000
Binary files a/.hg/store/data/src/icons/32x32/_save_g_i_s_as.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/_save_view.png.i b/.hg/store/data/src/icons/32x32/_save_view.png.i
deleted file mode 100644
index 32db890..0000000
Binary files a/.hg/store/data/src/icons/32x32/_save_view.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/_scale.png.i b/.hg/store/data/src/icons/32x32/_scale.png.i
deleted file mode 100644
index 838281d..0000000
Binary files a/.hg/store/data/src/icons/32x32/_scale.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/_search_google.png.i b/.hg/store/data/src/icons/32x32/_search_google.png.i
deleted file mode 100644
index 96deaf8..0000000
Binary files a/.hg/store/data/src/icons/32x32/_search_google.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/_select_color.png.i b/.hg/store/data/src/icons/32x32/_select_color.png.i
deleted file mode 100644
index 02ca3d5..0000000
Binary files a/.hg/store/data/src/icons/32x32/_select_color.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/_select_range.png.i b/.hg/store/data/src/icons/32x32/_select_range.png.i
deleted file mode 100644
index a1a8829..0000000
Binary files a/.hg/store/data/src/icons/32x32/_select_range.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/_set_ele.png.i b/.hg/store/data/src/icons/32x32/_set_ele.png.i
deleted file mode 100644
index 5a86365..0000000
Binary files a/.hg/store/data/src/icons/32x32/_set_ele.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/_setup_map_workspace.png.i b/.hg/store/data/src/icons/32x32/_setup_map_workspace.png.i
deleted file mode 100644
index a5f3c02..0000000
Binary files a/.hg/store/data/src/icons/32x32/_setup_map_workspace.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/_start.png.i b/.hg/store/data/src/icons/32x32/_start.png.i
deleted file mode 100644
index 4de006b..0000000
Binary files a/.hg/store/data/src/icons/32x32/_start.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/_tainted.png.i b/.hg/store/data/src/icons/32x32/_tainted.png.i
deleted file mode 100644
index f544265..0000000
Binary files a/.hg/store/data/src/icons/32x32/_tainted.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/_text_bold.png.i b/.hg/store/data/src/icons/32x32/_text_bold.png.i
deleted file mode 100644
index ab01903..0000000
Binary files a/.hg/store/data/src/icons/32x32/_text_bold.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/_text_center.png.i b/.hg/store/data/src/icons/32x32/_text_center.png.i
deleted file mode 100644
index bc13186..0000000
Binary files a/.hg/store/data/src/icons/32x32/_text_center.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/_text_italic.png.i b/.hg/store/data/src/icons/32x32/_text_italic.png.i
deleted file mode 100644
index 0e5c1b0..0000000
Binary files a/.hg/store/data/src/icons/32x32/_text_italic.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/_text_justified.png.i b/.hg/store/data/src/icons/32x32/_text_justified.png.i
deleted file mode 100644
index 5916671..0000000
Binary files a/.hg/store/data/src/icons/32x32/_text_justified.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/_text_left.png.i b/.hg/store/data/src/icons/32x32/_text_left.png.i
deleted file mode 100644
index d333dbf..0000000
Binary files a/.hg/store/data/src/icons/32x32/_text_left.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/_text_right.png.i b/.hg/store/data/src/icons/32x32/_text_right.png.i
deleted file mode 100644
index 4ddefbd..0000000
Binary files a/.hg/store/data/src/icons/32x32/_text_right.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/_text_underlined.png.i b/.hg/store/data/src/icons/32x32/_text_underlined.png.i
deleted file mode 100644
index 6661716..0000000
Binary files a/.hg/store/data/src/icons/32x32/_text_underlined.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/_time.png.i b/.hg/store/data/src/icons/32x32/_time.png.i
deleted file mode 100644
index 9e98ae5..0000000
Binary files a/.hg/store/data/src/icons/32x32/_time.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/_time_zone_setup.png.i b/.hg/store/data/src/icons/32x32/_time_zone_setup.png.i
deleted file mode 100644
index c11bb46..0000000
Binary files a/.hg/store/data/src/icons/32x32/_time_zone_setup.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/_to_bottom.png.i b/.hg/store/data/src/icons/32x32/_to_bottom.png.i
deleted file mode 100644
index 6d8c596..0000000
Binary files a/.hg/store/data/src/icons/32x32/_to_bottom.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/_to_top.png.i b/.hg/store/data/src/icons/32x32/_to_top.png.i
deleted file mode 100644
index bb9128b..0000000
Binary files a/.hg/store/data/src/icons/32x32/_to_top.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/_tool_tip.png.i b/.hg/store/data/src/icons/32x32/_tool_tip.png.i
deleted file mode 100644
index 6abb860..0000000
Binary files a/.hg/store/data/src/icons/32x32/_tool_tip.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/_track.png.i b/.hg/store/data/src/icons/32x32/_track.png.i
deleted file mode 100644
index d94b8f5..0000000
Binary files a/.hg/store/data/src/icons/32x32/_track.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/_trk_cut.png.i b/.hg/store/data/src/icons/32x32/_trk_cut.png.i
deleted file mode 100644
index 0d7e031..0000000
Binary files a/.hg/store/data/src/icons/32x32/_trk_cut.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/_trk_profile.png.i b/.hg/store/data/src/icons/32x32/_trk_profile.png.i
deleted file mode 100644
index 39cac60..0000000
Binary files a/.hg/store/data/src/icons/32x32/_trk_profile.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/_un_lock.png.i b/.hg/store/data/src/icons/32x32/_un_lock.png.i
deleted file mode 100644
index 15277c5..0000000
Binary files a/.hg/store/data/src/icons/32x32/_un_lock.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/_undo.png.i b/.hg/store/data/src/icons/32x32/_undo.png.i
deleted file mode 100644
index f4cb46c..0000000
Binary files a/.hg/store/data/src/icons/32x32/_undo.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/_unit_setup.png.i b/.hg/store/data/src/icons/32x32/_unit_setup.png.i
deleted file mode 100644
index 25bc34e..0000000
Binary files a/.hg/store/data/src/icons/32x32/_unit_setup.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/_up.png.i b/.hg/store/data/src/icons/32x32/_up.png.i
deleted file mode 100644
index c2640ff..0000000
Binary files a/.hg/store/data/src/icons/32x32/_up.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/_vrt_builder.png.i b/.hg/store/data/src/icons/32x32/_vrt_builder.png.i
deleted file mode 100644
index b0eefb2..0000000
Binary files a/.hg/store/data/src/icons/32x32/_vrt_builder.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/_wpt_move.png.i b/.hg/store/data/src/icons/32x32/_wpt_move.png.i
deleted file mode 100644
index 1af9de0..0000000
Binary files a/.hg/store/data/src/icons/32x32/_wpt_move.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/_wpt_proj.png.i b/.hg/store/data/src/icons/32x32/_wpt_proj.png.i
deleted file mode 100644
index 01d80fb..0000000
Binary files a/.hg/store/data/src/icons/32x32/_wpt_proj.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/_wpt_prox.png.i b/.hg/store/data/src/icons/32x32/_wpt_prox.png.i
deleted file mode 100644
index 2f4e828..0000000
Binary files a/.hg/store/data/src/icons/32x32/_wpt_prox.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/add.png.i b/.hg/store/data/src/icons/32x32/add.png.i
deleted file mode 100644
index 6654625..0000000
Binary files a/.hg/store/data/src/icons/32x32/add.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/add_canvas.png.i b/.hg/store/data/src/icons/32x32/add_canvas.png.i
deleted file mode 100644
index a16c9ce..0000000
Binary files a/.hg/store/data/src/icons/32x32/add_canvas.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/cancel.png.i b/.hg/store/data/src/icons/32x32/cancel.png.i
deleted file mode 100644
index f8c6166..0000000
Binary files a/.hg/store/data/src/icons/32x32/cancel.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/check.png.i b/.hg/store/data/src/icons/32x32/check.png.i
deleted file mode 100644
index 98d2c2e..0000000
Binary files a/.hg/store/data/src/icons/32x32/check.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/delete.png.i b/.hg/store/data/src/icons/32x32/delete.png.i
deleted file mode 100644
index 6ab057e..0000000
Binary files a/.hg/store/data/src/icons/32x32/delete.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/delete_all.png.i b/.hg/store/data/src/icons/32x32/delete_all.png.i
deleted file mode 100644
index 0100f3d..0000000
Binary files a/.hg/store/data/src/icons/32x32/delete_all.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/down.png.i b/.hg/store/data/src/icons/32x32/down.png.i
deleted file mode 100644
index f972e2f..0000000
Binary files a/.hg/store/data/src/icons/32x32/down.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/flip_direction.png.i b/.hg/store/data/src/icons/32x32/flip_direction.png.i
deleted file mode 100644
index 72415a6..0000000
Binary files a/.hg/store/data/src/icons/32x32/flip_direction.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/font.png.i b/.hg/store/data/src/icons/32x32/font.png.i
deleted file mode 100644
index 39f80a4..0000000
Binary files a/.hg/store/data/src/icons/32x32/font.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/from_map.png.i b/.hg/store/data/src/icons/32x32/from_map.png.i
deleted file mode 100644
index 6e1ae39..0000000
Binary files a/.hg/store/data/src/icons/32x32/from_map.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/grid.png.i b/.hg/store/data/src/icons/32x32/grid.png.i
deleted file mode 100644
index aaead73..0000000
Binary files a/.hg/store/data/src/icons/32x32/grid.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/grid_setup.png.i b/.hg/store/data/src/icons/32x32/grid_setup.png.i
deleted file mode 100644
index 9ae9779..0000000
Binary files a/.hg/store/data/src/icons/32x32/grid_setup.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/grid_wizard.png.i b/.hg/store/data/src/icons/32x32/grid_wizard.png.i
deleted file mode 100644
index a3321fe..0000000
Binary files a/.hg/store/data/src/icons/32x32/grid_wizard.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/icons.svg.save.i b/.hg/store/data/src/icons/32x32/icons.svg.save.i
deleted file mode 100644
index 8ffff8f..0000000
Binary files a/.hg/store/data/src/icons/32x32/icons.svg.save.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/jnx.png.i b/.hg/store/data/src/icons/32x32/jnx.png.i
deleted file mode 100644
index a974a4c..0000000
Binary files a/.hg/store/data/src/icons/32x32/jnx.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/map.png.i b/.hg/store/data/src/icons/32x32/map.png.i
deleted file mode 100644
index 14f49d4..0000000
Binary files a/.hg/store/data/src/icons/32x32/map.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/mime__img.png.i b/.hg/store/data/src/icons/32x32/mime__img.png.i
deleted file mode 100644
index a63ddb7..0000000
Binary files a/.hg/store/data/src/icons/32x32/mime__img.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/mime__jnx.png.i b/.hg/store/data/src/icons/32x32/mime__jnx.png.i
deleted file mode 100644
index 2fcf1a2..0000000
Binary files a/.hg/store/data/src/icons/32x32/mime__jnx.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/mime__map.png.i b/.hg/store/data/src/icons/32x32/mime__map.png.i
deleted file mode 100644
index 27de6fd..0000000
Binary files a/.hg/store/data/src/icons/32x32/mime__map.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/mime__rmap.png.i b/.hg/store/data/src/icons/32x32/mime__rmap.png.i
deleted file mode 100644
index d127cb2..0000000
Binary files a/.hg/store/data/src/icons/32x32/mime__rmap.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/mime__vrt.png.i b/.hg/store/data/src/icons/32x32/mime__vrt.png.i
deleted file mode 100644
index 90deb88..0000000
Binary files a/.hg/store/data/src/icons/32x32/mime__vrt.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/night_day.png.i b/.hg/store/data/src/icons/32x32/night_day.png.i
deleted file mode 100644
index 566f361..0000000
Binary files a/.hg/store/data/src/icons/32x32/night_day.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/path_map.png.i b/.hg/store/data/src/icons/32x32/path_map.png.i
deleted file mode 100644
index d5c8f90..0000000
Binary files a/.hg/store/data/src/icons/32x32/path_map.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/poi_text.png.i b/.hg/store/data/src/icons/32x32/poi_text.png.i
deleted file mode 100644
index 0eb2e61..0000000
Binary files a/.hg/store/data/src/icons/32x32/poi_text.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/reset.png.i b/.hg/store/data/src/icons/32x32/reset.png.i
deleted file mode 100644
index 3651d32..0000000
Binary files a/.hg/store/data/src/icons/32x32/reset.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/rmap.png.i b/.hg/store/data/src/icons/32x32/rmap.png.i
deleted file mode 100644
index 37b0513..0000000
Binary files a/.hg/store/data/src/icons/32x32/rmap.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/scale.png.i b/.hg/store/data/src/icons/32x32/scale.png.i
deleted file mode 100644
index a822571..0000000
Binary files a/.hg/store/data/src/icons/32x32/scale.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/select_color.png.i b/.hg/store/data/src/icons/32x32/select_color.png.i
deleted file mode 100644
index 7c183bf..0000000
Binary files a/.hg/store/data/src/icons/32x32/select_color.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/to-top.png.i b/.hg/store/data/src/icons/32x32/to-top.png.i
deleted file mode 100644
index 8bc3093..0000000
Binary files a/.hg/store/data/src/icons/32x32/to-top.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/to_bottom.png.i b/.hg/store/data/src/icons/32x32/to_bottom.png.i
deleted file mode 100644
index 62a3432..0000000
Binary files a/.hg/store/data/src/icons/32x32/to_bottom.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/tool_tip.png.i b/.hg/store/data/src/icons/32x32/tool_tip.png.i
deleted file mode 100644
index 5940f1c..0000000
Binary files a/.hg/store/data/src/icons/32x32/tool_tip.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/up.png.i b/.hg/store/data/src/icons/32x32/up.png.i
deleted file mode 100644
index 4e6dfe6..0000000
Binary files a/.hg/store/data/src/icons/32x32/up.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/view.png.i b/.hg/store/data/src/icons/32x32/view.png.i
deleted file mode 100644
index 9cb1098..0000000
Binary files a/.hg/store/data/src/icons/32x32/view.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/32x32/wizzard.png.i b/.hg/store/data/src/icons/32x32/wizzard.png.i
deleted file mode 100644
index f19695a..0000000
Binary files a/.hg/store/data/src/icons/32x32/wizzard.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/3_d_fix.svg.i b/.hg/store/data/src/icons/3_d_fix.svg.i
deleted file mode 100644
index e402c92..0000000
Binary files a/.hg/store/data/src/icons/3_d_fix.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/48x48/2_d_fix.png.i b/.hg/store/data/src/icons/48x48/2_d_fix.png.i
deleted file mode 100644
index 1aaa150..0000000
Binary files a/.hg/store/data/src/icons/48x48/2_d_fix.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/48x48/2_nav_project.png.i b/.hg/store/data/src/icons/48x48/2_nav_project.png.i
deleted file mode 100644
index 3dba96b..0000000
Binary files a/.hg/store/data/src/icons/48x48/2_nav_project.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/48x48/3_d_fix.png.i b/.hg/store/data/src/icons/48x48/3_d_fix.png.i
deleted file mode 100644
index a52aa9a..0000000
Binary files a/.hg/store/data/src/icons/48x48/3_d_fix.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/48x48/_add.png.i b/.hg/store/data/src/icons/48x48/_add.png.i
deleted file mode 100644
index 1019745..0000000
Binary files a/.hg/store/data/src/icons/48x48/_add.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/48x48/_add_area.png.i b/.hg/store/data/src/icons/48x48/_add_area.png.i
deleted file mode 100644
index d797dc5..0000000
Binary files a/.hg/store/data/src/icons/48x48/_add_area.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/48x48/_add_image.png.i b/.hg/store/data/src/icons/48x48/_add_image.png.i
deleted file mode 100644
index 54d778c..0000000
Binary files a/.hg/store/data/src/icons/48x48/_add_image.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/48x48/_add_map_workspace.png.i b/.hg/store/data/src/icons/48x48/_add_map_workspace.png.i
deleted file mode 100644
index ba0b7c9..0000000
Binary files a/.hg/store/data/src/icons/48x48/_add_map_workspace.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/48x48/_add_project.png.i b/.hg/store/data/src/icons/48x48/_add_project.png.i
deleted file mode 100644
index fa07fd9..0000000
Binary files a/.hg/store/data/src/icons/48x48/_add_project.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/48x48/_add_trk.png.i b/.hg/store/data/src/icons/48x48/_add_trk.png.i
deleted file mode 100644
index a09297b..0000000
Binary files a/.hg/store/data/src/icons/48x48/_add_trk.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/48x48/_add_wpt.png.i b/.hg/store/data/src/icons/48x48/_add_wpt.png.i
deleted file mode 100644
index 0fc1381..0000000
Binary files a/.hg/store/data/src/icons/48x48/_add_wpt.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/48x48/_apply.png.i b/.hg/store/data/src/icons/48x48/_apply.png.i
deleted file mode 100644
index 69ba0fd..0000000
Binary files a/.hg/store/data/src/icons/48x48/_apply.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/48x48/_area.png.i b/.hg/store/data/src/icons/48x48/_area.png.i
deleted file mode 100644
index 1968536..0000000
Binary files a/.hg/store/data/src/icons/48x48/_area.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/48x48/_area_move.png.i b/.hg/store/data/src/icons/48x48/_area_move.png.i
deleted file mode 100644
index 6be7c3f..0000000
Binary files a/.hg/store/data/src/icons/48x48/_area_move.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/48x48/_cancel.png.i b/.hg/store/data/src/icons/48x48/_cancel.png.i
deleted file mode 100644
index 81e0dea..0000000
Binary files a/.hg/store/data/src/icons/48x48/_cancel.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/48x48/_check.png.i b/.hg/store/data/src/icons/48x48/_check.png.i
deleted file mode 100644
index a04cc59..0000000
Binary files a/.hg/store/data/src/icons/48x48/_check.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/48x48/_close.png.i b/.hg/store/data/src/icons/48x48/_close.png.i
deleted file mode 100644
index eba43cf..0000000
Binary files a/.hg/store/data/src/icons/48x48/_close.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/48x48/_combine.png.i b/.hg/store/data/src/icons/48x48/_combine.png.i
deleted file mode 100644
index 9d2e886..0000000
Binary files a/.hg/store/data/src/icons/48x48/_combine.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/48x48/_copy.png.i b/.hg/store/data/src/icons/48x48/_copy.png.i
deleted file mode 100644
index 0f1e164..0000000
Binary files a/.hg/store/data/src/icons/48x48/_copy.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/48x48/_cut.png.i b/.hg/store/data/src/icons/48x48/_cut.png.i
deleted file mode 100644
index 2fb2373..0000000
Binary files a/.hg/store/data/src/icons/48x48/_cut.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/48x48/_cut_history.png.i b/.hg/store/data/src/icons/48x48/_cut_history.png.i
deleted file mode 100644
index f69f91c..0000000
Binary files a/.hg/store/data/src/icons/48x48/_cut_history.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/48x48/_d_b_project.png.i b/.hg/store/data/src/icons/48x48/_d_b_project.png.i
deleted file mode 100644
index 4f5940a..0000000
Binary files a/.hg/store/data/src/icons/48x48/_d_b_project.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/48x48/_database.png.i b/.hg/store/data/src/icons/48x48/_database.png.i
deleted file mode 100644
index c57abc2..0000000
Binary files a/.hg/store/data/src/icons/48x48/_database.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/48x48/_database_convert.png.i b/.hg/store/data/src/icons/48x48/_database_convert.png.i
deleted file mode 100644
index 6822501..0000000
Binary files a/.hg/store/data/src/icons/48x48/_database_convert.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/48x48/_database_setup.png.i b/.hg/store/data/src/icons/48x48/_database_setup.png.i
deleted file mode 100644
index 4cc1589..0000000
Binary files a/.hg/store/data/src/icons/48x48/_database_setup.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/48x48/_del_image.png.i b/.hg/store/data/src/icons/48x48/_del_image.png.i
deleted file mode 100644
index 91a568b..0000000
Binary files a/.hg/store/data/src/icons/48x48/_del_image.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/48x48/_delete_multiple.png.i b/.hg/store/data/src/icons/48x48/_delete_multiple.png.i
deleted file mode 100644
index 0468fdf..0000000
Binary files a/.hg/store/data/src/icons/48x48/_delete_multiple.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/48x48/_delete_one.png.i b/.hg/store/data/src/icons/48x48/_delete_one.png.i
deleted file mode 100644
index 81a6fdc..0000000
Binary files a/.hg/store/data/src/icons/48x48/_delete_one.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/48x48/_device.png.i b/.hg/store/data/src/icons/48x48/_device.png.i
deleted file mode 100644
index 6803a94..0000000
Binary files a/.hg/store/data/src/icons/48x48/_device.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/48x48/_down.png.i b/.hg/store/data/src/icons/48x48/_down.png.i
deleted file mode 100644
index 0b76f81..0000000
Binary files a/.hg/store/data/src/icons/48x48/_down.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/48x48/_edit_details.png.i b/.hg/store/data/src/icons/48x48/_edit_details.png.i
deleted file mode 100644
index f59d0d6..0000000
Binary files a/.hg/store/data/src/icons/48x48/_edit_details.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/48x48/_edit_text.png.i b/.hg/store/data/src/icons/48x48/_edit_text.png.i
deleted file mode 100644
index 72f7758..0000000
Binary files a/.hg/store/data/src/icons/48x48/_edit_text.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/48x48/_empty.png.i b/.hg/store/data/src/icons/48x48/_empty.png.i
deleted file mode 100644
index ea46a6f..0000000
Binary files a/.hg/store/data/src/icons/48x48/_empty.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/48x48/_error.png.i b/.hg/store/data/src/icons/48x48/_error.png.i
deleted file mode 100644
index ec9dfea..0000000
Binary files a/.hg/store/data/src/icons/48x48/_error.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/48x48/_folder_d_e_m.png.i b/.hg/store/data/src/icons/48x48/_folder_d_e_m.png.i
deleted file mode 100644
index 365ef66..0000000
Binary files a/.hg/store/data/src/icons/48x48/_folder_d_e_m.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/48x48/_folder_map.png.i b/.hg/store/data/src/icons/48x48/_folder_map.png.i
deleted file mode 100644
index e9a7729..0000000
Binary files a/.hg/store/data/src/icons/48x48/_folder_map.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/48x48/_font.png.i b/.hg/store/data/src/icons/48x48/_font.png.i
deleted file mode 100644
index 4f22d03..0000000
Binary files a/.hg/store/data/src/icons/48x48/_font.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/48x48/_from_map.png.i b/.hg/store/data/src/icons/48x48/_from_map.png.i
deleted file mode 100644
index 7b5693c..0000000
Binary files a/.hg/store/data/src/icons/48x48/_from_map.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/48x48/_gis_project.png.i b/.hg/store/data/src/icons/48x48/_gis_project.png.i
deleted file mode 100644
index 00edd21..0000000
Binary files a/.hg/store/data/src/icons/48x48/_gis_project.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/48x48/_gpx_project.png.i b/.hg/store/data/src/icons/48x48/_gpx_project.png.i
deleted file mode 100644
index d056372..0000000
Binary files a/.hg/store/data/src/icons/48x48/_gpx_project.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/48x48/_grid.png.i b/.hg/store/data/src/icons/48x48/_grid.png.i
deleted file mode 100644
index 31db5e9..0000000
Binary files a/.hg/store/data/src/icons/48x48/_grid.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/48x48/_grid_setup.png.i b/.hg/store/data/src/icons/48x48/_grid_setup.png.i
deleted file mode 100644
index 488cf25..0000000
Binary files a/.hg/store/data/src/icons/48x48/_grid_setup.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/48x48/_grid_wizzard.png.i b/.hg/store/data/src/icons/48x48/_grid_wizzard.png.i
deleted file mode 100644
index b0a866b..0000000
Binary files a/.hg/store/data/src/icons/48x48/_grid_wizzard.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/48x48/_help.png.i b/.hg/store/data/src/icons/48x48/_help.png.i
deleted file mode 100644
index 474b50a..0000000
Binary files a/.hg/store/data/src/icons/48x48/_help.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/48x48/_image.png.i b/.hg/store/data/src/icons/48x48/_image.png.i
deleted file mode 100644
index bdc0145..0000000
Binary files a/.hg/store/data/src/icons/48x48/_image.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/48x48/_info.png.i b/.hg/store/data/src/icons/48x48/_info.png.i
deleted file mode 100644
index 6609ed4..0000000
Binary files a/.hg/store/data/src/icons/48x48/_info.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/48x48/_left.png.i b/.hg/store/data/src/icons/48x48/_left.png.i
deleted file mode 100644
index 84ac1a8..0000000
Binary files a/.hg/store/data/src/icons/48x48/_left.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/48x48/_line_move.png.i b/.hg/store/data/src/icons/48x48/_line_move.png.i
deleted file mode 100644
index 17f1ff7..0000000
Binary files a/.hg/store/data/src/icons/48x48/_line_move.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/48x48/_link.png.i b/.hg/store/data/src/icons/48x48/_link.png.i
deleted file mode 100644
index cc4b455..0000000
Binary files a/.hg/store/data/src/icons/48x48/_link.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/48x48/_load_g_i_s.png.i b/.hg/store/data/src/icons/48x48/_load_g_i_s.png.i
deleted file mode 100644
index 24e7a07..0000000
Binary files a/.hg/store/data/src/icons/48x48/_load_g_i_s.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/48x48/_load_view.png.i b/.hg/store/data/src/icons/48x48/_load_view.png.i
deleted file mode 100644
index c4f808c..0000000
Binary files a/.hg/store/data/src/icons/48x48/_load_view.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/48x48/_lock.png.i b/.hg/store/data/src/icons/48x48/_lock.png.i
deleted file mode 100644
index 4d627b2..0000000
Binary files a/.hg/store/data/src/icons/48x48/_lock.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/48x48/_map.png.i b/.hg/store/data/src/icons/48x48/_map.png.i
deleted file mode 100644
index 58d8361..0000000
Binary files a/.hg/store/data/src/icons/48x48/_map.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/48x48/_map_room.png.i b/.hg/store/data/src/icons/48x48/_map_room.png.i
deleted file mode 100644
index eb61ee9..0000000
Binary files a/.hg/store/data/src/icons/48x48/_map_room.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/48x48/_mime_dem_v_r_t.png.i b/.hg/store/data/src/icons/48x48/_mime_dem_v_r_t.png.i
deleted file mode 100644
index 18bf796..0000000
Binary files a/.hg/store/data/src/icons/48x48/_mime_dem_v_r_t.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/48x48/_mime_i_m_g.png.i b/.hg/store/data/src/icons/48x48/_mime_i_m_g.png.i
deleted file mode 100644
index 769e2e1..0000000
Binary files a/.hg/store/data/src/icons/48x48/_mime_i_m_g.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/48x48/_mime_j_n_x.png.i b/.hg/store/data/src/icons/48x48/_mime_j_n_x.png.i
deleted file mode 100644
index 3790e26..0000000
Binary files a/.hg/store/data/src/icons/48x48/_mime_j_n_x.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/48x48/_mime_m_a_p.png.i b/.hg/store/data/src/icons/48x48/_mime_m_a_p.png.i
deleted file mode 100644
index fe54184..0000000
Binary files a/.hg/store/data/src/icons/48x48/_mime_m_a_p.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/48x48/_mime_r_m_a_p.png.i b/.hg/store/data/src/icons/48x48/_mime_r_m_a_p.png.i
deleted file mode 100644
index c3fea14..0000000
Binary files a/.hg/store/data/src/icons/48x48/_mime_r_m_a_p.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/48x48/_mime_t_m_s.png.i b/.hg/store/data/src/icons/48x48/_mime_t_m_s.png.i
deleted file mode 100644
index ddbe529..0000000
Binary files a/.hg/store/data/src/icons/48x48/_mime_t_m_s.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/48x48/_mime_v_r_t.png.i b/.hg/store/data/src/icons/48x48/_mime_v_r_t.png.i
deleted file mode 100644
index 249c6d6..0000000
Binary files a/.hg/store/data/src/icons/48x48/_mime_v_r_t.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/48x48/_mime_w_m_t_s.png.i b/.hg/store/data/src/icons/48x48/_mime_w_m_t_s.png.i
deleted file mode 100644
index da3272c..0000000
Binary files a/.hg/store/data/src/icons/48x48/_mime_w_m_t_s.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/48x48/_mouse_wheel.png.i b/.hg/store/data/src/icons/48x48/_mouse_wheel.png.i
deleted file mode 100644
index 8456a27..0000000
Binary files a/.hg/store/data/src/icons/48x48/_mouse_wheel.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/48x48/_move.png.i b/.hg/store/data/src/icons/48x48/_move.png.i
deleted file mode 100644
index 81fb16b..0000000
Binary files a/.hg/store/data/src/icons/48x48/_move.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/48x48/_night_day.png.i b/.hg/store/data/src/icons/48x48/_night_day.png.i
deleted file mode 100644
index 6e524ba..0000000
Binary files a/.hg/store/data/src/icons/48x48/_night_day.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/48x48/_no_fix.png.i b/.hg/store/data/src/icons/48x48/_no_fix.png.i
deleted file mode 100644
index bc7d0d4..0000000
Binary files a/.hg/store/data/src/icons/48x48/_no_fix.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/48x48/_off.png.i b/.hg/store/data/src/icons/48x48/_off.png.i
deleted file mode 100644
index 5c3e35b..0000000
Binary files a/.hg/store/data/src/icons/48x48/_off.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/48x48/_opacity.png.i b/.hg/store/data/src/icons/48x48/_opacity.png.i
deleted file mode 100644
index 0e84a43..0000000
Binary files a/.hg/store/data/src/icons/48x48/_opacity.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/48x48/_p_o_i_text.png.i b/.hg/store/data/src/icons/48x48/_p_o_i_text.png.i
deleted file mode 100644
index e467c55..0000000
Binary files a/.hg/store/data/src/icons/48x48/_p_o_i_text.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/48x48/_paste.png.i b/.hg/store/data/src/icons/48x48/_paste.png.i
deleted file mode 100644
index 7185a42..0000000
Binary files a/.hg/store/data/src/icons/48x48/_paste.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/48x48/_path.png.i b/.hg/store/data/src/icons/48x48/_path.png.i
deleted file mode 100644
index 0b03edb..0000000
Binary files a/.hg/store/data/src/icons/48x48/_path.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/48x48/_path_blue.png.i b/.hg/store/data/src/icons/48x48/_path_blue.png.i
deleted file mode 100644
index a26024d..0000000
Binary files a/.hg/store/data/src/icons/48x48/_path_blue.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/48x48/_path_green.png.i b/.hg/store/data/src/icons/48x48/_path_green.png.i
deleted file mode 100644
index fea2826..0000000
Binary files a/.hg/store/data/src/icons/48x48/_path_green.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/48x48/_path_orange.png.i b/.hg/store/data/src/icons/48x48/_path_orange.png.i
deleted file mode 100644
index 6479e04..0000000
Binary files a/.hg/store/data/src/icons/48x48/_path_orange.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/48x48/_pattern.png.i b/.hg/store/data/src/icons/48x48/_pattern.png.i
deleted file mode 100644
index 00ca083..0000000
Binary files a/.hg/store/data/src/icons/48x48/_pattern.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/48x48/_point_hide.png.i b/.hg/store/data/src/icons/48x48/_point_hide.png.i
deleted file mode 100644
index 8bd859c..0000000
Binary files a/.hg/store/data/src/icons/48x48/_point_hide.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/48x48/_point_move.png.i b/.hg/store/data/src/icons/48x48/_point_move.png.i
deleted file mode 100644
index cc8bef0..0000000
Binary files a/.hg/store/data/src/icons/48x48/_point_move.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/48x48/_point_show.png.i b/.hg/store/data/src/icons/48x48/_point_show.png.i
deleted file mode 100644
index b1258d1..0000000
Binary files a/.hg/store/data/src/icons/48x48/_point_show.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/48x48/_print.png.i b/.hg/store/data/src/icons/48x48/_print.png.i
deleted file mode 100644
index 5e25572..0000000
Binary files a/.hg/store/data/src/icons/48x48/_print.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/48x48/_q_map_shack.png.i b/.hg/store/data/src/icons/48x48/_q_map_shack.png.i
deleted file mode 100644
index e4615d2..0000000
Binary files a/.hg/store/data/src/icons/48x48/_q_map_shack.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/48x48/_qms_project.png.i b/.hg/store/data/src/icons/48x48/_qms_project.png.i
deleted file mode 100644
index 0e92510..0000000
Binary files a/.hg/store/data/src/icons/48x48/_qms_project.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/48x48/_redo.png.i b/.hg/store/data/src/icons/48x48/_redo.png.i
deleted file mode 100644
index 93e4b67..0000000
Binary files a/.hg/store/data/src/icons/48x48/_redo.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/48x48/_reload_image.png.i b/.hg/store/data/src/icons/48x48/_reload_image.png.i
deleted file mode 100644
index b78615c..0000000
Binary files a/.hg/store/data/src/icons/48x48/_reload_image.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/48x48/_reset.png.i b/.hg/store/data/src/icons/48x48/_reset.png.i
deleted file mode 100644
index f304739..0000000
Binary files a/.hg/store/data/src/icons/48x48/_reset.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/48x48/_reverse.png.i b/.hg/store/data/src/icons/48x48/_reverse.png.i
deleted file mode 100644
index 7e0d7bd..0000000
Binary files a/.hg/store/data/src/icons/48x48/_reverse.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/48x48/_right.png.i b/.hg/store/data/src/icons/48x48/_right.png.i
deleted file mode 100644
index 28f67a5..0000000
Binary files a/.hg/store/data/src/icons/48x48/_right.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/48x48/_route.png.i b/.hg/store/data/src/icons/48x48/_route.png.i
deleted file mode 100644
index 2df6721..0000000
Binary files a/.hg/store/data/src/icons/48x48/_route.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/48x48/_save_all_g_i_s.png.i b/.hg/store/data/src/icons/48x48/_save_all_g_i_s.png.i
deleted file mode 100644
index f1262fc..0000000
Binary files a/.hg/store/data/src/icons/48x48/_save_all_g_i_s.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/48x48/_save_g_i_s.png.i b/.hg/store/data/src/icons/48x48/_save_g_i_s.png.i
deleted file mode 100644
index ee9b4c1..0000000
Binary files a/.hg/store/data/src/icons/48x48/_save_g_i_s.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/48x48/_save_g_i_s_as.png.i b/.hg/store/data/src/icons/48x48/_save_g_i_s_as.png.i
deleted file mode 100644
index e6bf6d1..0000000
Binary files a/.hg/store/data/src/icons/48x48/_save_g_i_s_as.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/48x48/_save_view.png.i b/.hg/store/data/src/icons/48x48/_save_view.png.i
deleted file mode 100644
index abb5149..0000000
Binary files a/.hg/store/data/src/icons/48x48/_save_view.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/48x48/_scale.png.i b/.hg/store/data/src/icons/48x48/_scale.png.i
deleted file mode 100644
index dd5f748..0000000
Binary files a/.hg/store/data/src/icons/48x48/_scale.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/48x48/_search_google.png.i b/.hg/store/data/src/icons/48x48/_search_google.png.i
deleted file mode 100644
index 297259e..0000000
Binary files a/.hg/store/data/src/icons/48x48/_search_google.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/48x48/_select_color.png.i b/.hg/store/data/src/icons/48x48/_select_color.png.i
deleted file mode 100644
index e2eef43..0000000
Binary files a/.hg/store/data/src/icons/48x48/_select_color.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/48x48/_select_range.png.i b/.hg/store/data/src/icons/48x48/_select_range.png.i
deleted file mode 100644
index 6b8a24e..0000000
Binary files a/.hg/store/data/src/icons/48x48/_select_range.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/48x48/_set_ele.png.i b/.hg/store/data/src/icons/48x48/_set_ele.png.i
deleted file mode 100644
index 95831b1..0000000
Binary files a/.hg/store/data/src/icons/48x48/_set_ele.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/48x48/_setup_map_workspace.png.i b/.hg/store/data/src/icons/48x48/_setup_map_workspace.png.i
deleted file mode 100644
index 0f09931..0000000
Binary files a/.hg/store/data/src/icons/48x48/_setup_map_workspace.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/48x48/_start.png.i b/.hg/store/data/src/icons/48x48/_start.png.i
deleted file mode 100644
index bd6a804..0000000
Binary files a/.hg/store/data/src/icons/48x48/_start.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/48x48/_tainted.png.i b/.hg/store/data/src/icons/48x48/_tainted.png.i
deleted file mode 100644
index a9eb89f..0000000
Binary files a/.hg/store/data/src/icons/48x48/_tainted.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/48x48/_text_bold.png.i b/.hg/store/data/src/icons/48x48/_text_bold.png.i
deleted file mode 100644
index fb65b27..0000000
Binary files a/.hg/store/data/src/icons/48x48/_text_bold.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/48x48/_text_center.png.i b/.hg/store/data/src/icons/48x48/_text_center.png.i
deleted file mode 100644
index ffd619e..0000000
Binary files a/.hg/store/data/src/icons/48x48/_text_center.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/48x48/_text_italic.png.i b/.hg/store/data/src/icons/48x48/_text_italic.png.i
deleted file mode 100644
index 01f361e..0000000
Binary files a/.hg/store/data/src/icons/48x48/_text_italic.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/48x48/_text_justified.png.i b/.hg/store/data/src/icons/48x48/_text_justified.png.i
deleted file mode 100644
index c706fac..0000000
Binary files a/.hg/store/data/src/icons/48x48/_text_justified.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/48x48/_text_left.png.i b/.hg/store/data/src/icons/48x48/_text_left.png.i
deleted file mode 100644
index dee36e6..0000000
Binary files a/.hg/store/data/src/icons/48x48/_text_left.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/48x48/_text_right.png.i b/.hg/store/data/src/icons/48x48/_text_right.png.i
deleted file mode 100644
index 889b916..0000000
Binary files a/.hg/store/data/src/icons/48x48/_text_right.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/48x48/_text_underlined.png.i b/.hg/store/data/src/icons/48x48/_text_underlined.png.i
deleted file mode 100644
index 0eaaa92..0000000
Binary files a/.hg/store/data/src/icons/48x48/_text_underlined.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/48x48/_time.png.i b/.hg/store/data/src/icons/48x48/_time.png.i
deleted file mode 100644
index da934a4..0000000
Binary files a/.hg/store/data/src/icons/48x48/_time.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/48x48/_time_zone_setup.png.i b/.hg/store/data/src/icons/48x48/_time_zone_setup.png.i
deleted file mode 100644
index 0888a0b..0000000
Binary files a/.hg/store/data/src/icons/48x48/_time_zone_setup.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/48x48/_to_bottom.png.i b/.hg/store/data/src/icons/48x48/_to_bottom.png.i
deleted file mode 100644
index b4ef333..0000000
Binary files a/.hg/store/data/src/icons/48x48/_to_bottom.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/48x48/_to_top.png.i b/.hg/store/data/src/icons/48x48/_to_top.png.i
deleted file mode 100644
index c243bd2..0000000
Binary files a/.hg/store/data/src/icons/48x48/_to_top.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/48x48/_tool_tip.png.i b/.hg/store/data/src/icons/48x48/_tool_tip.png.i
deleted file mode 100644
index 1f2da31..0000000
Binary files a/.hg/store/data/src/icons/48x48/_tool_tip.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/48x48/_track.png.i b/.hg/store/data/src/icons/48x48/_track.png.i
deleted file mode 100644
index d484dce..0000000
Binary files a/.hg/store/data/src/icons/48x48/_track.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/48x48/_trk_cut.png.i b/.hg/store/data/src/icons/48x48/_trk_cut.png.i
deleted file mode 100644
index ff56501..0000000
Binary files a/.hg/store/data/src/icons/48x48/_trk_cut.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/48x48/_trk_profile.png.i b/.hg/store/data/src/icons/48x48/_trk_profile.png.i
deleted file mode 100644
index 81e61fa..0000000
Binary files a/.hg/store/data/src/icons/48x48/_trk_profile.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/48x48/_un_lock.png.i b/.hg/store/data/src/icons/48x48/_un_lock.png.i
deleted file mode 100644
index 7380e42..0000000
Binary files a/.hg/store/data/src/icons/48x48/_un_lock.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/48x48/_undo.png.i b/.hg/store/data/src/icons/48x48/_undo.png.i
deleted file mode 100644
index 8b46c20..0000000
Binary files a/.hg/store/data/src/icons/48x48/_undo.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/48x48/_unit_setup.png.i b/.hg/store/data/src/icons/48x48/_unit_setup.png.i
deleted file mode 100644
index eec50f3..0000000
Binary files a/.hg/store/data/src/icons/48x48/_unit_setup.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/48x48/_up.png.i b/.hg/store/data/src/icons/48x48/_up.png.i
deleted file mode 100644
index 6cb0092..0000000
Binary files a/.hg/store/data/src/icons/48x48/_up.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/48x48/_vrt_builder.png.i b/.hg/store/data/src/icons/48x48/_vrt_builder.png.i
deleted file mode 100644
index b95a613..0000000
Binary files a/.hg/store/data/src/icons/48x48/_vrt_builder.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/48x48/_wpt_move.png.i b/.hg/store/data/src/icons/48x48/_wpt_move.png.i
deleted file mode 100644
index 6a91329..0000000
Binary files a/.hg/store/data/src/icons/48x48/_wpt_move.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/48x48/_wpt_proj.png.i b/.hg/store/data/src/icons/48x48/_wpt_proj.png.i
deleted file mode 100644
index f1c7e0a..0000000
Binary files a/.hg/store/data/src/icons/48x48/_wpt_proj.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/48x48/_wpt_prox.png.i b/.hg/store/data/src/icons/48x48/_wpt_prox.png.i
deleted file mode 100644
index 4ff9ea2..0000000
Binary files a/.hg/store/data/src/icons/48x48/_wpt_prox.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/48x48/grid_setup.png.i b/.hg/store/data/src/icons/48x48/grid_setup.png.i
deleted file mode 100644
index 8bee50b..0000000
Binary files a/.hg/store/data/src/icons/48x48/grid_setup.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/48x48/grid_wizard.png.i b/.hg/store/data/src/icons/48x48/grid_wizard.png.i
deleted file mode 100644
index a312b46..0000000
Binary files a/.hg/store/data/src/icons/48x48/grid_wizard.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/48x48/help.png.i b/.hg/store/data/src/icons/48x48/help.png.i
deleted file mode 100644
index 8c22a4c..0000000
Binary files a/.hg/store/data/src/icons/48x48/help.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/48x48/path_map.png.i b/.hg/store/data/src/icons/48x48/path_map.png.i
deleted file mode 100644
index 7e3a81c..0000000
Binary files a/.hg/store/data/src/icons/48x48/path_map.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/8x8/bullet__black.png.i b/.hg/store/data/src/icons/8x8/bullet__black.png.i
deleted file mode 100644
index fa81bd1..0000000
Binary files a/.hg/store/data/src/icons/8x8/bullet__black.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/8x8/bullet__blue.png.i b/.hg/store/data/src/icons/8x8/bullet__blue.png.i
deleted file mode 100644
index b4ad0ba..0000000
Binary files a/.hg/store/data/src/icons/8x8/bullet__blue.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/8x8/bullet__brown.png.i b/.hg/store/data/src/icons/8x8/bullet__brown.png.i
deleted file mode 100644
index 2ea5cb0..0000000
Binary files a/.hg/store/data/src/icons/8x8/bullet__brown.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/8x8/bullet__cyan.png.i b/.hg/store/data/src/icons/8x8/bullet__cyan.png.i
deleted file mode 100644
index abc6513..0000000
Binary files a/.hg/store/data/src/icons/8x8/bullet__cyan.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/8x8/bullet__dark__blue.png.i b/.hg/store/data/src/icons/8x8/bullet__dark__blue.png.i
deleted file mode 100644
index 8588eef..0000000
Binary files a/.hg/store/data/src/icons/8x8/bullet__dark__blue.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/8x8/bullet__dark__cyan.png.i b/.hg/store/data/src/icons/8x8/bullet__dark__cyan.png.i
deleted file mode 100644
index e5da608..0000000
Binary files a/.hg/store/data/src/icons/8x8/bullet__dark__cyan.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/8x8/bullet__dark__gray.png.i b/.hg/store/data/src/icons/8x8/bullet__dark__gray.png.i
deleted file mode 100644
index 38848d6..0000000
Binary files a/.hg/store/data/src/icons/8x8/bullet__dark__gray.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/8x8/bullet__dark__green.png.i b/.hg/store/data/src/icons/8x8/bullet__dark__green.png.i
deleted file mode 100644
index bb85153..0000000
Binary files a/.hg/store/data/src/icons/8x8/bullet__dark__green.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/8x8/bullet__dark__magenta.png.i b/.hg/store/data/src/icons/8x8/bullet__dark__magenta.png.i
deleted file mode 100644
index 98f276d..0000000
Binary files a/.hg/store/data/src/icons/8x8/bullet__dark__magenta.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/8x8/bullet__dark__red.png.i b/.hg/store/data/src/icons/8x8/bullet__dark__red.png.i
deleted file mode 100644
index 2ea5cb0..0000000
Binary files a/.hg/store/data/src/icons/8x8/bullet__dark__red.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/8x8/bullet__dark__yellow.png.i b/.hg/store/data/src/icons/8x8/bullet__dark__yellow.png.i
deleted file mode 100644
index 6435eec..0000000
Binary files a/.hg/store/data/src/icons/8x8/bullet__dark__yellow.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/8x8/bullet__gray.png.i b/.hg/store/data/src/icons/8x8/bullet__gray.png.i
deleted file mode 100644
index 6724ced..0000000
Binary files a/.hg/store/data/src/icons/8x8/bullet__gray.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/8x8/bullet__green.png.i b/.hg/store/data/src/icons/8x8/bullet__green.png.i
deleted file mode 100644
index 5ae5e78..0000000
Binary files a/.hg/store/data/src/icons/8x8/bullet__green.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/8x8/bullet__magenta.png.i b/.hg/store/data/src/icons/8x8/bullet__magenta.png.i
deleted file mode 100644
index b42ec5d..0000000
Binary files a/.hg/store/data/src/icons/8x8/bullet__magenta.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/8x8/bullet__orange.png.i b/.hg/store/data/src/icons/8x8/bullet__orange.png.i
deleted file mode 100644
index 188e6a7..0000000
Binary files a/.hg/store/data/src/icons/8x8/bullet__orange.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/8x8/bullet__red.png.i b/.hg/store/data/src/icons/8x8/bullet__red.png.i
deleted file mode 100644
index fac968b..0000000
Binary files a/.hg/store/data/src/icons/8x8/bullet__red.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/8x8/bullet__white.png.i b/.hg/store/data/src/icons/8x8/bullet__white.png.i
deleted file mode 100644
index ac69bc8..0000000
Binary files a/.hg/store/data/src/icons/8x8/bullet__white.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/8x8/bullet__yellow.png.i b/.hg/store/data/src/icons/8x8/bullet__yellow.png.i
deleted file mode 100644
index e9d41fd..0000000
Binary files a/.hg/store/data/src/icons/8x8/bullet__yellow.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/_add.svg.i b/.hg/store/data/src/icons/_add.svg.i
deleted file mode 100644
index d33237b..0000000
Binary files a/.hg/store/data/src/icons/_add.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/_add_area.svg.d b/.hg/store/data/src/icons/_add_area.svg.d
deleted file mode 100644
index 9b78705..0000000
Binary files a/.hg/store/data/src/icons/_add_area.svg.d and /dev/null differ
diff --git a/.hg/store/data/src/icons/_add_area.svg.i b/.hg/store/data/src/icons/_add_area.svg.i
deleted file mode 100644
index 3f0e799..0000000
Binary files a/.hg/store/data/src/icons/_add_area.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/_add_image.svg.i b/.hg/store/data/src/icons/_add_image.svg.i
deleted file mode 100644
index 138621c..0000000
Binary files a/.hg/store/data/src/icons/_add_image.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/_add_map_workspace.svg.i b/.hg/store/data/src/icons/_add_map_workspace.svg.i
deleted file mode 100644
index a5617c2..0000000
Binary files a/.hg/store/data/src/icons/_add_map_workspace.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/_add_project.svg.i b/.hg/store/data/src/icons/_add_project.svg.i
deleted file mode 100644
index 299d5af..0000000
Binary files a/.hg/store/data/src/icons/_add_project.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/_add_trk.svg.i b/.hg/store/data/src/icons/_add_trk.svg.i
deleted file mode 100644
index ac55bdd..0000000
Binary files a/.hg/store/data/src/icons/_add_trk.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/_add_wpt.svg.i b/.hg/store/data/src/icons/_add_wpt.svg.i
deleted file mode 100644
index 13f144c..0000000
Binary files a/.hg/store/data/src/icons/_add_wpt.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/_apply.svg.i b/.hg/store/data/src/icons/_apply.svg.i
deleted file mode 100644
index 9fac297..0000000
Binary files a/.hg/store/data/src/icons/_apply.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/_area.svg.d b/.hg/store/data/src/icons/_area.svg.d
deleted file mode 100644
index 89a5a63..0000000
Binary files a/.hg/store/data/src/icons/_area.svg.d and /dev/null differ
diff --git a/.hg/store/data/src/icons/_area.svg.i b/.hg/store/data/src/icons/_area.svg.i
deleted file mode 100644
index fe3e540..0000000
Binary files a/.hg/store/data/src/icons/_area.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/_area_move.svg.i b/.hg/store/data/src/icons/_area_move.svg.i
deleted file mode 100644
index 8b8c235..0000000
Binary files a/.hg/store/data/src/icons/_area_move.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/_cancel.svg.i b/.hg/store/data/src/icons/_cancel.svg.i
deleted file mode 100644
index 87408a9..0000000
Binary files a/.hg/store/data/src/icons/_cancel.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/_check.svg.i b/.hg/store/data/src/icons/_check.svg.i
deleted file mode 100644
index 9381679..0000000
Binary files a/.hg/store/data/src/icons/_check.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/_close.svg.i b/.hg/store/data/src/icons/_close.svg.i
deleted file mode 100644
index 099b551..0000000
Binary files a/.hg/store/data/src/icons/_close.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/_combine.svg.i b/.hg/store/data/src/icons/_combine.svg.i
deleted file mode 100644
index b4be0a7..0000000
Binary files a/.hg/store/data/src/icons/_combine.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/_copy.svg.i b/.hg/store/data/src/icons/_copy.svg.i
deleted file mode 100644
index bf4f02c..0000000
Binary files a/.hg/store/data/src/icons/_copy.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/_cut.svg.i b/.hg/store/data/src/icons/_cut.svg.i
deleted file mode 100644
index d3b4833..0000000
Binary files a/.hg/store/data/src/icons/_cut.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/_cut_history.svg.i b/.hg/store/data/src/icons/_cut_history.svg.i
deleted file mode 100644
index 9278927..0000000
Binary files a/.hg/store/data/src/icons/_cut_history.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/_d_b_project.svg.i b/.hg/store/data/src/icons/_d_b_project.svg.i
deleted file mode 100644
index a424738..0000000
Binary files a/.hg/store/data/src/icons/_d_b_project.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/_database.svg.i b/.hg/store/data/src/icons/_database.svg.i
deleted file mode 100644
index da3c2d7..0000000
Binary files a/.hg/store/data/src/icons/_database.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/_database_convert.svg.i b/.hg/store/data/src/icons/_database_convert.svg.i
deleted file mode 100644
index 68272a4..0000000
Binary files a/.hg/store/data/src/icons/_database_convert.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/_database_setup.svg.i b/.hg/store/data/src/icons/_database_setup.svg.i
deleted file mode 100644
index d50fbdc..0000000
Binary files a/.hg/store/data/src/icons/_database_setup.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/_del_image.svg.i b/.hg/store/data/src/icons/_del_image.svg.i
deleted file mode 100644
index 11c79bd..0000000
Binary files a/.hg/store/data/src/icons/_del_image.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/_delete_multiple.svg.i b/.hg/store/data/src/icons/_delete_multiple.svg.i
deleted file mode 100644
index 04cd183..0000000
Binary files a/.hg/store/data/src/icons/_delete_multiple.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/_delete_one.svg.i b/.hg/store/data/src/icons/_delete_one.svg.i
deleted file mode 100644
index 0bef6b4..0000000
Binary files a/.hg/store/data/src/icons/_delete_one.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/_device.svg.i b/.hg/store/data/src/icons/_device.svg.i
deleted file mode 100644
index 26f0c4c..0000000
Binary files a/.hg/store/data/src/icons/_device.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/_down.svg.i b/.hg/store/data/src/icons/_down.svg.i
deleted file mode 100644
index 986594d..0000000
Binary files a/.hg/store/data/src/icons/_down.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/_edit_details.svg.i b/.hg/store/data/src/icons/_edit_details.svg.i
deleted file mode 100644
index 7cfa628..0000000
Binary files a/.hg/store/data/src/icons/_edit_details.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/_edit_text.svg.i b/.hg/store/data/src/icons/_edit_text.svg.i
deleted file mode 100644
index 6233e75..0000000
Binary files a/.hg/store/data/src/icons/_edit_text.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/_empty.svg.i b/.hg/store/data/src/icons/_empty.svg.i
deleted file mode 100644
index 21d19ff..0000000
Binary files a/.hg/store/data/src/icons/_empty.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/_error.svg.i b/.hg/store/data/src/icons/_error.svg.i
deleted file mode 100644
index 9ff45d6..0000000
Binary files a/.hg/store/data/src/icons/_error.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/_folder_d_e_m.svg.i b/.hg/store/data/src/icons/_folder_d_e_m.svg.i
deleted file mode 100644
index ab4cd9b..0000000
Binary files a/.hg/store/data/src/icons/_folder_d_e_m.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/_folder_map.svg.i b/.hg/store/data/src/icons/_folder_map.svg.i
deleted file mode 100644
index 01703a5..0000000
Binary files a/.hg/store/data/src/icons/_folder_map.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/_font.svg.i b/.hg/store/data/src/icons/_font.svg.i
deleted file mode 100644
index a111837..0000000
Binary files a/.hg/store/data/src/icons/_font.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/_from_map.svg.i b/.hg/store/data/src/icons/_from_map.svg.i
deleted file mode 100644
index 791497d..0000000
Binary files a/.hg/store/data/src/icons/_from_map.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/_gis_project.svg.i b/.hg/store/data/src/icons/_gis_project.svg.i
deleted file mode 100644
index 4d60f44..0000000
Binary files a/.hg/store/data/src/icons/_gis_project.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/_gpx_project.svg.i b/.hg/store/data/src/icons/_gpx_project.svg.i
deleted file mode 100644
index 94b1f7d..0000000
Binary files a/.hg/store/data/src/icons/_gpx_project.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/_grid.svg.i b/.hg/store/data/src/icons/_grid.svg.i
deleted file mode 100644
index 8e26579..0000000
Binary files a/.hg/store/data/src/icons/_grid.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/_grid_setup.svg.i b/.hg/store/data/src/icons/_grid_setup.svg.i
deleted file mode 100644
index 806c451..0000000
Binary files a/.hg/store/data/src/icons/_grid_setup.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/_grid_wizzard.svg.i b/.hg/store/data/src/icons/_grid_wizzard.svg.i
deleted file mode 100644
index 04c48c1..0000000
Binary files a/.hg/store/data/src/icons/_grid_wizzard.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/_help.svg.i b/.hg/store/data/src/icons/_help.svg.i
deleted file mode 100644
index 2d20510..0000000
Binary files a/.hg/store/data/src/icons/_help.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/_image.svg.i b/.hg/store/data/src/icons/_image.svg.i
deleted file mode 100644
index 2ebde3d..0000000
Binary files a/.hg/store/data/src/icons/_image.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/_info.svg.i b/.hg/store/data/src/icons/_info.svg.i
deleted file mode 100644
index ee023eb..0000000
Binary files a/.hg/store/data/src/icons/_info.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/_left.svg.i b/.hg/store/data/src/icons/_left.svg.i
deleted file mode 100644
index 2a2be67..0000000
Binary files a/.hg/store/data/src/icons/_left.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/_line_move.svg.i b/.hg/store/data/src/icons/_line_move.svg.i
deleted file mode 100644
index d8b4145..0000000
Binary files a/.hg/store/data/src/icons/_line_move.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/_link.svg.i b/.hg/store/data/src/icons/_link.svg.i
deleted file mode 100644
index 9812099..0000000
Binary files a/.hg/store/data/src/icons/_link.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/_load_g_i_s.svg.i b/.hg/store/data/src/icons/_load_g_i_s.svg.i
deleted file mode 100644
index 31dc8dc..0000000
Binary files a/.hg/store/data/src/icons/_load_g_i_s.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/_load_view.svg.i b/.hg/store/data/src/icons/_load_view.svg.i
deleted file mode 100644
index b9b4da4..0000000
Binary files a/.hg/store/data/src/icons/_load_view.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/_lock.svg.i b/.hg/store/data/src/icons/_lock.svg.i
deleted file mode 100644
index 4febcf6..0000000
Binary files a/.hg/store/data/src/icons/_lock.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/_map.svg.i b/.hg/store/data/src/icons/_map.svg.i
deleted file mode 100644
index ca69abb..0000000
Binary files a/.hg/store/data/src/icons/_map.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/_map_room.svg.i b/.hg/store/data/src/icons/_map_room.svg.i
deleted file mode 100644
index 6ef8e9b..0000000
Binary files a/.hg/store/data/src/icons/_map_room.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/_mime_dem_v_r_t.svg.i b/.hg/store/data/src/icons/_mime_dem_v_r_t.svg.i
deleted file mode 100644
index 420487c..0000000
Binary files a/.hg/store/data/src/icons/_mime_dem_v_r_t.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/_mime_i_m_g.svg.i b/.hg/store/data/src/icons/_mime_i_m_g.svg.i
deleted file mode 100644
index d2639ba..0000000
Binary files a/.hg/store/data/src/icons/_mime_i_m_g.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/_mime_j_n_x.svg.i b/.hg/store/data/src/icons/_mime_j_n_x.svg.i
deleted file mode 100644
index bd3f60c..0000000
Binary files a/.hg/store/data/src/icons/_mime_j_n_x.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/_mime_m_a_p.svg.i b/.hg/store/data/src/icons/_mime_m_a_p.svg.i
deleted file mode 100644
index 7b113eb..0000000
Binary files a/.hg/store/data/src/icons/_mime_m_a_p.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/_mime_r_m_a_p.svg.i b/.hg/store/data/src/icons/_mime_r_m_a_p.svg.i
deleted file mode 100644
index ac0bfe3..0000000
Binary files a/.hg/store/data/src/icons/_mime_r_m_a_p.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/_mime_t_m_s.svg.i b/.hg/store/data/src/icons/_mime_t_m_s.svg.i
deleted file mode 100644
index c803d46..0000000
Binary files a/.hg/store/data/src/icons/_mime_t_m_s.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/_mime_v_r_t.svg.i b/.hg/store/data/src/icons/_mime_v_r_t.svg.i
deleted file mode 100644
index e41ce9e..0000000
Binary files a/.hg/store/data/src/icons/_mime_v_r_t.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/_mime_w_m_t_s.svg.i b/.hg/store/data/src/icons/_mime_w_m_t_s.svg.i
deleted file mode 100644
index d6d86e5..0000000
Binary files a/.hg/store/data/src/icons/_mime_w_m_t_s.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/_mouse_wheel.svg.i b/.hg/store/data/src/icons/_mouse_wheel.svg.i
deleted file mode 100644
index 5a605db..0000000
Binary files a/.hg/store/data/src/icons/_mouse_wheel.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/_move.svg.i b/.hg/store/data/src/icons/_move.svg.i
deleted file mode 100644
index 0f45c90..0000000
Binary files a/.hg/store/data/src/icons/_move.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/_night_day.svg.i b/.hg/store/data/src/icons/_night_day.svg.i
deleted file mode 100644
index 749a006..0000000
Binary files a/.hg/store/data/src/icons/_night_day.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/_no_fix.svg.i b/.hg/store/data/src/icons/_no_fix.svg.i
deleted file mode 100644
index e24863f..0000000
Binary files a/.hg/store/data/src/icons/_no_fix.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/_off.svg.i b/.hg/store/data/src/icons/_off.svg.i
deleted file mode 100644
index cd14082..0000000
Binary files a/.hg/store/data/src/icons/_off.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/_opacity.svg.i b/.hg/store/data/src/icons/_opacity.svg.i
deleted file mode 100644
index 12d4634..0000000
Binary files a/.hg/store/data/src/icons/_opacity.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/_p_o_i_text.svg.i b/.hg/store/data/src/icons/_p_o_i_text.svg.i
deleted file mode 100644
index e886dc8..0000000
Binary files a/.hg/store/data/src/icons/_p_o_i_text.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/_paste.svg.i b/.hg/store/data/src/icons/_paste.svg.i
deleted file mode 100644
index 6932719..0000000
Binary files a/.hg/store/data/src/icons/_paste.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/_path.svg.i b/.hg/store/data/src/icons/_path.svg.i
deleted file mode 100644
index 7f421b4..0000000
Binary files a/.hg/store/data/src/icons/_path.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/_path_blue.svg.i b/.hg/store/data/src/icons/_path_blue.svg.i
deleted file mode 100644
index 45b11a3..0000000
Binary files a/.hg/store/data/src/icons/_path_blue.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/_path_green.svg.i b/.hg/store/data/src/icons/_path_green.svg.i
deleted file mode 100644
index 9087231..0000000
Binary files a/.hg/store/data/src/icons/_path_green.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/_path_orange.svg.i b/.hg/store/data/src/icons/_path_orange.svg.i
deleted file mode 100644
index 3abf032..0000000
Binary files a/.hg/store/data/src/icons/_path_orange.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/_pattern.svg.i b/.hg/store/data/src/icons/_pattern.svg.i
deleted file mode 100644
index 9a3cfbd..0000000
Binary files a/.hg/store/data/src/icons/_pattern.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/_point_hide.svg.i b/.hg/store/data/src/icons/_point_hide.svg.i
deleted file mode 100644
index 57de429..0000000
Binary files a/.hg/store/data/src/icons/_point_hide.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/_point_move.svg.i b/.hg/store/data/src/icons/_point_move.svg.i
deleted file mode 100644
index 56a9681..0000000
Binary files a/.hg/store/data/src/icons/_point_move.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/_point_show.svg.i b/.hg/store/data/src/icons/_point_show.svg.i
deleted file mode 100644
index 7c5c0d2..0000000
Binary files a/.hg/store/data/src/icons/_point_show.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/_print.svg.i b/.hg/store/data/src/icons/_print.svg.i
deleted file mode 100644
index 83b2bb8..0000000
Binary files a/.hg/store/data/src/icons/_print.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/_q_map_shack.svg.i b/.hg/store/data/src/icons/_q_map_shack.svg.i
deleted file mode 100644
index 067f536..0000000
Binary files a/.hg/store/data/src/icons/_q_map_shack.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/_qms_project.svg.i b/.hg/store/data/src/icons/_qms_project.svg.i
deleted file mode 100644
index 10c5f43..0000000
Binary files a/.hg/store/data/src/icons/_qms_project.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/_redo.svg.i b/.hg/store/data/src/icons/_redo.svg.i
deleted file mode 100644
index 566b27a..0000000
Binary files a/.hg/store/data/src/icons/_redo.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/_reload_image.svg.i b/.hg/store/data/src/icons/_reload_image.svg.i
deleted file mode 100644
index cf86727..0000000
Binary files a/.hg/store/data/src/icons/_reload_image.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/_reset.svg.i b/.hg/store/data/src/icons/_reset.svg.i
deleted file mode 100644
index d714bfc..0000000
Binary files a/.hg/store/data/src/icons/_reset.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/_reverse.svg.i b/.hg/store/data/src/icons/_reverse.svg.i
deleted file mode 100644
index 8caa20d..0000000
Binary files a/.hg/store/data/src/icons/_reverse.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/_right.svg.i b/.hg/store/data/src/icons/_right.svg.i
deleted file mode 100644
index 3a7e285..0000000
Binary files a/.hg/store/data/src/icons/_right.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/_route.svg.i b/.hg/store/data/src/icons/_route.svg.i
deleted file mode 100644
index 5d7016f..0000000
Binary files a/.hg/store/data/src/icons/_route.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/_save_all_g_i_s.svg.i b/.hg/store/data/src/icons/_save_all_g_i_s.svg.i
deleted file mode 100644
index b2cbf3c..0000000
Binary files a/.hg/store/data/src/icons/_save_all_g_i_s.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/_save_g_i_s.svg.i b/.hg/store/data/src/icons/_save_g_i_s.svg.i
deleted file mode 100644
index fa414cb..0000000
Binary files a/.hg/store/data/src/icons/_save_g_i_s.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/_save_g_i_s_as.svg.i b/.hg/store/data/src/icons/_save_g_i_s_as.svg.i
deleted file mode 100644
index c245f6c..0000000
Binary files a/.hg/store/data/src/icons/_save_g_i_s_as.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/_save_view.svg.i b/.hg/store/data/src/icons/_save_view.svg.i
deleted file mode 100644
index 3f7b418..0000000
Binary files a/.hg/store/data/src/icons/_save_view.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/_scale.svg.i b/.hg/store/data/src/icons/_scale.svg.i
deleted file mode 100644
index c18dfd8..0000000
Binary files a/.hg/store/data/src/icons/_scale.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/_search_google.svg.i b/.hg/store/data/src/icons/_search_google.svg.i
deleted file mode 100644
index 57aae1b..0000000
Binary files a/.hg/store/data/src/icons/_search_google.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/_select_color.svg.i b/.hg/store/data/src/icons/_select_color.svg.i
deleted file mode 100644
index 21b950a..0000000
Binary files a/.hg/store/data/src/icons/_select_color.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/_select_range.svg.i b/.hg/store/data/src/icons/_select_range.svg.i
deleted file mode 100644
index 4524ea7..0000000
Binary files a/.hg/store/data/src/icons/_select_range.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/_set_ele.svg.i b/.hg/store/data/src/icons/_set_ele.svg.i
deleted file mode 100644
index d9713f2..0000000
Binary files a/.hg/store/data/src/icons/_set_ele.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/_setup_map_workspace.svg.i b/.hg/store/data/src/icons/_setup_map_workspace.svg.i
deleted file mode 100644
index 867cb1c..0000000
Binary files a/.hg/store/data/src/icons/_setup_map_workspace.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/_start.svg.i b/.hg/store/data/src/icons/_start.svg.i
deleted file mode 100644
index 25bdbbc..0000000
Binary files a/.hg/store/data/src/icons/_start.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/_tainted.svg.i b/.hg/store/data/src/icons/_tainted.svg.i
deleted file mode 100644
index cd030bb..0000000
Binary files a/.hg/store/data/src/icons/_tainted.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/_text_bold.svg.i b/.hg/store/data/src/icons/_text_bold.svg.i
deleted file mode 100644
index 54fb89c..0000000
Binary files a/.hg/store/data/src/icons/_text_bold.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/_text_center.svg.i b/.hg/store/data/src/icons/_text_center.svg.i
deleted file mode 100644
index d981c37..0000000
Binary files a/.hg/store/data/src/icons/_text_center.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/_text_italic.svg.i b/.hg/store/data/src/icons/_text_italic.svg.i
deleted file mode 100644
index 6f81e05..0000000
Binary files a/.hg/store/data/src/icons/_text_italic.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/_text_justified.svg.i b/.hg/store/data/src/icons/_text_justified.svg.i
deleted file mode 100644
index 8e3eb93..0000000
Binary files a/.hg/store/data/src/icons/_text_justified.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/_text_left.svg.i b/.hg/store/data/src/icons/_text_left.svg.i
deleted file mode 100644
index a9e36f6..0000000
Binary files a/.hg/store/data/src/icons/_text_left.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/_text_right.svg.i b/.hg/store/data/src/icons/_text_right.svg.i
deleted file mode 100644
index 05483cf..0000000
Binary files a/.hg/store/data/src/icons/_text_right.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/_text_underlined.svg.i b/.hg/store/data/src/icons/_text_underlined.svg.i
deleted file mode 100644
index 692e02c..0000000
Binary files a/.hg/store/data/src/icons/_text_underlined.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/_time.svg.i b/.hg/store/data/src/icons/_time.svg.i
deleted file mode 100644
index add1e9e..0000000
Binary files a/.hg/store/data/src/icons/_time.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/_time_zone_setup.svg.i b/.hg/store/data/src/icons/_time_zone_setup.svg.i
deleted file mode 100644
index 0ac82ae..0000000
Binary files a/.hg/store/data/src/icons/_time_zone_setup.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/_to_bottom.svg.i b/.hg/store/data/src/icons/_to_bottom.svg.i
deleted file mode 100644
index 5889d3d..0000000
Binary files a/.hg/store/data/src/icons/_to_bottom.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/_to_top.svg.i b/.hg/store/data/src/icons/_to_top.svg.i
deleted file mode 100644
index 8c1d483..0000000
Binary files a/.hg/store/data/src/icons/_to_top.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/_tool_tip.svg.i b/.hg/store/data/src/icons/_tool_tip.svg.i
deleted file mode 100644
index 998f5bb..0000000
Binary files a/.hg/store/data/src/icons/_tool_tip.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/_track.svg.i b/.hg/store/data/src/icons/_track.svg.i
deleted file mode 100644
index 6d54de1..0000000
Binary files a/.hg/store/data/src/icons/_track.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/_trk_cut.svg.i b/.hg/store/data/src/icons/_trk_cut.svg.i
deleted file mode 100644
index f171d2a..0000000
Binary files a/.hg/store/data/src/icons/_trk_cut.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/_trk_profile.svg.i b/.hg/store/data/src/icons/_trk_profile.svg.i
deleted file mode 100644
index 5427f17..0000000
Binary files a/.hg/store/data/src/icons/_trk_profile.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/_un_lock.svg.i b/.hg/store/data/src/icons/_un_lock.svg.i
deleted file mode 100644
index 87273fd..0000000
Binary files a/.hg/store/data/src/icons/_un_lock.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/_undo.svg.i b/.hg/store/data/src/icons/_undo.svg.i
deleted file mode 100644
index bc31a62..0000000
Binary files a/.hg/store/data/src/icons/_undo.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/_unit_setup.svg.i b/.hg/store/data/src/icons/_unit_setup.svg.i
deleted file mode 100644
index 5cebc92..0000000
Binary files a/.hg/store/data/src/icons/_unit_setup.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/_up.svg.i b/.hg/store/data/src/icons/_up.svg.i
deleted file mode 100644
index 502cf83..0000000
Binary files a/.hg/store/data/src/icons/_up.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/_vrt_builder.svg.i b/.hg/store/data/src/icons/_vrt_builder.svg.i
deleted file mode 100644
index 5ca5cab..0000000
Binary files a/.hg/store/data/src/icons/_vrt_builder.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/_wpt_move.svg.i b/.hg/store/data/src/icons/_wpt_move.svg.i
deleted file mode 100644
index 93446cc..0000000
Binary files a/.hg/store/data/src/icons/_wpt_move.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/_wpt_proj.svg.i b/.hg/store/data/src/icons/_wpt_proj.svg.i
deleted file mode 100644
index ad4aab5..0000000
Binary files a/.hg/store/data/src/icons/_wpt_proj.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/_wpt_prox.svg.i b/.hg/store/data/src/icons/_wpt_prox.svg.i
deleted file mode 100644
index c0c408c..0000000
Binary files a/.hg/store/data/src/icons/_wpt_prox.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/32x32/_dist_icon.png.i b/.hg/store/data/src/icons/cache/32x32/_dist_icon.png.i
deleted file mode 100644
index 1e27007..0000000
Binary files a/.hg/store/data/src/icons/cache/32x32/_dist_icon.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/32x32/_o_c_m_logo.png.i b/.hg/store/data/src/icons/cache/32x32/_o_c_m_logo.png.i
deleted file mode 100644
index 7e73adb..0000000
Binary files a/.hg/store/data/src/icons/cache/32x32/_o_c_m_logo.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/32x32/_o_c_m_logo_small.png.i b/.hg/store/data/src/icons/cache/32x32/_o_c_m_logo_small.png.i
deleted file mode 100644
index 6378af0..0000000
Binary files a/.hg/store/data/src/icons/cache/32x32/_o_c_m_logo_small.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/32x32/_search_icon.png.i b/.hg/store/data/src/icons/cache/32x32/_search_icon.png.i
deleted file mode 100644
index b7ace5d..0000000
Binary files a/.hg/store/data/src/icons/cache/32x32/_search_icon.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/32x32/bluepin.png.i b/.hg/store/data/src/icons/cache/32x32/bluepin.png.i
deleted file mode 100644
index da7fc1f..0000000
Binary files a/.hg/store/data/src/icons/cache/32x32/bluepin.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/32x32/cito.png.i b/.hg/store/data/src/icons/cache/32x32/cito.png.i
deleted file mode 100644
index f58a9d5..0000000
Binary files a/.hg/store/data/src/icons/cache/32x32/cito.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/32x32/corrected.png.i b/.hg/store/data/src/icons/cache/32x32/corrected.png.i
deleted file mode 100644
index 5e66f90..0000000
Binary files a/.hg/store/data/src/icons/cache/32x32/corrected.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/32x32/dnf.png.i b/.hg/store/data/src/icons/cache/32x32/dnf.png.i
deleted file mode 100644
index e39c015..0000000
Binary files a/.hg/store/data/src/icons/cache/32x32/dnf.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/32x32/down__icon.png.i b/.hg/store/data/src/icons/cache/32x32/down__icon.png.i
deleted file mode 100644
index 0179a18..0000000
Binary files a/.hg/store/data/src/icons/cache/32x32/down__icon.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/32x32/earth.png.i b/.hg/store/data/src/icons/cache/32x32/earth.png.i
deleted file mode 100644
index 987c208..0000000
Binary files a/.hg/store/data/src/icons/cache/32x32/earth.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/32x32/event.png.i b/.hg/store/data/src/icons/cache/32x32/event.png.i
deleted file mode 100644
index 1c25d2f..0000000
Binary files a/.hg/store/data/src/icons/cache/32x32/event.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/32x32/found.png.i b/.hg/store/data/src/icons/cache/32x32/found.png.i
deleted file mode 100644
index 358d7ac..0000000
Binary files a/.hg/store/data/src/icons/cache/32x32/found.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/32x32/ftf.png.i b/.hg/store/data/src/icons/cache/32x32/ftf.png.i
deleted file mode 100644
index f17b41f..0000000
Binary files a/.hg/store/data/src/icons/cache/32x32/ftf.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/32x32/greenpin.png.i b/.hg/store/data/src/icons/cache/32x32/greenpin.png.i
deleted file mode 100644
index c92639b..0000000
Binary files a/.hg/store/data/src/icons/cache/32x32/greenpin.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/32x32/halfstar.png.i b/.hg/store/data/src/icons/cache/32x32/halfstar.png.i
deleted file mode 100644
index ccbefba..0000000
Binary files a/.hg/store/data/src/icons/cache/32x32/halfstar.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/32x32/letterbox.png.i b/.hg/store/data/src/icons/cache/32x32/letterbox.png.i
deleted file mode 100644
index 65b684e..0000000
Binary files a/.hg/store/data/src/icons/cache/32x32/letterbox.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/32x32/log.png.i b/.hg/store/data/src/icons/cache/32x32/log.png.i
deleted file mode 100644
index 6eeaffb..0000000
Binary files a/.hg/store/data/src/icons/cache/32x32/log.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/32x32/maxicon.png.i b/.hg/store/data/src/icons/cache/32x32/maxicon.png.i
deleted file mode 100644
index 15bacb4..0000000
Binary files a/.hg/store/data/src/icons/cache/32x32/maxicon.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/32x32/mega.png.i b/.hg/store/data/src/icons/cache/32x32/mega.png.i
deleted file mode 100644
index 342b924..0000000
Binary files a/.hg/store/data/src/icons/cache/32x32/mega.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/32x32/minicon.png.i b/.hg/store/data/src/icons/cache/32x32/minicon.png.i
deleted file mode 100644
index 15bacb4..0000000
Binary files a/.hg/store/data/src/icons/cache/32x32/minicon.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/32x32/multi.png.i b/.hg/store/data/src/icons/cache/32x32/multi.png.i
deleted file mode 100644
index ef583ca..0000000
Binary files a/.hg/store/data/src/icons/cache/32x32/multi.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/32x32/needs__maintenance.png.i b/.hg/store/data/src/icons/cache/32x32/needs__maintenance.png.i
deleted file mode 100644
index 10ae5ec..0000000
Binary files a/.hg/store/data/src/icons/cache/32x32/needs__maintenance.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/32x32/other.png.i b/.hg/store/data/src/icons/cache/32x32/other.png.i
deleted file mode 100644
index 96a26ee..0000000
Binary files a/.hg/store/data/src/icons/cache/32x32/other.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/32x32/parking.png.i b/.hg/store/data/src/icons/cache/32x32/parking.png.i
deleted file mode 100644
index b9bbd17..0000000
Binary files a/.hg/store/data/src/icons/cache/32x32/parking.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/32x32/pushpin.png.i b/.hg/store/data/src/icons/cache/32x32/pushpin.png.i
deleted file mode 100644
index f289023..0000000
Binary files a/.hg/store/data/src/icons/cache/32x32/pushpin.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/32x32/restore.png.i b/.hg/store/data/src/icons/cache/32x32/restore.png.i
deleted file mode 100644
index b526338..0000000
Binary files a/.hg/store/data/src/icons/cache/32x32/restore.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/32x32/star.png.i b/.hg/store/data/src/icons/cache/32x32/star.png.i
deleted file mode 100644
index 79cfd9f..0000000
Binary files a/.hg/store/data/src/icons/cache/32x32/star.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/32x32/star__empty.png.i b/.hg/store/data/src/icons/cache/32x32/star__empty.png.i
deleted file mode 100644
index 177fa31..0000000
Binary files a/.hg/store/data/src/icons/cache/32x32/star__empty.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/32x32/traditional.png.i b/.hg/store/data/src/icons/cache/32x32/traditional.png.i
deleted file mode 100644
index 6378af0..0000000
Binary files a/.hg/store/data/src/icons/cache/32x32/traditional.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/32x32/trailhead.png.i b/.hg/store/data/src/icons/cache/32x32/trailhead.png.i
deleted file mode 100644
index 9ac5fe0..0000000
Binary files a/.hg/store/data/src/icons/cache/32x32/trailhead.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/32x32/treasure.png.i b/.hg/store/data/src/icons/cache/32x32/treasure.png.i
deleted file mode 100644
index 1fc2ac2..0000000
Binary files a/.hg/store/data/src/icons/cache/32x32/treasure.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/32x32/unknown.png.i b/.hg/store/data/src/icons/cache/32x32/unknown.png.i
deleted file mode 100644
index 22a2656..0000000
Binary files a/.hg/store/data/src/icons/cache/32x32/unknown.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/32x32/up__icon.png.i b/.hg/store/data/src/icons/cache/32x32/up__icon.png.i
deleted file mode 100644
index 08ffabc..0000000
Binary files a/.hg/store/data/src/icons/cache/32x32/up__icon.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/32x32/virtual.png.i b/.hg/store/data/src/icons/cache/32x32/virtual.png.i
deleted file mode 100644
index d7b2c79..0000000
Binary files a/.hg/store/data/src/icons/cache/32x32/virtual.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/32x32/waypoint-flag-red.png.i b/.hg/store/data/src/icons/cache/32x32/waypoint-flag-red.png.i
deleted file mode 100644
index c9b9a47..0000000
Binary files a/.hg/store/data/src/icons/cache/32x32/waypoint-flag-red.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/32x32/webcam.png.i b/.hg/store/data/src/icons/cache/32x32/webcam.png.i
deleted file mode 100644
index cd20f87..0000000
Binary files a/.hg/store/data/src/icons/cache/32x32/webcam.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/32x32/wherigo.png.i b/.hg/store/data/src/icons/cache/32x32/wherigo.png.i
deleted file mode 100644
index 2f47d56..0000000
Binary files a/.hg/store/data/src/icons/cache/32x32/wherigo.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/32x32/write__note.png.i b/.hg/store/data/src/icons/cache/32x32/write__note.png.i
deleted file mode 100644
index 6f7d644..0000000
Binary files a/.hg/store/data/src/icons/cache/32x32/write__note.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/_apache-2.0.i b/.hg/store/data/src/icons/cache/_apache-2.0.i
deleted file mode 100644
index 05fa2ed..0000000
Binary files a/.hg/store/data/src/icons/cache/_apache-2.0.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/_c_o_p_y_r_i_g_h_t.i b/.hg/store/data/src/icons/cache/_c_o_p_y_r_i_g_h_t.i
deleted file mode 100644
index 908fd0a..0000000
Binary files a/.hg/store/data/src/icons/cache/_c_o_p_y_r_i_g_h_t.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/_dist_icon.svg.i b/.hg/store/data/src/icons/cache/_dist_icon.svg.i
deleted file mode 100644
index 5819cfb..0000000
Binary files a/.hg/store/data/src/icons/cache/_dist_icon.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/_o_c_m_logo.svg.i b/.hg/store/data/src/icons/cache/_o_c_m_logo.svg.i
deleted file mode 100644
index 7ed86bf..0000000
Binary files a/.hg/store/data/src/icons/cache/_o_c_m_logo.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/_o_c_m_logo_small.svg.i b/.hg/store/data/src/icons/cache/_o_c_m_logo_small.svg.i
deleted file mode 100644
index 6184877..0000000
Binary files a/.hg/store/data/src/icons/cache/_o_c_m_logo_small.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/_search_icon.svg.i b/.hg/store/data/src/icons/cache/_search_icon.svg.i
deleted file mode 100644
index 5d18d26..0000000
Binary files a/.hg/store/data/src/icons/cache/_search_icon.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/dis___abandoned___structure.svg.i b/.hg/store/data/src/icons/cache/attributes/dis___abandoned___structure.svg.i
deleted file mode 100644
index bebc10e..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/dis___abandoned___structure.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/dis___abandoned__mines.svg.i b/.hg/store/data/src/icons/cache/attributes/dis___abandoned__mines.svg.i
deleted file mode 100644
index 351cbc0..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/dis___abandoned__mines.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/dis___access__or__parking__fee.svg.i b/.hg/store/data/src/icons/cache/attributes/dis___access__or__parking__fee.svg.i
deleted file mode 100644
index b63570d..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/dis___access__or__parking__fee.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/dis___available__at__all__times.svg.i b/.hg/store/data/src/icons/cache/attributes/dis___available__at__all__times.svg.i
deleted file mode 100644
index 52a2396..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/dis___available__at__all__times.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/dis___available__during__winter.svg.i b/.hg/store/data/src/icons/cache/attributes/dis___available__during__winter.svg.i
deleted file mode 100644
index f485609..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/dis___available__during__winter.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/dis___bicycles.svg.i b/.hg/store/data/src/icons/cache/attributes/dis___bicycles.svg.i
deleted file mode 100644
index 717d82e..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/dis___bicycles.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/dis___boat.svg.i b/.hg/store/data/src/icons/cache/attributes/dis___boat.svg.i
deleted file mode 100644
index 9bc98c9..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/dis___boat.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/dis___campfires.svg.i b/.hg/store/data/src/icons/cache/attributes/dis___campfires.svg.i
deleted file mode 100644
index 4c3694d..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/dis___campfires.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/dis___camping__available.svg.i b/.hg/store/data/src/icons/cache/attributes/dis___camping__available.svg.i
deleted file mode 100644
index 76f9c98..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/dis___camping__available.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/dis___cliff______falling__rocks.svg.i b/.hg/store/data/src/icons/cache/attributes/dis___cliff______falling__rocks.svg.i
deleted file mode 100644
index f8746c4..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/dis___cliff______falling__rocks.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/dis___climbing__gear.svg.i b/.hg/store/data/src/icons/cache/attributes/dis___climbing__gear.svg.i
deleted file mode 100644
index 0aa1e34..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/dis___climbing__gear.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/dis___cross___country___skis.svg.i b/.hg/store/data/src/icons/cache/attributes/dis___cross___country___skis.svg.i
deleted file mode 100644
index 4b9d1de..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/dis___cross___country___skis.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/dis___dangerous___animals.svg.i b/.hg/store/data/src/icons/cache/attributes/dis___dangerous___animals.svg.i
deleted file mode 100644
index 6b61eef..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/dis___dangerous___animals.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/dis___dangerous__area.svg.i b/.hg/store/data/src/icons/cache/attributes/dis___dangerous__area.svg.i
deleted file mode 100644
index d83e021..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/dis___dangerous__area.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/dis___difficult__climbing.svg.i b/.hg/store/data/src/icons/cache/attributes/dis___difficult__climbing.svg.i
deleted file mode 100644
index 6ab3d1b..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/dis___difficult__climbing.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/dis___dogs.svg.i b/.hg/store/data/src/icons/cache/attributes/dis___dogs.svg.i
deleted file mode 100644
index 216e3a8..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/dis___dogs.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/dis___drinking__water__nearby.svg.i b/.hg/store/data/src/icons/cache/attributes/dis___drinking__water__nearby.svg.i
deleted file mode 100644
index 0b845d1..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/dis___drinking__water__nearby.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/dis___field___puzzle.svg.i b/.hg/store/data/src/icons/cache/attributes/dis___field___puzzle.svg.i
deleted file mode 100644
index ce20d8c..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/dis___field___puzzle.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/dis___flashlight__required.svg.i b/.hg/store/data/src/icons/cache/attributes/dis___flashlight__required.svg.i
deleted file mode 100644
index 391fa84..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/dis___flashlight__required.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/dis___food___nearby.svg.i b/.hg/store/data/src/icons/cache/attributes/dis___food___nearby.svg.i
deleted file mode 100644
index e7ddc84..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/dis___food___nearby.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/dis___fuel___nearby.svg.i b/.hg/store/data/src/icons/cache/attributes/dis___fuel___nearby.svg.i
deleted file mode 100644
index cd66a71..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/dis___fuel___nearby.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/dis___horses.svg.i b/.hg/store/data/src/icons/cache/attributes/dis___horses.svg.i
deleted file mode 100644
index 3ca5477..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/dis___horses.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/dis___hunting.svg.i b/.hg/store/data/src/icons/cache/attributes/dis___hunting.svg.i
deleted file mode 100644
index 1caa9e2..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/dis___hunting.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/dis___long___hike__(+10km).svg.i b/.hg/store/data/src/icons/cache/attributes/dis___long___hike__(+10km).svg.i
deleted file mode 100644
index 140959f..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/dis___long___hike__(+10km).svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/dis___may__require__swimming.svg.i b/.hg/store/data/src/icons/cache/attributes/dis___may__require__swimming.svg.i
deleted file mode 100644
index dc4f6db..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/dis___may__require__swimming.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/dis___may__require__wading.svg.i b/.hg/store/data/src/icons/cache/attributes/dis___may__require__wading.svg.i
deleted file mode 100644
index d7b5611..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/dis___may__require__wading.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/dis___medium__hike__(1km-10km).svg.i b/.hg/store/data/src/icons/cache/attributes/dis___medium__hike__(1km-10km).svg.i
deleted file mode 100644
index 2bca9d3..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/dis___medium__hike__(1km-10km).svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/dis___motorcycles.svg.i b/.hg/store/data/src/icons/cache/attributes/dis___motorcycles.svg.i
deleted file mode 100644
index 457ab84..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/dis___motorcycles.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/dis___needs__maintenance.svg.i b/.hg/store/data/src/icons/cache/attributes/dis___needs__maintenance.svg.i
deleted file mode 100644
index 4e1cb7b..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/dis___needs__maintenance.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/dis___night___cache.svg.i b/.hg/store/data/src/icons/cache/attributes/dis___night___cache.svg.i
deleted file mode 100644
index 73760c6..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/dis___night___cache.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/dis___off-road__vehicles.svg.i b/.hg/store/data/src/icons/cache/attributes/dis___off-road__vehicles.svg.i
deleted file mode 100644
index f16aeb8..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/dis___off-road__vehicles.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/dis___park__and___grab.svg.i b/.hg/store/data/src/icons/cache/attributes/dis___park__and___grab.svg.i
deleted file mode 100644
index 7e0f6fb..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/dis___park__and___grab.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/dis___parking__available.svg.i b/.hg/store/data/src/icons/cache/attributes/dis___parking__available.svg.i
deleted file mode 100644
index 430c368..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/dis___parking__available.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/dis___picnic__tables__nearby.svg.i b/.hg/store/data/src/icons/cache/attributes/dis___picnic__tables__nearby.svg.i
deleted file mode 100644
index 1a99ad5..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/dis___picnic__tables__nearby.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/dis___poison__plants.svg.i b/.hg/store/data/src/icons/cache/attributes/dis___poison__plants.svg.i
deleted file mode 100644
index 2eed23f..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/dis___poison__plants.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/dis___public__restrooms__nearby.svg.i b/.hg/store/data/src/icons/cache/attributes/dis___public__restrooms__nearby.svg.i
deleted file mode 100644
index 63165ce..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/dis___public__restrooms__nearby.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/dis___public__transportation.svg.i b/.hg/store/data/src/icons/cache/attributes/dis___public__transportation.svg.i
deleted file mode 100644
index c485296..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/dis___public__transportation.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/dis___quads.svg.i b/.hg/store/data/src/icons/cache/attributes/dis___quads.svg.i
deleted file mode 100644
index 11082c0..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/dis___quads.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/dis___recommended__at__night.svg.i b/.hg/store/data/src/icons/cache/attributes/dis___recommended__at__night.svg.i
deleted file mode 100644
index c4153a5..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/dis___recommended__at__night.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/dis___recommended__for__kids.svg.i b/.hg/store/data/src/icons/cache/attributes/dis___recommended__for__kids.svg.i
deleted file mode 100644
index 13c329d..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/dis___recommended__for__kids.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/dis___scenic__view.svg.i b/.hg/store/data/src/icons/cache/attributes/dis___scenic__view.svg.i
deleted file mode 100644
index 051d93c..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/dis___scenic__view.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/dis___scuba__gear.svg.i b/.hg/store/data/src/icons/cache/attributes/dis___scuba__gear.svg.i
deleted file mode 100644
index 9b795e1..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/dis___scuba__gear.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/dis___short__hike__(less__than__1km).svg.i b/.hg/store/data/src/icons/cache/attributes/dis___short__hike__(less__than__1km).svg.i
deleted file mode 100644
index bfeecf2..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/dis___short__hike__(less__than__1km).svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/dis___significant___hike.svg.i b/.hg/store/data/src/icons/cache/attributes/dis___significant___hike.svg.i
deleted file mode 100644
index 062f777..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/dis___significant___hike.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/dis___snowmobiles.svg.i b/.hg/store/data/src/icons/cache/attributes/dis___snowmobiles.svg.i
deleted file mode 100644
index 569973f..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/dis___snowmobiles.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/dis___snowshoes.svg.i b/.hg/store/data/src/icons/cache/attributes/dis___snowshoes.svg.i
deleted file mode 100644
index 65240d4..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/dis___snowshoes.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/dis___special___tool___required.svg.i b/.hg/store/data/src/icons/cache/attributes/dis___special___tool___required.svg.i
deleted file mode 100644
index 308682c..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/dis___special___tool___required.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/dis___stealth__required.svg.i b/.hg/store/data/src/icons/cache/attributes/dis___stealth__required.svg.i
deleted file mode 100644
index 99fa443..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/dis___stealth__required.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/dis___stroller__accessible.svg.i b/.hg/store/data/src/icons/cache/attributes/dis___stroller__accessible.svg.i
deleted file mode 100644
index a909ea9..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/dis___stroller__accessible.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/dis___takes__less__than__an__hour.svg.i b/.hg/store/data/src/icons/cache/attributes/dis___takes__less__than__an__hour.svg.i
deleted file mode 100644
index 84d21bd..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/dis___takes__less__than__an__hour.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/dis___telephone__nearby.svg.i b/.hg/store/data/src/icons/cache/attributes/dis___telephone__nearby.svg.i
deleted file mode 100644
index 7dd4a10..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/dis___telephone__nearby.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/dis___thorns.svg.i b/.hg/store/data/src/icons/cache/attributes/dis___thorns.svg.i
deleted file mode 100644
index 889d1b3..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/dis___thorns.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/dis___ticks.svg.i b/.hg/store/data/src/icons/cache/attributes/dis___ticks.svg.i
deleted file mode 100644
index fe709ea..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/dis___ticks.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/dis___truck___driver___r_v.svg.i b/.hg/store/data/src/icons/cache/attributes/dis___truck___driver___r_v.svg.i
deleted file mode 100644
index 7739777..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/dis___truck___driver___r_v.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/dis___u_v___light___required.svg.i b/.hg/store/data/src/icons/cache/attributes/dis___u_v___light___required.svg.i
deleted file mode 100644
index c5cda0e..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/dis___u_v___light___required.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/dis___watch__for__livestock.svg.i b/.hg/store/data/src/icons/cache/attributes/dis___watch__for__livestock.svg.i
deleted file mode 100644
index f11c307..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/dis___watch__for__livestock.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/dis___wheelchair__accessible.svg.i b/.hg/store/data/src/icons/cache/attributes/dis___wheelchair__accessible.svg.i
deleted file mode 100644
index 7c525b3..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/dis___wheelchair__accessible.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/dis___wireless___beacon.svg.i b/.hg/store/data/src/icons/cache/attributes/dis___wireless___beacon.svg.i
deleted file mode 100644
index 95bb697..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/dis___wireless___beacon.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/no___abandoned___structure.svg.i b/.hg/store/data/src/icons/cache/attributes/no___abandoned___structure.svg.i
deleted file mode 100644
index 162ae97..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/no___abandoned___structure.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/no___available__at__all__times.svg.i b/.hg/store/data/src/icons/cache/attributes/no___available__at__all__times.svg.i
deleted file mode 100644
index fa8c2bd..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/no___available__at__all__times.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/no___available__during__winter.svg.i b/.hg/store/data/src/icons/cache/attributes/no___available__during__winter.svg.i
deleted file mode 100644
index 109bb23..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/no___available__during__winter.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/no___bicycles.svg.i b/.hg/store/data/src/icons/cache/attributes/no___bicycles.svg.i
deleted file mode 100644
index f7883c0..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/no___bicycles.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/no___campfires.svg.i b/.hg/store/data/src/icons/cache/attributes/no___campfires.svg.i
deleted file mode 100644
index 2c9f141..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/no___campfires.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/no___camping__available.svg.i b/.hg/store/data/src/icons/cache/attributes/no___camping__available.svg.i
deleted file mode 100644
index afa2800..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/no___camping__available.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/no___difficult__climbing.svg.i b/.hg/store/data/src/icons/cache/attributes/no___difficult__climbing.svg.i
deleted file mode 100644
index 0c75ff7..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/no___difficult__climbing.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/no___dogs.svg.i b/.hg/store/data/src/icons/cache/attributes/no___dogs.svg.i
deleted file mode 100644
index 57d34dc..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/no___dogs.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/no___drinking__water__nearby.svg.i b/.hg/store/data/src/icons/cache/attributes/no___drinking__water__nearby.svg.i
deleted file mode 100644
index 19822c8..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/no___drinking__water__nearby.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/no___food___nearby.svg.i b/.hg/store/data/src/icons/cache/attributes/no___food___nearby.svg.i
deleted file mode 100644
index 8714807..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/no___food___nearby.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/no___fuel___nearby.svg.i b/.hg/store/data/src/icons/cache/attributes/no___fuel___nearby.svg.i
deleted file mode 100644
index e92607a..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/no___fuel___nearby.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/no___horses.svg.i b/.hg/store/data/src/icons/cache/attributes/no___horses.svg.i
deleted file mode 100644
index a23da64..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/no___horses.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/no___long___hike__(+10km).svg.i b/.hg/store/data/src/icons/cache/attributes/no___long___hike__(+10km).svg.i
deleted file mode 100644
index e941d74..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/no___long___hike__(+10km).svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/no___medium__hike__(1km-10km).svg.i b/.hg/store/data/src/icons/cache/attributes/no___medium__hike__(1km-10km).svg.i
deleted file mode 100644
index 4942001..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/no___medium__hike__(1km-10km).svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/no___motorcycles.svg.i b/.hg/store/data/src/icons/cache/attributes/no___motorcycles.svg.i
deleted file mode 100644
index 10d56fa..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/no___motorcycles.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/no___night___cache.svg.i b/.hg/store/data/src/icons/cache/attributes/no___night___cache.svg.i
deleted file mode 100644
index 95eb8d7..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/no___night___cache.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/no___off-road__vehicles.svg.i b/.hg/store/data/src/icons/cache/attributes/no___off-road__vehicles.svg.i
deleted file mode 100644
index 1700b12..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/no___off-road__vehicles.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/no___park__and___grab.svg.i b/.hg/store/data/src/icons/cache/attributes/no___park__and___grab.svg.i
deleted file mode 100644
index 64e9dc3..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/no___park__and___grab.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/no___parking__available.svg.i b/.hg/store/data/src/icons/cache/attributes/no___parking__available.svg.i
deleted file mode 100644
index 33037cf..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/no___parking__available.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/no___picnic__tables__nearby.svg.i b/.hg/store/data/src/icons/cache/attributes/no___picnic__tables__nearby.svg.i
deleted file mode 100644
index e2e8eeb..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/no___picnic__tables__nearby.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/no___poison__plants.svg.i b/.hg/store/data/src/icons/cache/attributes/no___poison__plants.svg.i
deleted file mode 100644
index 4a8d4e9..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/no___poison__plants.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/no___public__restrooms__nearby.svg.i b/.hg/store/data/src/icons/cache/attributes/no___public__restrooms__nearby.svg.i
deleted file mode 100644
index 2803175..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/no___public__restrooms__nearby.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/no___quads.svg.i b/.hg/store/data/src/icons/cache/attributes/no___quads.svg.i
deleted file mode 100644
index 89b8262..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/no___quads.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/no___recommended__at__night.svg.i b/.hg/store/data/src/icons/cache/attributes/no___recommended__at__night.svg.i
deleted file mode 100644
index ccab50a..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/no___recommended__at__night.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/no___recommended__for__kids.svg.i b/.hg/store/data/src/icons/cache/attributes/no___recommended__for__kids.svg.i
deleted file mode 100644
index bf04fe7..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/no___recommended__for__kids.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/no___short__hike__(less__than__1km).svg.i b/.hg/store/data/src/icons/cache/attributes/no___short__hike__(less__than__1km).svg.i
deleted file mode 100644
index 70275a0..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/no___short__hike__(less__than__1km).svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/no___significant___hike.svg.i b/.hg/store/data/src/icons/cache/attributes/no___significant___hike.svg.i
deleted file mode 100644
index 99e2b15..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/no___significant___hike.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/no___snowmobiles.svg.i b/.hg/store/data/src/icons/cache/attributes/no___snowmobiles.svg.i
deleted file mode 100644
index 2aff88e..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/no___snowmobiles.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/no___stealth__required.svg.i b/.hg/store/data/src/icons/cache/attributes/no___stealth__required.svg.i
deleted file mode 100644
index adfcb3e..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/no___stealth__required.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/no___stroller__accessible.svg.i b/.hg/store/data/src/icons/cache/attributes/no___stroller__accessible.svg.i
deleted file mode 100644
index 9d3274a..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/no___stroller__accessible.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/no___takes__less__than__an__hour.svg.i b/.hg/store/data/src/icons/cache/attributes/no___takes__less__than__an__hour.svg.i
deleted file mode 100644
index 2eefef4..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/no___takes__less__than__an__hour.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/no___telephone__nearby.svg.i b/.hg/store/data/src/icons/cache/attributes/no___telephone__nearby.svg.i
deleted file mode 100644
index 51e2675..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/no___telephone__nearby.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/no___truck___driver___r_v.svg.i b/.hg/store/data/src/icons/cache/attributes/no___truck___driver___r_v.svg.i
deleted file mode 100644
index 81770a8..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/no___truck___driver___r_v.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/no___wheelchair__accessible.svg.i b/.hg/store/data/src/icons/cache/attributes/no___wheelchair__accessible.svg.i
deleted file mode 100644
index 1317f76..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/no___wheelchair__accessible.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/yes___abandoned___structure.svg.i b/.hg/store/data/src/icons/cache/attributes/yes___abandoned___structure.svg.i
deleted file mode 100644
index a82bacb..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/yes___abandoned___structure.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/yes___abandoned__mines.svg.i b/.hg/store/data/src/icons/cache/attributes/yes___abandoned__mines.svg.i
deleted file mode 100644
index d070906..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/yes___abandoned__mines.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/yes___access__or__parking__fee.svg.i b/.hg/store/data/src/icons/cache/attributes/yes___access__or__parking__fee.svg.i
deleted file mode 100644
index 8115de3..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/yes___access__or__parking__fee.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/yes___available__at__all__times.svg.i b/.hg/store/data/src/icons/cache/attributes/yes___available__at__all__times.svg.i
deleted file mode 100644
index 30c86cc..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/yes___available__at__all__times.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/yes___available__during__winter.svg.i b/.hg/store/data/src/icons/cache/attributes/yes___available__during__winter.svg.i
deleted file mode 100644
index a205601..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/yes___available__during__winter.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/yes___bicycles.svg.i b/.hg/store/data/src/icons/cache/attributes/yes___bicycles.svg.i
deleted file mode 100644
index 12c8fa8..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/yes___bicycles.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/yes___boat.svg.i b/.hg/store/data/src/icons/cache/attributes/yes___boat.svg.i
deleted file mode 100644
index 8eda01f..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/yes___boat.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/yes___campfires.svg.i b/.hg/store/data/src/icons/cache/attributes/yes___campfires.svg.i
deleted file mode 100644
index f342727..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/yes___campfires.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/yes___camping__available.svg.i b/.hg/store/data/src/icons/cache/attributes/yes___camping__available.svg.i
deleted file mode 100644
index bfd7a16..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/yes___camping__available.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/yes___cliff______falling__rocks.svg.i b/.hg/store/data/src/icons/cache/attributes/yes___cliff______falling__rocks.svg.i
deleted file mode 100644
index 77b26dc..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/yes___cliff______falling__rocks.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/yes___climbing__gear.svg.i b/.hg/store/data/src/icons/cache/attributes/yes___climbing__gear.svg.i
deleted file mode 100644
index 9c8f5a0..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/yes___climbing__gear.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/yes___cross___country___skis.svg.i b/.hg/store/data/src/icons/cache/attributes/yes___cross___country___skis.svg.i
deleted file mode 100644
index ed3b509..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/yes___cross___country___skis.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/yes___dangerous___animals.svg.i b/.hg/store/data/src/icons/cache/attributes/yes___dangerous___animals.svg.i
deleted file mode 100644
index ca0f949..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/yes___dangerous___animals.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/yes___dangerous__area.svg.i b/.hg/store/data/src/icons/cache/attributes/yes___dangerous__area.svg.i
deleted file mode 100644
index b3b789a..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/yes___dangerous__area.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/yes___difficult__climbing.svg.i b/.hg/store/data/src/icons/cache/attributes/yes___difficult__climbing.svg.i
deleted file mode 100644
index 91f852f..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/yes___difficult__climbing.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/yes___dogs.svg.i b/.hg/store/data/src/icons/cache/attributes/yes___dogs.svg.i
deleted file mode 100644
index f434372..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/yes___dogs.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/yes___drinking__water__nearby.svg.i b/.hg/store/data/src/icons/cache/attributes/yes___drinking__water__nearby.svg.i
deleted file mode 100644
index bcf1d18..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/yes___drinking__water__nearby.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/yes___field___puzzle.svg.i b/.hg/store/data/src/icons/cache/attributes/yes___field___puzzle.svg.i
deleted file mode 100644
index 6839c2a..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/yes___field___puzzle.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/yes___flashlight__required.svg.i b/.hg/store/data/src/icons/cache/attributes/yes___flashlight__required.svg.i
deleted file mode 100644
index 88cea46..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/yes___flashlight__required.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/yes___food___nearby.svg.i b/.hg/store/data/src/icons/cache/attributes/yes___food___nearby.svg.i
deleted file mode 100644
index 3b416d8..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/yes___food___nearby.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/yes___fuel___nearby.svg.i b/.hg/store/data/src/icons/cache/attributes/yes___fuel___nearby.svg.i
deleted file mode 100644
index e369335..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/yes___fuel___nearby.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/yes___horses.svg.i b/.hg/store/data/src/icons/cache/attributes/yes___horses.svg.i
deleted file mode 100644
index 09b4da1..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/yes___horses.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/yes___hunting.svg.i b/.hg/store/data/src/icons/cache/attributes/yes___hunting.svg.i
deleted file mode 100644
index 9e3f425..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/yes___hunting.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/yes___long___hike__(+10km).svg.i b/.hg/store/data/src/icons/cache/attributes/yes___long___hike__(+10km).svg.i
deleted file mode 100644
index 77c9c0e..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/yes___long___hike__(+10km).svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/yes___may__require__swimming.svg.i b/.hg/store/data/src/icons/cache/attributes/yes___may__require__swimming.svg.i
deleted file mode 100644
index 863d0ed..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/yes___may__require__swimming.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/yes___may__require__wading.svg.i b/.hg/store/data/src/icons/cache/attributes/yes___may__require__wading.svg.i
deleted file mode 100644
index e8d2c48..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/yes___may__require__wading.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/yes___medium__hike__(1km-10km).svg.i b/.hg/store/data/src/icons/cache/attributes/yes___medium__hike__(1km-10km).svg.i
deleted file mode 100644
index 605ce83..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/yes___medium__hike__(1km-10km).svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/yes___motorcycles.svg.i b/.hg/store/data/src/icons/cache/attributes/yes___motorcycles.svg.i
deleted file mode 100644
index dba4bc7..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/yes___motorcycles.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/yes___needs__maintenance.svg.i b/.hg/store/data/src/icons/cache/attributes/yes___needs__maintenance.svg.i
deleted file mode 100644
index 3fe4ff7..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/yes___needs__maintenance.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/yes___night___cache.svg.i b/.hg/store/data/src/icons/cache/attributes/yes___night___cache.svg.i
deleted file mode 100644
index cae159a..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/yes___night___cache.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/yes___off-road__vehicles.svg.i b/.hg/store/data/src/icons/cache/attributes/yes___off-road__vehicles.svg.i
deleted file mode 100644
index ecf0e85..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/yes___off-road__vehicles.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/yes___park__and___grab.svg.i b/.hg/store/data/src/icons/cache/attributes/yes___park__and___grab.svg.i
deleted file mode 100644
index 87f33a7..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/yes___park__and___grab.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/yes___parking__available.svg.i b/.hg/store/data/src/icons/cache/attributes/yes___parking__available.svg.i
deleted file mode 100644
index 8697220..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/yes___parking__available.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/yes___picnic__tables__nearby.svg.i b/.hg/store/data/src/icons/cache/attributes/yes___picnic__tables__nearby.svg.i
deleted file mode 100644
index d5e65e6..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/yes___picnic__tables__nearby.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/yes___poison__plants.svg.i b/.hg/store/data/src/icons/cache/attributes/yes___poison__plants.svg.i
deleted file mode 100644
index 59c97c0..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/yes___poison__plants.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/yes___public__restrooms__nearby.svg.i b/.hg/store/data/src/icons/cache/attributes/yes___public__restrooms__nearby.svg.i
deleted file mode 100644
index e133bff..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/yes___public__restrooms__nearby.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/yes___public__transportation.svg.i b/.hg/store/data/src/icons/cache/attributes/yes___public__transportation.svg.i
deleted file mode 100644
index cd92dea..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/yes___public__transportation.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/yes___quads.svg.i b/.hg/store/data/src/icons/cache/attributes/yes___quads.svg.i
deleted file mode 100644
index 5d4d461..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/yes___quads.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/yes___recommended__at__night.svg.i b/.hg/store/data/src/icons/cache/attributes/yes___recommended__at__night.svg.i
deleted file mode 100644
index 8c52e7a..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/yes___recommended__at__night.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/yes___recommended__for__kids.svg.i b/.hg/store/data/src/icons/cache/attributes/yes___recommended__for__kids.svg.i
deleted file mode 100644
index c7d2e94..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/yes___recommended__for__kids.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/yes___scenic__view.svg.i b/.hg/store/data/src/icons/cache/attributes/yes___scenic__view.svg.i
deleted file mode 100644
index 4c81b49..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/yes___scenic__view.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/yes___scuba__gear.svg.i b/.hg/store/data/src/icons/cache/attributes/yes___scuba__gear.svg.i
deleted file mode 100644
index 334492e..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/yes___scuba__gear.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/yes___short__hike__(less__than__1km).svg.i b/.hg/store/data/src/icons/cache/attributes/yes___short__hike__(less__than__1km).svg.i
deleted file mode 100644
index 671b124..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/yes___short__hike__(less__than__1km).svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/yes___significant___hike.svg.i b/.hg/store/data/src/icons/cache/attributes/yes___significant___hike.svg.i
deleted file mode 100644
index 2ec2a33..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/yes___significant___hike.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/yes___snowmobiles.svg.i b/.hg/store/data/src/icons/cache/attributes/yes___snowmobiles.svg.i
deleted file mode 100644
index fd2b782..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/yes___snowmobiles.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/yes___snowshoes.svg.i b/.hg/store/data/src/icons/cache/attributes/yes___snowshoes.svg.i
deleted file mode 100644
index 1533dd6..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/yes___snowshoes.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/yes___special___tool___required.svg.i b/.hg/store/data/src/icons/cache/attributes/yes___special___tool___required.svg.i
deleted file mode 100644
index 35a4c7c..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/yes___special___tool___required.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/yes___stealth__required.svg.i b/.hg/store/data/src/icons/cache/attributes/yes___stealth__required.svg.i
deleted file mode 100644
index 6068440..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/yes___stealth__required.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/yes___stroller__accessible.svg.i b/.hg/store/data/src/icons/cache/attributes/yes___stroller__accessible.svg.i
deleted file mode 100644
index b37e6ec..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/yes___stroller__accessible.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/yes___takes__less__than__an__hour.svg.i b/.hg/store/data/src/icons/cache/attributes/yes___takes__less__than__an__hour.svg.i
deleted file mode 100644
index 59bf177..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/yes___takes__less__than__an__hour.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/yes___telephone__nearby.svg.i b/.hg/store/data/src/icons/cache/attributes/yes___telephone__nearby.svg.i
deleted file mode 100644
index 8909e6f..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/yes___telephone__nearby.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/yes___thorns.svg.i b/.hg/store/data/src/icons/cache/attributes/yes___thorns.svg.i
deleted file mode 100644
index 393f8c2..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/yes___thorns.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/yes___ticks.svg.i b/.hg/store/data/src/icons/cache/attributes/yes___ticks.svg.i
deleted file mode 100644
index 6bc44e8..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/yes___ticks.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/yes___truck___driver___r_v.svg.i b/.hg/store/data/src/icons/cache/attributes/yes___truck___driver___r_v.svg.i
deleted file mode 100644
index 4115eba..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/yes___truck___driver___r_v.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/yes___u_v___light___required.svg.i b/.hg/store/data/src/icons/cache/attributes/yes___u_v___light___required.svg.i
deleted file mode 100644
index f2f57cc..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/yes___u_v___light___required.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/yes___watch__for__livestock.svg.i b/.hg/store/data/src/icons/cache/attributes/yes___watch__for__livestock.svg.i
deleted file mode 100644
index 2f34184..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/yes___watch__for__livestock.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/yes___wheelchair__accessible.svg.i b/.hg/store/data/src/icons/cache/attributes/yes___wheelchair__accessible.svg.i
deleted file mode 100644
index 30e4265..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/yes___wheelchair__accessible.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/attributes/yes___wireless___beacon.svg.i b/.hg/store/data/src/icons/cache/attributes/yes___wireless___beacon.svg.i
deleted file mode 100644
index d524277..0000000
Binary files a/.hg/store/data/src/icons/cache/attributes/yes___wireless___beacon.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/bluepin.svg.i b/.hg/store/data/src/icons/cache/bluepin.svg.i
deleted file mode 100644
index f465141..0000000
Binary files a/.hg/store/data/src/icons/cache/bluepin.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/cito.svg.i b/.hg/store/data/src/icons/cache/cito.svg.i
deleted file mode 100644
index d91ca09..0000000
Binary files a/.hg/store/data/src/icons/cache/cito.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/corrected.svg.i b/.hg/store/data/src/icons/cache/corrected.svg.i
deleted file mode 100644
index 67b4119..0000000
Binary files a/.hg/store/data/src/icons/cache/corrected.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/dnf.svg.i b/.hg/store/data/src/icons/cache/dnf.svg.i
deleted file mode 100644
index a8ef2a0..0000000
Binary files a/.hg/store/data/src/icons/cache/dnf.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/down__icon.svg.i b/.hg/store/data/src/icons/cache/down__icon.svg.i
deleted file mode 100644
index f4d6b4b..0000000
Binary files a/.hg/store/data/src/icons/cache/down__icon.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/earth.svg.i b/.hg/store/data/src/icons/cache/earth.svg.i
deleted file mode 100644
index 92677b2..0000000
Binary files a/.hg/store/data/src/icons/cache/earth.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/event.svg.i b/.hg/store/data/src/icons/cache/event.svg.i
deleted file mode 100644
index 0ea4b56..0000000
Binary files a/.hg/store/data/src/icons/cache/event.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/found.svg.i b/.hg/store/data/src/icons/cache/found.svg.i
deleted file mode 100644
index 6519354..0000000
Binary files a/.hg/store/data/src/icons/cache/found.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/ftf.svg.i b/.hg/store/data/src/icons/cache/ftf.svg.i
deleted file mode 100644
index 52f5d03..0000000
Binary files a/.hg/store/data/src/icons/cache/ftf.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/greenpin.svg.i b/.hg/store/data/src/icons/cache/greenpin.svg.i
deleted file mode 100644
index 470689d..0000000
Binary files a/.hg/store/data/src/icons/cache/greenpin.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/halfstar.svg.i b/.hg/store/data/src/icons/cache/halfstar.svg.i
deleted file mode 100644
index 0a87d88..0000000
Binary files a/.hg/store/data/src/icons/cache/halfstar.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/letterbox.svg.i b/.hg/store/data/src/icons/cache/letterbox.svg.i
deleted file mode 100644
index 35e2093..0000000
Binary files a/.hg/store/data/src/icons/cache/letterbox.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/log.svg.i b/.hg/store/data/src/icons/cache/log.svg.i
deleted file mode 100644
index 3659296..0000000
Binary files a/.hg/store/data/src/icons/cache/log.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/makeicons.i b/.hg/store/data/src/icons/cache/makeicons.i
deleted file mode 100644
index be7679e..0000000
Binary files a/.hg/store/data/src/icons/cache/makeicons.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/maxicon.svg.i b/.hg/store/data/src/icons/cache/maxicon.svg.i
deleted file mode 100644
index 892e5b5..0000000
Binary files a/.hg/store/data/src/icons/cache/maxicon.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/mega.svg.i b/.hg/store/data/src/icons/cache/mega.svg.i
deleted file mode 100644
index 64f8d24..0000000
Binary files a/.hg/store/data/src/icons/cache/mega.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/minicon.svg.i b/.hg/store/data/src/icons/cache/minicon.svg.i
deleted file mode 100644
index 302245a..0000000
Binary files a/.hg/store/data/src/icons/cache/minicon.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/multi.svg.i b/.hg/store/data/src/icons/cache/multi.svg.i
deleted file mode 100644
index bbc4d45..0000000
Binary files a/.hg/store/data/src/icons/cache/multi.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/needs__maintenance.svg.i b/.hg/store/data/src/icons/cache/needs__maintenance.svg.i
deleted file mode 100644
index 45a0af5..0000000
Binary files a/.hg/store/data/src/icons/cache/needs__maintenance.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/other.svg.i b/.hg/store/data/src/icons/cache/other.svg.i
deleted file mode 100644
index 602ee59..0000000
Binary files a/.hg/store/data/src/icons/cache/other.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/parking.svg.i b/.hg/store/data/src/icons/cache/parking.svg.i
deleted file mode 100644
index 3600aeb..0000000
Binary files a/.hg/store/data/src/icons/cache/parking.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/pushpin.svg.i b/.hg/store/data/src/icons/cache/pushpin.svg.i
deleted file mode 100644
index 07fd5da..0000000
Binary files a/.hg/store/data/src/icons/cache/pushpin.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/restore.svg.i b/.hg/store/data/src/icons/cache/restore.svg.i
deleted file mode 100644
index 0547c03..0000000
Binary files a/.hg/store/data/src/icons/cache/restore.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/star.svg.i b/.hg/store/data/src/icons/cache/star.svg.i
deleted file mode 100644
index 35b11d1..0000000
Binary files a/.hg/store/data/src/icons/cache/star.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/star__empty.svg.i b/.hg/store/data/src/icons/cache/star__empty.svg.i
deleted file mode 100644
index bb99d66..0000000
Binary files a/.hg/store/data/src/icons/cache/star__empty.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/traditional.svg.i b/.hg/store/data/src/icons/cache/traditional.svg.i
deleted file mode 100644
index 6184877..0000000
Binary files a/.hg/store/data/src/icons/cache/traditional.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/trailhead.svg.i b/.hg/store/data/src/icons/cache/trailhead.svg.i
deleted file mode 100644
index c85e746..0000000
Binary files a/.hg/store/data/src/icons/cache/trailhead.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/treasure.svg.i b/.hg/store/data/src/icons/cache/treasure.svg.i
deleted file mode 100644
index 99d8109..0000000
Binary files a/.hg/store/data/src/icons/cache/treasure.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/unknown.svg.i b/.hg/store/data/src/icons/cache/unknown.svg.i
deleted file mode 100644
index 2d98f33..0000000
Binary files a/.hg/store/data/src/icons/cache/unknown.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/up__icon.svg.i b/.hg/store/data/src/icons/cache/up__icon.svg.i
deleted file mode 100644
index 2d7349c..0000000
Binary files a/.hg/store/data/src/icons/cache/up__icon.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/virtual.svg.i b/.hg/store/data/src/icons/cache/virtual.svg.i
deleted file mode 100644
index 4d39b9c..0000000
Binary files a/.hg/store/data/src/icons/cache/virtual.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/waypoint-flag-red.svg.i b/.hg/store/data/src/icons/cache/waypoint-flag-red.svg.i
deleted file mode 100644
index b8d842f..0000000
Binary files a/.hg/store/data/src/icons/cache/waypoint-flag-red.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/webcam.svg.i b/.hg/store/data/src/icons/cache/webcam.svg.i
deleted file mode 100644
index b93b0c6..0000000
Binary files a/.hg/store/data/src/icons/cache/webcam.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/wherigo.svg.i b/.hg/store/data/src/icons/cache/wherigo.svg.i
deleted file mode 100644
index 15bc703..0000000
Binary files a/.hg/store/data/src/icons/cache/wherigo.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/cache/write__note.svg.i b/.hg/store/data/src/icons/cache/write__note.svg.i
deleted file mode 100644
index 7a4d6ff..0000000
Binary files a/.hg/store/data/src/icons/cache/write__note.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/icons.svg.d b/.hg/store/data/src/icons/icons.svg.d
deleted file mode 100644
index fab4c71..0000000
Binary files a/.hg/store/data/src/icons/icons.svg.d and /dev/null differ
diff --git a/.hg/store/data/src/icons/icons.svg.i b/.hg/store/data/src/icons/icons.svg.i
deleted file mode 100644
index 32f23d4..0000000
Binary files a/.hg/store/data/src/icons/icons.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/icons.svg.save.d b/.hg/store/data/src/icons/icons.svg.save.d
deleted file mode 100644
index bd6468e..0000000
Binary files a/.hg/store/data/src/icons/icons.svg.save.d and /dev/null differ
diff --git a/.hg/store/data/src/icons/icons.svg.save.i b/.hg/store/data/src/icons/icons.svg.save.i
deleted file mode 100644
index 51e57cf..0000000
Binary files a/.hg/store/data/src/icons/icons.svg.save.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/makeicons.i b/.hg/store/data/src/icons/makeicons.i
deleted file mode 100644
index cf065c5..0000000
Binary files a/.hg/store/data/src/icons/makeicons.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/waypoints/32x32/_box_blue.png.i b/.hg/store/data/src/icons/waypoints/32x32/_box_blue.png.i
deleted file mode 100644
index 37dd91c..0000000
Binary files a/.hg/store/data/src/icons/waypoints/32x32/_box_blue.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/waypoints/32x32/_box_green.png.i b/.hg/store/data/src/icons/waypoints/32x32/_box_green.png.i
deleted file mode 100644
index 573efcc..0000000
Binary files a/.hg/store/data/src/icons/waypoints/32x32/_box_green.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/waypoints/32x32/_box_red.png.i b/.hg/store/data/src/icons/waypoints/32x32/_box_red.png.i
deleted file mode 100644
index b5334e3..0000000
Binary files a/.hg/store/data/src/icons/waypoints/32x32/_box_red.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/waypoints/32x32/_default.png.i b/.hg/store/data/src/icons/waypoints/32x32/_default.png.i
deleted file mode 100644
index 3a36a69..0000000
Binary files a/.hg/store/data/src/icons/waypoints/32x32/_default.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/waypoints/32x32/_diamond_blue.png.i b/.hg/store/data/src/icons/waypoints/32x32/_diamond_blue.png.i
deleted file mode 100644
index 8d3d2f0..0000000
Binary files a/.hg/store/data/src/icons/waypoints/32x32/_diamond_blue.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/waypoints/32x32/_diamond_green.png.i b/.hg/store/data/src/icons/waypoints/32x32/_diamond_green.png.i
deleted file mode 100644
index 2981c9d..0000000
Binary files a/.hg/store/data/src/icons/waypoints/32x32/_diamond_green.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/waypoints/32x32/_diamond_red.png.i b/.hg/store/data/src/icons/waypoints/32x32/_diamond_red.png.i
deleted file mode 100644
index 992a0ef..0000000
Binary files a/.hg/store/data/src/icons/waypoints/32x32/_diamond_red.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/waypoints/32x32/_flag_blue.png.i b/.hg/store/data/src/icons/waypoints/32x32/_flag_blue.png.i
deleted file mode 100644
index 9391221..0000000
Binary files a/.hg/store/data/src/icons/waypoints/32x32/_flag_blue.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/waypoints/32x32/_flag_green.png.i b/.hg/store/data/src/icons/waypoints/32x32/_flag_green.png.i
deleted file mode 100644
index 4c8154f..0000000
Binary files a/.hg/store/data/src/icons/waypoints/32x32/_flag_green.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/waypoints/32x32/_flag_red.png.i b/.hg/store/data/src/icons/waypoints/32x32/_flag_red.png.i
deleted file mode 100644
index 40776b4..0000000
Binary files a/.hg/store/data/src/icons/waypoints/32x32/_flag_red.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/waypoints/32x32/_pin_blue.png.i b/.hg/store/data/src/icons/waypoints/32x32/_pin_blue.png.i
deleted file mode 100644
index d592433..0000000
Binary files a/.hg/store/data/src/icons/waypoints/32x32/_pin_blue.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/waypoints/32x32/_pin_green.png.i b/.hg/store/data/src/icons/waypoints/32x32/_pin_green.png.i
deleted file mode 100644
index 3251f30..0000000
Binary files a/.hg/store/data/src/icons/waypoints/32x32/_pin_green.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/waypoints/32x32/_pin_red.png.i b/.hg/store/data/src/icons/waypoints/32x32/_pin_red.png.i
deleted file mode 100644
index dbaa69d..0000000
Binary files a/.hg/store/data/src/icons/waypoints/32x32/_pin_red.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/waypoints/32x32/_residence.png.i b/.hg/store/data/src/icons/waypoints/32x32/_residence.png.i
deleted file mode 100644
index e254bd9..0000000
Binary files a/.hg/store/data/src/icons/waypoints/32x32/_residence.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/waypoints/32x32/_waypoint.png.i b/.hg/store/data/src/icons/waypoints/32x32/_waypoint.png.i
deleted file mode 100644
index fc496cc..0000000
Binary files a/.hg/store/data/src/icons/waypoints/32x32/_waypoint.png.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/waypoints/_box_blue.svg.i b/.hg/store/data/src/icons/waypoints/_box_blue.svg.i
deleted file mode 100644
index 5d4a77f..0000000
Binary files a/.hg/store/data/src/icons/waypoints/_box_blue.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/waypoints/_box_green.svg.i b/.hg/store/data/src/icons/waypoints/_box_green.svg.i
deleted file mode 100644
index f02d40e..0000000
Binary files a/.hg/store/data/src/icons/waypoints/_box_green.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/waypoints/_box_red.svg.i b/.hg/store/data/src/icons/waypoints/_box_red.svg.i
deleted file mode 100644
index 3917ec2..0000000
Binary files a/.hg/store/data/src/icons/waypoints/_box_red.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/waypoints/_default.svg.i b/.hg/store/data/src/icons/waypoints/_default.svg.i
deleted file mode 100644
index bd232a7..0000000
Binary files a/.hg/store/data/src/icons/waypoints/_default.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/waypoints/_diamond_blue.svg.i b/.hg/store/data/src/icons/waypoints/_diamond_blue.svg.i
deleted file mode 100644
index 0302795..0000000
Binary files a/.hg/store/data/src/icons/waypoints/_diamond_blue.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/waypoints/_diamond_green.svg.i b/.hg/store/data/src/icons/waypoints/_diamond_green.svg.i
deleted file mode 100644
index bec12ed..0000000
Binary files a/.hg/store/data/src/icons/waypoints/_diamond_green.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/waypoints/_diamond_red.svg.i b/.hg/store/data/src/icons/waypoints/_diamond_red.svg.i
deleted file mode 100644
index 4bd8ce5..0000000
Binary files a/.hg/store/data/src/icons/waypoints/_diamond_red.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/waypoints/_flag_blue.svg.i b/.hg/store/data/src/icons/waypoints/_flag_blue.svg.i
deleted file mode 100644
index 6e9148b..0000000
Binary files a/.hg/store/data/src/icons/waypoints/_flag_blue.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/waypoints/_flag_green.svg.i b/.hg/store/data/src/icons/waypoints/_flag_green.svg.i
deleted file mode 100644
index e7506a8..0000000
Binary files a/.hg/store/data/src/icons/waypoints/_flag_green.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/waypoints/_flag_red.svg.i b/.hg/store/data/src/icons/waypoints/_flag_red.svg.i
deleted file mode 100644
index 1cc0a7f..0000000
Binary files a/.hg/store/data/src/icons/waypoints/_flag_red.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/waypoints/_pin_blue.svg.i b/.hg/store/data/src/icons/waypoints/_pin_blue.svg.i
deleted file mode 100644
index 662df32..0000000
Binary files a/.hg/store/data/src/icons/waypoints/_pin_blue.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/waypoints/_pin_green.svg.i b/.hg/store/data/src/icons/waypoints/_pin_green.svg.i
deleted file mode 100644
index 8378eb1..0000000
Binary files a/.hg/store/data/src/icons/waypoints/_pin_green.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/waypoints/_pin_red.svg.i b/.hg/store/data/src/icons/waypoints/_pin_red.svg.i
deleted file mode 100644
index b6fd804..0000000
Binary files a/.hg/store/data/src/icons/waypoints/_pin_red.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/waypoints/_residence.svg.i b/.hg/store/data/src/icons/waypoints/_residence.svg.i
deleted file mode 100644
index e209af2..0000000
Binary files a/.hg/store/data/src/icons/waypoints/_residence.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/waypoints/_waypoint.svg.i b/.hg/store/data/src/icons/waypoints/_waypoint.svg.i
deleted file mode 100644
index 7150429..0000000
Binary files a/.hg/store/data/src/icons/waypoints/_waypoint.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/icons/waypoints/makeicons.i b/.hg/store/data/src/icons/waypoints/makeicons.i
deleted file mode 100644
index be7679e..0000000
Binary files a/.hg/store/data/src/icons/waypoints/makeicons.i and /dev/null differ
diff --git a/.hg/store/data/src/locale/qmapshack__cs.ts.i b/.hg/store/data/src/locale/qmapshack__cs.ts.i
deleted file mode 100644
index b6d1299..0000000
Binary files a/.hg/store/data/src/locale/qmapshack__cs.ts.i and /dev/null differ
diff --git a/.hg/store/data/src/locale/qmapshack__de.ts.i b/.hg/store/data/src/locale/qmapshack__de.ts.i
deleted file mode 100644
index 916d118..0000000
Binary files a/.hg/store/data/src/locale/qmapshack__de.ts.i and /dev/null differ
diff --git a/.hg/store/data/src/locale/qmapshack__es.ts.i b/.hg/store/data/src/locale/qmapshack__es.ts.i
deleted file mode 100644
index d437043..0000000
Binary files a/.hg/store/data/src/locale/qmapshack__es.ts.i and /dev/null differ
diff --git a/.hg/store/data/src/locale/qmapshack__fr.ts.i b/.hg/store/data/src/locale/qmapshack__fr.ts.i
deleted file mode 100644
index 24b68aa..0000000
Binary files a/.hg/store/data/src/locale/qmapshack__fr.ts.i and /dev/null differ
diff --git a/.hg/store/data/src/main.cpp.i b/.hg/store/data/src/main.cpp.i
deleted file mode 100644
index efa03e5..0000000
Binary files a/.hg/store/data/src/main.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/map/_c_grid.cpp.i b/.hg/store/data/src/map/_c_grid.cpp.i
deleted file mode 100644
index 5aaa089..0000000
Binary files a/.hg/store/data/src/map/_c_grid.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/map/_c_grid.h.i b/.hg/store/data/src/map/_c_grid.h.i
deleted file mode 100644
index b6c1970..0000000
Binary files a/.hg/store/data/src/map/_c_grid.h.i and /dev/null differ
diff --git a/.hg/store/data/src/map/_c_map.cpp.i b/.hg/store/data/src/map/_c_map.cpp.i
deleted file mode 100644
index 2c1ab82..0000000
Binary files a/.hg/store/data/src/map/_c_map.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/map/_c_map.h.i b/.hg/store/data/src/map/_c_map.h.i
deleted file mode 100644
index e7acf6d..0000000
Binary files a/.hg/store/data/src/map/_c_map.h.i and /dev/null differ
diff --git a/.hg/store/data/src/map/_c_map_draw.cpp.i b/.hg/store/data/src/map/_c_map_draw.cpp.i
deleted file mode 100644
index b00f469..0000000
Binary files a/.hg/store/data/src/map/_c_map_draw.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/map/_c_map_draw.h.i b/.hg/store/data/src/map/_c_map_draw.h.i
deleted file mode 100644
index 6422510..0000000
Binary files a/.hg/store/data/src/map/_c_map_draw.h.i and /dev/null differ
diff --git a/.hg/store/data/src/map/_c_map_i_m_g.cpp.i b/.hg/store/data/src/map/_c_map_i_m_g.cpp.i
deleted file mode 100644
index e2dfeeb..0000000
Binary files a/.hg/store/data/src/map/_c_map_i_m_g.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/map/_c_map_i_m_g.h.i b/.hg/store/data/src/map/_c_map_i_m_g.h.i
deleted file mode 100644
index 51214ea..0000000
Binary files a/.hg/store/data/src/map/_c_map_i_m_g.h.i and /dev/null differ
diff --git a/.hg/store/data/src/map/_c_map_item.cpp.i b/.hg/store/data/src/map/_c_map_item.cpp.i
deleted file mode 100644
index c27956f..0000000
Binary files a/.hg/store/data/src/map/_c_map_item.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/map/_c_map_item.h.i b/.hg/store/data/src/map/_c_map_item.h.i
deleted file mode 100644
index bf1d3f6..0000000
Binary files a/.hg/store/data/src/map/_c_map_item.h.i and /dev/null differ
diff --git a/.hg/store/data/src/map/_c_map_j_n_x.cpp.i b/.hg/store/data/src/map/_c_map_j_n_x.cpp.i
deleted file mode 100644
index 0396069..0000000
Binary files a/.hg/store/data/src/map/_c_map_j_n_x.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/map/_c_map_j_n_x.h.i b/.hg/store/data/src/map/_c_map_j_n_x.h.i
deleted file mode 100644
index 96f24d4..0000000
Binary files a/.hg/store/data/src/map/_c_map_j_n_x.h.i and /dev/null differ
diff --git a/.hg/store/data/src/map/_c_map_list.cpp.i b/.hg/store/data/src/map/_c_map_list.cpp.i
deleted file mode 100644
index 52cd623..0000000
Binary files a/.hg/store/data/src/map/_c_map_list.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/map/_c_map_list.h.i b/.hg/store/data/src/map/_c_map_list.h.i
deleted file mode 100644
index 1d27ac7..0000000
Binary files a/.hg/store/data/src/map/_c_map_list.h.i and /dev/null differ
diff --git a/.hg/store/data/src/map/_c_map_m_a_p.cpp.i b/.hg/store/data/src/map/_c_map_m_a_p.cpp.i
deleted file mode 100644
index 3618c73..0000000
Binary files a/.hg/store/data/src/map/_c_map_m_a_p.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/map/_c_map_m_a_p.h.i b/.hg/store/data/src/map/_c_map_m_a_p.h.i
deleted file mode 100644
index b6d821c..0000000
Binary files a/.hg/store/data/src/map/_c_map_m_a_p.h.i and /dev/null differ
diff --git a/.hg/store/data/src/map/_c_map_path_setup.cpp.i b/.hg/store/data/src/map/_c_map_path_setup.cpp.i
deleted file mode 100644
index 2de49bf..0000000
Binary files a/.hg/store/data/src/map/_c_map_path_setup.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/map/_c_map_path_setup.h.i b/.hg/store/data/src/map/_c_map_path_setup.h.i
deleted file mode 100644
index dd9eca5..0000000
Binary files a/.hg/store/data/src/map/_c_map_path_setup.h.i and /dev/null differ
diff --git a/.hg/store/data/src/map/_c_map_prop_setup.cpp.i b/.hg/store/data/src/map/_c_map_prop_setup.cpp.i
deleted file mode 100644
index 8352b95..0000000
Binary files a/.hg/store/data/src/map/_c_map_prop_setup.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/map/_c_map_prop_setup.h.i b/.hg/store/data/src/map/_c_map_prop_setup.h.i
deleted file mode 100644
index 0617d8a..0000000
Binary files a/.hg/store/data/src/map/_c_map_prop_setup.h.i and /dev/null differ
diff --git a/.hg/store/data/src/map/_c_map_r_m_a_p.cpp.i b/.hg/store/data/src/map/_c_map_r_m_a_p.cpp.i
deleted file mode 100644
index cf95c40..0000000
Binary files a/.hg/store/data/src/map/_c_map_r_m_a_p.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/map/_c_map_r_m_a_p.h.i b/.hg/store/data/src/map/_c_map_r_m_a_p.h.i
deleted file mode 100644
index e76c470..0000000
Binary files a/.hg/store/data/src/map/_c_map_r_m_a_p.h.i and /dev/null differ
diff --git a/.hg/store/data/src/map/_c_map_t_m_s.cpp.i b/.hg/store/data/src/map/_c_map_t_m_s.cpp.i
deleted file mode 100644
index 51dcb44..0000000
Binary files a/.hg/store/data/src/map/_c_map_t_m_s.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/map/_c_map_t_m_s.h.i b/.hg/store/data/src/map/_c_map_t_m_s.h.i
deleted file mode 100644
index caece73..0000000
Binary files a/.hg/store/data/src/map/_c_map_t_m_s.h.i and /dev/null differ
diff --git a/.hg/store/data/src/map/_c_map_v_r_t.cpp.i b/.hg/store/data/src/map/_c_map_v_r_t.cpp.i
deleted file mode 100644
index 741576d..0000000
Binary files a/.hg/store/data/src/map/_c_map_v_r_t.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/map/_c_map_v_r_t.h.i b/.hg/store/data/src/map/_c_map_v_r_t.h.i
deleted file mode 100644
index a08e433..0000000
Binary files a/.hg/store/data/src/map/_c_map_v_r_t.h.i and /dev/null differ
diff --git a/.hg/store/data/src/map/_c_map_vrt_builder.cpp.i b/.hg/store/data/src/map/_c_map_vrt_builder.cpp.i
deleted file mode 100644
index a8dca4c..0000000
Binary files a/.hg/store/data/src/map/_c_map_vrt_builder.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/map/_c_map_vrt_builder.h.i b/.hg/store/data/src/map/_c_map_vrt_builder.h.i
deleted file mode 100644
index 55c0092..0000000
Binary files a/.hg/store/data/src/map/_c_map_vrt_builder.h.i and /dev/null differ
diff --git a/.hg/store/data/src/map/_c_map_w_m_t_s.cpp.autosave.i b/.hg/store/data/src/map/_c_map_w_m_t_s.cpp.autosave.i
deleted file mode 100644
index b562e32..0000000
Binary files a/.hg/store/data/src/map/_c_map_w_m_t_s.cpp.autosave.i and /dev/null differ
diff --git a/.hg/store/data/src/map/_c_map_w_m_t_s.cpp.i b/.hg/store/data/src/map/_c_map_w_m_t_s.cpp.i
deleted file mode 100644
index 218d5a3..0000000
Binary files a/.hg/store/data/src/map/_c_map_w_m_t_s.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/map/_c_map_w_m_t_s.h.i b/.hg/store/data/src/map/_c_map_w_m_t_s.h.i
deleted file mode 100644
index 6084fb4..0000000
Binary files a/.hg/store/data/src/map/_c_map_w_m_t_s.h.i and /dev/null differ
diff --git a/.hg/store/data/src/map/_i_map.cpp.i b/.hg/store/data/src/map/_i_map.cpp.i
deleted file mode 100644
index 8e1a059..0000000
Binary files a/.hg/store/data/src/map/_i_map.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/map/_i_map.h.i b/.hg/store/data/src/map/_i_map.h.i
deleted file mode 100644
index 4c5dfd5..0000000
Binary files a/.hg/store/data/src/map/_i_map.h.i and /dev/null differ
diff --git a/.hg/store/data/src/map/_i_map_list.ui.i b/.hg/store/data/src/map/_i_map_list.ui.i
deleted file mode 100644
index bbe69ce..0000000
Binary files a/.hg/store/data/src/map/_i_map_list.ui.i and /dev/null differ
diff --git a/.hg/store/data/src/map/_i_map_path_setup.ui.i b/.hg/store/data/src/map/_i_map_path_setup.ui.i
deleted file mode 100644
index cde6e2f..0000000
Binary files a/.hg/store/data/src/map/_i_map_path_setup.ui.i and /dev/null differ
diff --git a/.hg/store/data/src/map/_i_map_prop.cpp.i b/.hg/store/data/src/map/_i_map_prop.cpp.i
deleted file mode 100644
index 69101b5..0000000
Binary files a/.hg/store/data/src/map/_i_map_prop.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/map/_i_map_prop.h.i b/.hg/store/data/src/map/_i_map_prop.h.i
deleted file mode 100644
index 97229b4..0000000
Binary files a/.hg/store/data/src/map/_i_map_prop.h.i and /dev/null differ
diff --git a/.hg/store/data/src/map/_i_map_prop.ui.i b/.hg/store/data/src/map/_i_map_prop.ui.i
deleted file mode 100644
index 64a07fd..0000000
Binary files a/.hg/store/data/src/map/_i_map_prop.ui.i and /dev/null differ
diff --git a/.hg/store/data/src/map/_i_map_prop_setup.cpp.i b/.hg/store/data/src/map/_i_map_prop_setup.cpp.i
deleted file mode 100644
index 4b947ef..0000000
Binary files a/.hg/store/data/src/map/_i_map_prop_setup.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/map/_i_map_prop_setup.h.i b/.hg/store/data/src/map/_i_map_prop_setup.h.i
deleted file mode 100644
index 2069205..0000000
Binary files a/.hg/store/data/src/map/_i_map_prop_setup.h.i and /dev/null differ
diff --git a/.hg/store/data/src/map/_i_map_prop_setup.ui.i b/.hg/store/data/src/map/_i_map_prop_setup.ui.i
deleted file mode 100644
index 250af36..0000000
Binary files a/.hg/store/data/src/map/_i_map_prop_setup.ui.i and /dev/null differ
diff --git a/.hg/store/data/src/map/_i_map_vrt_builder.ui.i b/.hg/store/data/src/map/_i_map_vrt_builder.ui.i
deleted file mode 100644
index 3ca0791..0000000
Binary files a/.hg/store/data/src/map/_i_map_vrt_builder.ui.i and /dev/null differ
diff --git a/.hg/store/data/src/map/cache/_c_disk_cache.cpp.i b/.hg/store/data/src/map/cache/_c_disk_cache.cpp.i
deleted file mode 100644
index 6929c69..0000000
Binary files a/.hg/store/data/src/map/cache/_c_disk_cache.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/map/cache/_c_disk_cache.h.i b/.hg/store/data/src/map/cache/_c_disk_cache.h.i
deleted file mode 100644
index dde2cf1..0000000
Binary files a/.hg/store/data/src/map/cache/_c_disk_cache.h.i and /dev/null differ
diff --git a/.hg/store/data/src/map/cache/_i_disk_cache.cpp.i b/.hg/store/data/src/map/cache/_i_disk_cache.cpp.i
deleted file mode 100644
index 13502af..0000000
Binary files a/.hg/store/data/src/map/cache/_i_disk_cache.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/map/cache/_i_disk_cache.h.i b/.hg/store/data/src/map/cache/_i_disk_cache.h.i
deleted file mode 100644
index 6f55800..0000000
Binary files a/.hg/store/data/src/map/cache/_i_disk_cache.h.i and /dev/null differ
diff --git a/.hg/store/data/src/map/garmin/_c_garmin_point.cpp.i b/.hg/store/data/src/map/garmin/_c_garmin_point.cpp.i
deleted file mode 100644
index b636090..0000000
Binary files a/.hg/store/data/src/map/garmin/_c_garmin_point.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/map/garmin/_c_garmin_point.h.i b/.hg/store/data/src/map/garmin/_c_garmin_point.h.i
deleted file mode 100644
index 0969bdd..0000000
Binary files a/.hg/store/data/src/map/garmin/_c_garmin_point.h.i and /dev/null differ
diff --git a/.hg/store/data/src/map/garmin/_c_garmin_polygon.cpp.i b/.hg/store/data/src/map/garmin/_c_garmin_polygon.cpp.i
deleted file mode 100644
index 3142381..0000000
Binary files a/.hg/store/data/src/map/garmin/_c_garmin_polygon.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/map/garmin/_c_garmin_polygon.h.i b/.hg/store/data/src/map/garmin/_c_garmin_polygon.h.i
deleted file mode 100644
index f0d75d7..0000000
Binary files a/.hg/store/data/src/map/garmin/_c_garmin_polygon.h.i and /dev/null differ
diff --git a/.hg/store/data/src/map/garmin/_c_garmin_str_tbl6.cpp.i b/.hg/store/data/src/map/garmin/_c_garmin_str_tbl6.cpp.i
deleted file mode 100644
index 6290576..0000000
Binary files a/.hg/store/data/src/map/garmin/_c_garmin_str_tbl6.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/map/garmin/_c_garmin_str_tbl6.h.i b/.hg/store/data/src/map/garmin/_c_garmin_str_tbl6.h.i
deleted file mode 100644
index 0e34938..0000000
Binary files a/.hg/store/data/src/map/garmin/_c_garmin_str_tbl6.h.i and /dev/null differ
diff --git a/.hg/store/data/src/map/garmin/_c_garmin_str_tbl8.cpp.i b/.hg/store/data/src/map/garmin/_c_garmin_str_tbl8.cpp.i
deleted file mode 100644
index 0c7fac2..0000000
Binary files a/.hg/store/data/src/map/garmin/_c_garmin_str_tbl8.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/map/garmin/_c_garmin_str_tbl8.h.i b/.hg/store/data/src/map/garmin/_c_garmin_str_tbl8.h.i
deleted file mode 100644
index 63b8fb5..0000000
Binary files a/.hg/store/data/src/map/garmin/_c_garmin_str_tbl8.h.i and /dev/null differ
diff --git a/.hg/store/data/src/map/garmin/_c_garmin_str_tbl_utf8.cpp.i b/.hg/store/data/src/map/garmin/_c_garmin_str_tbl_utf8.cpp.i
deleted file mode 100644
index ed85b2b..0000000
Binary files a/.hg/store/data/src/map/garmin/_c_garmin_str_tbl_utf8.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/map/garmin/_c_garmin_str_tbl_utf8.h.i b/.hg/store/data/src/map/garmin/_c_garmin_str_tbl_utf8.h.i
deleted file mode 100644
index 8b1ec5d..0000000
Binary files a/.hg/store/data/src/map/garmin/_c_garmin_str_tbl_utf8.h.i and /dev/null differ
diff --git a/.hg/store/data/src/map/garmin/_c_garmin_typ.cpp.i b/.hg/store/data/src/map/garmin/_c_garmin_typ.cpp.i
deleted file mode 100644
index 39c6582..0000000
Binary files a/.hg/store/data/src/map/garmin/_c_garmin_typ.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/map/garmin/_c_garmin_typ.h.i b/.hg/store/data/src/map/garmin/_c_garmin_typ.h.i
deleted file mode 100644
index 27a23c8..0000000
Binary files a/.hg/store/data/src/map/garmin/_c_garmin_typ.h.i and /dev/null differ
diff --git a/.hg/store/data/src/map/garmin/_garmin.h.i b/.hg/store/data/src/map/garmin/_garmin.h.i
deleted file mode 100644
index 9d1178b..0000000
Binary files a/.hg/store/data/src/map/garmin/_garmin.h.i and /dev/null differ
diff --git a/.hg/store/data/src/map/garmin/_i_garmin_str_tbl.cpp.i b/.hg/store/data/src/map/garmin/_i_garmin_str_tbl.cpp.i
deleted file mode 100644
index 85a3ceb..0000000
Binary files a/.hg/store/data/src/map/garmin/_i_garmin_str_tbl.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/map/garmin/_i_garmin_str_tbl.h.i b/.hg/store/data/src/map/garmin/_i_garmin_str_tbl.h.i
deleted file mode 100644
index 76431b4..0000000
Binary files a/.hg/store/data/src/map/garmin/_i_garmin_str_tbl.h.i and /dev/null differ
diff --git a/.hg/store/data/src/map/mapsforge/types.cpp.i b/.hg/store/data/src/map/mapsforge/types.cpp.i
deleted file mode 100644
index 4f1c403..0000000
Binary files a/.hg/store/data/src/map/mapsforge/types.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/map/mapsforge/types.h.i b/.hg/store/data/src/map/mapsforge/types.h.i
deleted file mode 100644
index 265f904..0000000
Binary files a/.hg/store/data/src/map/mapsforge/types.h.i and /dev/null differ
diff --git a/.hg/store/data/src/map/wmts/_c_disk_cache.cpp.i b/.hg/store/data/src/map/wmts/_c_disk_cache.cpp.i
deleted file mode 100644
index d222881..0000000
Binary files a/.hg/store/data/src/map/wmts/_c_disk_cache.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/map/wmts/_c_disk_cache.h.i b/.hg/store/data/src/map/wmts/_c_disk_cache.h.i
deleted file mode 100644
index 8be25cb..0000000
Binary files a/.hg/store/data/src/map/wmts/_c_disk_cache.h.i and /dev/null differ
diff --git a/.hg/store/data/src/map/wmts/_i_disk_cache.cpp.i b/.hg/store/data/src/map/wmts/_i_disk_cache.cpp.i
deleted file mode 100644
index b13db17..0000000
Binary files a/.hg/store/data/src/map/wmts/_i_disk_cache.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/map/wmts/_i_disk_cache.h.i b/.hg/store/data/src/map/wmts/_i_disk_cache.h.i
deleted file mode 100644
index 5c59603..0000000
Binary files a/.hg/store/data/src/map/wmts/_i_disk_cache.h.i and /dev/null differ
diff --git a/.hg/store/data/src/mouse/_c_mouse_edit_area.cpp.i b/.hg/store/data/src/mouse/_c_mouse_edit_area.cpp.i
deleted file mode 100644
index 468079b..0000000
Binary files a/.hg/store/data/src/mouse/_c_mouse_edit_area.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/mouse/_c_mouse_edit_area.h.i b/.hg/store/data/src/mouse/_c_mouse_edit_area.h.i
deleted file mode 100644
index 8ff6e05..0000000
Binary files a/.hg/store/data/src/mouse/_c_mouse_edit_area.h.i and /dev/null differ
diff --git a/.hg/store/data/src/mouse/_c_mouse_edit_line.cpp.i b/.hg/store/data/src/mouse/_c_mouse_edit_line.cpp.i
deleted file mode 100644
index 65799b2..0000000
Binary files a/.hg/store/data/src/mouse/_c_mouse_edit_line.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/mouse/_c_mouse_edit_line.h.i b/.hg/store/data/src/mouse/_c_mouse_edit_line.h.i
deleted file mode 100644
index 18a5688..0000000
Binary files a/.hg/store/data/src/mouse/_c_mouse_edit_line.h.i and /dev/null differ
diff --git a/.hg/store/data/src/mouse/_c_mouse_edit_trk.cpp.i b/.hg/store/data/src/mouse/_c_mouse_edit_trk.cpp.i
deleted file mode 100644
index 84672ec..0000000
Binary files a/.hg/store/data/src/mouse/_c_mouse_edit_trk.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/mouse/_c_mouse_edit_trk.h.i b/.hg/store/data/src/mouse/_c_mouse_edit_trk.h.i
deleted file mode 100644
index cba546b..0000000
Binary files a/.hg/store/data/src/mouse/_c_mouse_edit_trk.h.i and /dev/null differ
diff --git a/.hg/store/data/src/mouse/_c_mouse_move_wpt.cpp.i b/.hg/store/data/src/mouse/_c_mouse_move_wpt.cpp.i
deleted file mode 100644
index 161e8e7..0000000
Binary files a/.hg/store/data/src/mouse/_c_mouse_move_wpt.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/mouse/_c_mouse_move_wpt.h.i b/.hg/store/data/src/mouse/_c_mouse_move_wpt.h.i
deleted file mode 100644
index 6c72451..0000000
Binary files a/.hg/store/data/src/mouse/_c_mouse_move_wpt.h.i and /dev/null differ
diff --git a/.hg/store/data/src/mouse/_c_mouse_normal.cpp.i b/.hg/store/data/src/mouse/_c_mouse_normal.cpp.i
deleted file mode 100644
index a42c2ab..0000000
Binary files a/.hg/store/data/src/mouse/_c_mouse_normal.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/mouse/_c_mouse_normal.h.i b/.hg/store/data/src/mouse/_c_mouse_normal.h.i
deleted file mode 100644
index 586d2f2..0000000
Binary files a/.hg/store/data/src/mouse/_c_mouse_normal.h.i and /dev/null differ
diff --git a/.hg/store/data/src/mouse/_c_mouse_range_trk.cpp.i b/.hg/store/data/src/mouse/_c_mouse_range_trk.cpp.i
deleted file mode 100644
index 4a1d915..0000000
Binary files a/.hg/store/data/src/mouse/_c_mouse_range_trk.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/mouse/_c_mouse_range_trk.h.i b/.hg/store/data/src/mouse/_c_mouse_range_trk.h.i
deleted file mode 100644
index ccb5d3d..0000000
Binary files a/.hg/store/data/src/mouse/_c_mouse_range_trk.h.i and /dev/null differ
diff --git a/.hg/store/data/src/mouse/_c_scr_opt_edit_line.cpp.i b/.hg/store/data/src/mouse/_c_scr_opt_edit_line.cpp.i
deleted file mode 100644
index afcf21a..0000000
Binary files a/.hg/store/data/src/mouse/_c_scr_opt_edit_line.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/mouse/_c_scr_opt_edit_line.h.i b/.hg/store/data/src/mouse/_c_scr_opt_edit_line.h.i
deleted file mode 100644
index 876bd07..0000000
Binary files a/.hg/store/data/src/mouse/_c_scr_opt_edit_line.h.i and /dev/null differ
diff --git a/.hg/store/data/src/mouse/_c_scr_opt_point.cpp.i b/.hg/store/data/src/mouse/_c_scr_opt_point.cpp.i
deleted file mode 100644
index 0663747..0000000
Binary files a/.hg/store/data/src/mouse/_c_scr_opt_point.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/mouse/_c_scr_opt_point.h.i b/.hg/store/data/src/mouse/_c_scr_opt_point.h.i
deleted file mode 100644
index caabbf3..0000000
Binary files a/.hg/store/data/src/mouse/_c_scr_opt_point.h.i and /dev/null differ
diff --git a/.hg/store/data/src/mouse/_c_scr_opt_range.cpp.i b/.hg/store/data/src/mouse/_c_scr_opt_range.cpp.i
deleted file mode 100644
index da1d56d..0000000
Binary files a/.hg/store/data/src/mouse/_c_scr_opt_range.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/mouse/_c_scr_opt_range.h.i b/.hg/store/data/src/mouse/_c_scr_opt_range.h.i
deleted file mode 100644
index e988c96..0000000
Binary files a/.hg/store/data/src/mouse/_c_scr_opt_range.h.i and /dev/null differ
diff --git a/.hg/store/data/src/mouse/_c_scr_opt_range_trk.cpp.i b/.hg/store/data/src/mouse/_c_scr_opt_range_trk.cpp.i
deleted file mode 100644
index d00251e..0000000
Binary files a/.hg/store/data/src/mouse/_c_scr_opt_range_trk.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/mouse/_c_scr_opt_range_trk.h.i b/.hg/store/data/src/mouse/_c_scr_opt_range_trk.h.i
deleted file mode 100644
index 7099a98..0000000
Binary files a/.hg/store/data/src/mouse/_c_scr_opt_range_trk.h.i and /dev/null differ
diff --git a/.hg/store/data/src/mouse/_c_scr_opt_unclutter.cpp.i b/.hg/store/data/src/mouse/_c_scr_opt_unclutter.cpp.i
deleted file mode 100644
index f7cbe78..0000000
Binary files a/.hg/store/data/src/mouse/_c_scr_opt_unclutter.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/mouse/_c_scr_opt_unclutter.h.i b/.hg/store/data/src/mouse/_c_scr_opt_unclutter.h.i
deleted file mode 100644
index eee926f..0000000
Binary files a/.hg/store/data/src/mouse/_c_scr_opt_unclutter.h.i and /dev/null differ
diff --git a/.hg/store/data/src/mouse/_c_scr_opt_wpt.cpp.i b/.hg/store/data/src/mouse/_c_scr_opt_wpt.cpp.i
deleted file mode 100644
index 4830f2b..0000000
Binary files a/.hg/store/data/src/mouse/_c_scr_opt_wpt.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/mouse/_c_scr_opt_wpt.h.i b/.hg/store/data/src/mouse/_c_scr_opt_wpt.h.i
deleted file mode 100644
index 37c8d66..0000000
Binary files a/.hg/store/data/src/mouse/_c_scr_opt_wpt.h.i and /dev/null differ
diff --git a/.hg/store/data/src/mouse/_i_mouse.cpp.i b/.hg/store/data/src/mouse/_i_mouse.cpp.i
deleted file mode 100644
index cdfdb9b..0000000
Binary files a/.hg/store/data/src/mouse/_i_mouse.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/mouse/_i_mouse.h.i b/.hg/store/data/src/mouse/_i_mouse.h.i
deleted file mode 100644
index 738a91c..0000000
Binary files a/.hg/store/data/src/mouse/_i_mouse.h.i and /dev/null differ
diff --git a/.hg/store/data/src/mouse/_i_mouse_edit_line.cpp.i b/.hg/store/data/src/mouse/_i_mouse_edit_line.cpp.i
deleted file mode 100644
index 2505e53..0000000
Binary files a/.hg/store/data/src/mouse/_i_mouse_edit_line.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/mouse/_i_mouse_edit_line.h.i b/.hg/store/data/src/mouse/_i_mouse_edit_line.h.i
deleted file mode 100644
index a34f487..0000000
Binary files a/.hg/store/data/src/mouse/_i_mouse_edit_line.h.i and /dev/null differ
diff --git a/.hg/store/data/src/mouse/_i_scr_opt.cpp.i b/.hg/store/data/src/mouse/_i_scr_opt.cpp.i
deleted file mode 100644
index 701dc02..0000000
Binary files a/.hg/store/data/src/mouse/_i_scr_opt.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/mouse/_i_scr_opt.h.i b/.hg/store/data/src/mouse/_i_scr_opt.h.i
deleted file mode 100644
index 86a57ee..0000000
Binary files a/.hg/store/data/src/mouse/_i_scr_opt.h.i and /dev/null differ
diff --git a/.hg/store/data/src/mouse/_i_scr_opt_edit_line.ui.i b/.hg/store/data/src/mouse/_i_scr_opt_edit_line.ui.i
deleted file mode 100644
index 72e2ced..0000000
Binary files a/.hg/store/data/src/mouse/_i_scr_opt_edit_line.ui.i and /dev/null differ
diff --git a/.hg/store/data/src/mouse/_i_scr_opt_point.ui.i b/.hg/store/data/src/mouse/_i_scr_opt_point.ui.i
deleted file mode 100644
index 030263c..0000000
Binary files a/.hg/store/data/src/mouse/_i_scr_opt_point.ui.i and /dev/null differ
diff --git a/.hg/store/data/src/mouse/_i_scr_opt_range.ui.i b/.hg/store/data/src/mouse/_i_scr_opt_range.ui.i
deleted file mode 100644
index 9a6521d..0000000
Binary files a/.hg/store/data/src/mouse/_i_scr_opt_range.ui.i and /dev/null differ
diff --git a/.hg/store/data/src/mouse/_i_scr_opt_range_trk.ui.i b/.hg/store/data/src/mouse/_i_scr_opt_range_trk.ui.i
deleted file mode 100644
index 0389d6e..0000000
Binary files a/.hg/store/data/src/mouse/_i_scr_opt_range_trk.ui.i and /dev/null differ
diff --git a/.hg/store/data/src/mouse/_i_scr_opt_wpt.ui.i b/.hg/store/data/src/mouse/_i_scr_opt_wpt.ui.i
deleted file mode 100644
index e83d854..0000000
Binary files a/.hg/store/data/src/mouse/_i_scr_opt_wpt.ui.i and /dev/null differ
diff --git a/.hg/store/data/src/pics/about.png.i b/.hg/store/data/src/pics/about.png.i
deleted file mode 100644
index 74bb6ea..0000000
Binary files a/.hg/store/data/src/pics/about.png.i and /dev/null differ
diff --git a/.hg/store/data/src/pics/compass.png.i b/.hg/store/data/src/pics/compass.png.i
deleted file mode 100644
index 45c7d7c..0000000
Binary files a/.hg/store/data/src/pics/compass.png.i and /dev/null differ
diff --git a/.hg/store/data/src/pics/compass.svg.i b/.hg/store/data/src/pics/compass.svg.i
deleted file mode 100644
index 65db067..0000000
Binary files a/.hg/store/data/src/pics/compass.svg.i and /dev/null differ
diff --git a/.hg/store/data/src/pics/no_map256x256.png.i b/.hg/store/data/src/pics/no_map256x256.png.i
deleted file mode 100644
index 44c3c03..0000000
Binary files a/.hg/store/data/src/pics/no_map256x256.png.i and /dev/null differ
diff --git a/.hg/store/data/src/pics/splash.png.d b/.hg/store/data/src/pics/splash.png.d
deleted file mode 100644
index bd11a51..0000000
Binary files a/.hg/store/data/src/pics/splash.png.d and /dev/null differ
diff --git a/.hg/store/data/src/pics/splash.png.i b/.hg/store/data/src/pics/splash.png.i
deleted file mode 100644
index 8d8ed45..0000000
Binary files a/.hg/store/data/src/pics/splash.png.i and /dev/null differ
diff --git a/.hg/store/data/src/pics/timezones.png.i b/.hg/store/data/src/pics/timezones.png.i
deleted file mode 100644
index b4db861..0000000
Binary files a/.hg/store/data/src/pics/timezones.png.i and /dev/null differ
diff --git a/.hg/store/data/src/plot/_c_plot.cpp.i b/.hg/store/data/src/plot/_c_plot.cpp.i
deleted file mode 100644
index 5cd4984..0000000
Binary files a/.hg/store/data/src/plot/_c_plot.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/plot/_c_plot.h.i b/.hg/store/data/src/plot/_c_plot.h.i
deleted file mode 100644
index 6b086c7..0000000
Binary files a/.hg/store/data/src/plot/_c_plot.h.i and /dev/null differ
diff --git a/.hg/store/data/src/plot/_c_plot_axis.cpp.i b/.hg/store/data/src/plot/_c_plot_axis.cpp.i
deleted file mode 100644
index e3de60a..0000000
Binary files a/.hg/store/data/src/plot/_c_plot_axis.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/plot/_c_plot_axis.h.i b/.hg/store/data/src/plot/_c_plot_axis.h.i
deleted file mode 100644
index b4e7a28..0000000
Binary files a/.hg/store/data/src/plot/_c_plot_axis.h.i and /dev/null differ
diff --git a/.hg/store/data/src/plot/_c_plot_axis_time.cpp.i b/.hg/store/data/src/plot/_c_plot_axis_time.cpp.i
deleted file mode 100644
index 10590c4..0000000
Binary files a/.hg/store/data/src/plot/_c_plot_axis_time.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/plot/_c_plot_axis_time.h.i b/.hg/store/data/src/plot/_c_plot_axis_time.h.i
deleted file mode 100644
index ff756ab..0000000
Binary files a/.hg/store/data/src/plot/_c_plot_axis_time.h.i and /dev/null differ
diff --git a/.hg/store/data/src/plot/_c_plot_data.cpp.i b/.hg/store/data/src/plot/_c_plot_data.cpp.i
deleted file mode 100644
index 35c16c1..0000000
Binary files a/.hg/store/data/src/plot/_c_plot_data.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/plot/_c_plot_data.h.i b/.hg/store/data/src/plot/_c_plot_data.h.i
deleted file mode 100644
index 77e12db..0000000
Binary files a/.hg/store/data/src/plot/_c_plot_data.h.i and /dev/null differ
diff --git a/.hg/store/data/src/plot/_c_plot_distance.cpp.i b/.hg/store/data/src/plot/_c_plot_distance.cpp.i
deleted file mode 100644
index 9afeda9..0000000
Binary files a/.hg/store/data/src/plot/_c_plot_distance.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/plot/_c_plot_distance.h.i b/.hg/store/data/src/plot/_c_plot_distance.h.i
deleted file mode 100644
index d068327..0000000
Binary files a/.hg/store/data/src/plot/_c_plot_distance.h.i and /dev/null differ
diff --git a/.hg/store/data/src/plot/_c_plot_profile.cpp.i b/.hg/store/data/src/plot/_c_plot_profile.cpp.i
deleted file mode 100644
index 138e0f3..0000000
Binary files a/.hg/store/data/src/plot/_c_plot_profile.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/plot/_c_plot_profile.h.i b/.hg/store/data/src/plot/_c_plot_profile.h.i
deleted file mode 100644
index 408406c..0000000
Binary files a/.hg/store/data/src/plot/_c_plot_profile.h.i and /dev/null differ
diff --git a/.hg/store/data/src/plot/_c_plot_speed.cpp.i b/.hg/store/data/src/plot/_c_plot_speed.cpp.i
deleted file mode 100644
index b3e5456..0000000
Binary files a/.hg/store/data/src/plot/_c_plot_speed.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/plot/_c_plot_speed.h.i b/.hg/store/data/src/plot/_c_plot_speed.h.i
deleted file mode 100644
index abda14a..0000000
Binary files a/.hg/store/data/src/plot/_c_plot_speed.h.i and /dev/null differ
diff --git a/.hg/store/data/src/plot/_c_plot_track.cpp.i b/.hg/store/data/src/plot/_c_plot_track.cpp.i
deleted file mode 100644
index 6edc532..0000000
Binary files a/.hg/store/data/src/plot/_c_plot_track.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/plot/_c_plot_track.h.i b/.hg/store/data/src/plot/_c_plot_track.h.i
deleted file mode 100644
index 922708d..0000000
Binary files a/.hg/store/data/src/plot/_c_plot_track.h.i and /dev/null differ
diff --git a/.hg/store/data/src/plot/_i_plot.cpp.i b/.hg/store/data/src/plot/_i_plot.cpp.i
deleted file mode 100644
index 6a3f11c..0000000
Binary files a/.hg/store/data/src/plot/_i_plot.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/plot/_i_plot.h.i b/.hg/store/data/src/plot/_i_plot.h.i
deleted file mode 100644
index c44423d..0000000
Binary files a/.hg/store/data/src/plot/_i_plot.h.i and /dev/null differ
diff --git a/.hg/store/data/src/plot/_i_track.cpp.i b/.hg/store/data/src/plot/_i_track.cpp.i
deleted file mode 100644
index a2f3437..0000000
Binary files a/.hg/store/data/src/plot/_i_track.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/plot/_i_track.h.i b/.hg/store/data/src/plot/_i_track.h.i
deleted file mode 100644
index 97157e6..0000000
Binary files a/.hg/store/data/src/plot/_i_track.h.i and /dev/null differ
diff --git a/.hg/store/data/src/qlgt/_c_import_database.cpp.i b/.hg/store/data/src/qlgt/_c_import_database.cpp.i
deleted file mode 100644
index 3b8aa75..0000000
Binary files a/.hg/store/data/src/qlgt/_c_import_database.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/qlgt/_c_import_database.h.i b/.hg/store/data/src/qlgt/_c_import_database.h.i
deleted file mode 100644
index 095dfe6..0000000
Binary files a/.hg/store/data/src/qlgt/_c_import_database.h.i and /dev/null differ
diff --git a/.hg/store/data/src/qlgt/_c_qlb.cpp.i b/.hg/store/data/src/qlgt/_c_qlb.cpp.i
deleted file mode 100644
index 0d0bb6a..0000000
Binary files a/.hg/store/data/src/qlgt/_c_qlb.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/qlgt/_c_qlb.h.i b/.hg/store/data/src/qlgt/_c_qlb.h.i
deleted file mode 100644
index 489d5df..0000000
Binary files a/.hg/store/data/src/qlgt/_c_qlb.h.i and /dev/null differ
diff --git a/.hg/store/data/src/qlgt/_c_qlgt_db.cpp.i b/.hg/store/data/src/qlgt/_c_qlgt_db.cpp.i
deleted file mode 100644
index 8f0da64..0000000
Binary files a/.hg/store/data/src/qlgt/_c_qlgt_db.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/qlgt/_c_qlgt_db.h.i b/.hg/store/data/src/qlgt/_c_qlgt_db.h.i
deleted file mode 100644
index b539bb6..0000000
Binary files a/.hg/store/data/src/qlgt/_c_qlgt_db.h.i and /dev/null differ
diff --git a/.hg/store/data/src/qlgt/_c_qlgt_diary.cpp.i b/.hg/store/data/src/qlgt/_c_qlgt_diary.cpp.i
deleted file mode 100644
index 9ddd488..0000000
Binary files a/.hg/store/data/src/qlgt/_c_qlgt_diary.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/qlgt/_c_qlgt_diary.h.i b/.hg/store/data/src/qlgt/_c_qlgt_diary.h.i
deleted file mode 100644
index 4a631af..0000000
Binary files a/.hg/store/data/src/qlgt/_c_qlgt_diary.h.i and /dev/null differ
diff --git a/.hg/store/data/src/qlgt/_c_qlgt_folder.cpp.i b/.hg/store/data/src/qlgt/_c_qlgt_folder.cpp.i
deleted file mode 100644
index 76b8b84..0000000
Binary files a/.hg/store/data/src/qlgt/_c_qlgt_folder.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/qlgt/_c_qlgt_folder.h.i b/.hg/store/data/src/qlgt/_c_qlgt_folder.h.i
deleted file mode 100644
index 95e6cfc..0000000
Binary files a/.hg/store/data/src/qlgt/_c_qlgt_folder.h.i and /dev/null differ
diff --git a/.hg/store/data/src/qlgt/_c_qlgt_route.cpp.i b/.hg/store/data/src/qlgt/_c_qlgt_route.cpp.i
deleted file mode 100644
index 292b1b8..0000000
Binary files a/.hg/store/data/src/qlgt/_c_qlgt_route.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/qlgt/_c_qlgt_route.h.i b/.hg/store/data/src/qlgt/_c_qlgt_route.h.i
deleted file mode 100644
index 90f170e..0000000
Binary files a/.hg/store/data/src/qlgt/_c_qlgt_route.h.i and /dev/null differ
diff --git a/.hg/store/data/src/qlgt/_c_qlgt_track.cpp.i b/.hg/store/data/src/qlgt/_c_qlgt_track.cpp.i
deleted file mode 100644
index 7e21238..0000000
Binary files a/.hg/store/data/src/qlgt/_c_qlgt_track.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/qlgt/_c_qlgt_track.h.i b/.hg/store/data/src/qlgt/_c_qlgt_track.h.i
deleted file mode 100644
index 873e5cc..0000000
Binary files a/.hg/store/data/src/qlgt/_c_qlgt_track.h.i and /dev/null differ
diff --git a/.hg/store/data/src/qlgt/_c_qlgt_wpt.cpp.i b/.hg/store/data/src/qlgt/_c_qlgt_wpt.cpp.i
deleted file mode 100644
index 542c1ef..0000000
Binary files a/.hg/store/data/src/qlgt/_c_qlgt_wpt.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/qlgt/_c_qlgt_wpt.h.i b/.hg/store/data/src/qlgt/_c_qlgt_wpt.h.i
deleted file mode 100644
index fe7494f..0000000
Binary files a/.hg/store/data/src/qlgt/_c_qlgt_wpt.h.i and /dev/null differ
diff --git a/.hg/store/data/src/qlgt/_c_qms_db.cpp.i b/.hg/store/data/src/qlgt/_c_qms_db.cpp.i
deleted file mode 100644
index 91aa883..0000000
Binary files a/.hg/store/data/src/qlgt/_c_qms_db.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/qlgt/_c_qms_db.h.i b/.hg/store/data/src/qlgt/_c_qms_db.h.i
deleted file mode 100644
index 0ae5a9d..0000000
Binary files a/.hg/store/data/src/qlgt/_c_qms_db.h.i and /dev/null differ
diff --git a/.hg/store/data/src/qlgt/_i_import_database.ui.i b/.hg/store/data/src/qlgt/_i_import_database.ui.i
deleted file mode 100644
index f82a591..0000000
Binary files a/.hg/store/data/src/qlgt/_i_import_database.ui.i and /dev/null differ
diff --git a/.hg/store/data/src/qlgt/_i_item.cpp.i b/.hg/store/data/src/qlgt/_i_item.cpp.i
deleted file mode 100644
index 07ed6f0..0000000
Binary files a/.hg/store/data/src/qlgt/_i_item.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/qlgt/_i_item.h.i b/.hg/store/data/src/qlgt/_i_item.h.i
deleted file mode 100644
index d9c37fd..0000000
Binary files a/.hg/store/data/src/qlgt/_i_item.h.i and /dev/null differ
diff --git a/.hg/store/data/src/qlgt/_i_qlgt_overlay.cpp.i b/.hg/store/data/src/qlgt/_i_qlgt_overlay.cpp.i
deleted file mode 100644
index b85903d..0000000
Binary files a/.hg/store/data/src/qlgt/_i_qlgt_overlay.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/qlgt/_i_qlgt_overlay.h.i b/.hg/store/data/src/qlgt/_i_qlgt_overlay.h.i
deleted file mode 100644
index 627135f..0000000
Binary files a/.hg/store/data/src/qlgt/_i_qlgt_overlay.h.i and /dev/null differ
diff --git a/.hg/store/data/src/qlgt/converter.cpp.i b/.hg/store/data/src/qlgt/converter.cpp.i
deleted file mode 100644
index f16b69f..0000000
Binary files a/.hg/store/data/src/qlgt/converter.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/resources.qrc.i b/.hg/store/data/src/resources.qrc.i
deleted file mode 100644
index 8960eb9..0000000
Binary files a/.hg/store/data/src/resources.qrc.i and /dev/null differ
diff --git a/.hg/store/data/src/resources.rc.i b/.hg/store/data/src/resources.rc.i
deleted file mode 100644
index aba908f..0000000
Binary files a/.hg/store/data/src/resources.rc.i and /dev/null differ
diff --git a/.hg/store/data/src/units/_c_time_zone_setup.cpp.i b/.hg/store/data/src/units/_c_time_zone_setup.cpp.i
deleted file mode 100644
index 40cd663..0000000
Binary files a/.hg/store/data/src/units/_c_time_zone_setup.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/units/_c_time_zone_setup.h.i b/.hg/store/data/src/units/_c_time_zone_setup.h.i
deleted file mode 100644
index a8702f6..0000000
Binary files a/.hg/store/data/src/units/_c_time_zone_setup.h.i and /dev/null differ
diff --git a/.hg/store/data/src/units/_c_unit_imperial.cpp.i b/.hg/store/data/src/units/_c_unit_imperial.cpp.i
deleted file mode 100644
index 8bda440..0000000
Binary files a/.hg/store/data/src/units/_c_unit_imperial.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/units/_c_unit_imperial.h.i b/.hg/store/data/src/units/_c_unit_imperial.h.i
deleted file mode 100644
index 193eacc..0000000
Binary files a/.hg/store/data/src/units/_c_unit_imperial.h.i and /dev/null differ
diff --git a/.hg/store/data/src/units/_c_unit_metric.cpp.i b/.hg/store/data/src/units/_c_unit_metric.cpp.i
deleted file mode 100644
index 55aab0f..0000000
Binary files a/.hg/store/data/src/units/_c_unit_metric.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/units/_c_unit_metric.h.i b/.hg/store/data/src/units/_c_unit_metric.h.i
deleted file mode 100644
index e3f69c4..0000000
Binary files a/.hg/store/data/src/units/_c_unit_metric.h.i and /dev/null differ
diff --git a/.hg/store/data/src/units/_c_unit_nautic.cpp.i b/.hg/store/data/src/units/_c_unit_nautic.cpp.i
deleted file mode 100644
index e5631db..0000000
Binary files a/.hg/store/data/src/units/_c_unit_nautic.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/units/_c_unit_nautic.h.i b/.hg/store/data/src/units/_c_unit_nautic.h.i
deleted file mode 100644
index 9ac94ab..0000000
Binary files a/.hg/store/data/src/units/_c_unit_nautic.h.i and /dev/null differ
diff --git a/.hg/store/data/src/units/_c_units_setup.cpp.i b/.hg/store/data/src/units/_c_units_setup.cpp.i
deleted file mode 100644
index 8776add..0000000
Binary files a/.hg/store/data/src/units/_c_units_setup.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/units/_c_units_setup.h.i b/.hg/store/data/src/units/_c_units_setup.h.i
deleted file mode 100644
index fa93457..0000000
Binary files a/.hg/store/data/src/units/_c_units_setup.h.i and /dev/null differ
diff --git a/.hg/store/data/src/units/_i_time_zone_setup.ui.i b/.hg/store/data/src/units/_i_time_zone_setup.ui.i
deleted file mode 100644
index 43f7b07..0000000
Binary files a/.hg/store/data/src/units/_i_time_zone_setup.ui.i and /dev/null differ
diff --git a/.hg/store/data/src/units/_i_unit.cpp.i b/.hg/store/data/src/units/_i_unit.cpp.i
deleted file mode 100644
index 0469fed..0000000
Binary files a/.hg/store/data/src/units/_i_unit.cpp.i and /dev/null differ
diff --git a/.hg/store/data/src/units/_i_unit.h.i b/.hg/store/data/src/units/_i_unit.h.i
deleted file mode 100644
index 4b8f183..0000000
Binary files a/.hg/store/data/src/units/_i_unit.h.i and /dev/null differ
diff --git a/.hg/store/data/src/units/_i_units_setup.ui.i b/.hg/store/data/src/units/_i_units_setup.ui.i
deleted file mode 100644
index 0fed790..0000000
Binary files a/.hg/store/data/src/units/_i_units_setup.ui.i and /dev/null differ
diff --git a/.hg/store/data/src/version.h.i b/.hg/store/data/src/version.h.i
deleted file mode 100644
index 2c28541..0000000
Binary files a/.hg/store/data/src/version.h.i and /dev/null differ
diff --git a/.hg/store/data/templates/header.h.i b/.hg/store/data/templates/header.h.i
deleted file mode 100644
index 2aecac3..0000000
Binary files a/.hg/store/data/templates/header.h.i and /dev/null differ
diff --git a/.hg/store/data/templates/source.cpp.i b/.hg/store/data/templates/source.cpp.i
deleted file mode 100644
index 8a87a81..0000000
Binary files a/.hg/store/data/templates/source.cpp.i and /dev/null differ
diff --git a/.hg/store/fncache b/.hg/store/fncache
deleted file mode 100644
index 8d27e2e..0000000
--- a/.hg/store/fncache
+++ /dev/null
@@ -1,1333 +0,0 @@
-data/src/icons/cache/attributes/dis_Recommended_for_kids.svg.i
-data/src/icons/cache/attributes/yes_Takes_less_than_an_hour.svg.i
-data/src/units/CUnitImperial.h.i
-data/src/icons/MimeIMG.svg.i
-data/src/gis/ovl/IDetailsOvlArea.ui.i
-data/src/icons/cache/attributes/yes_Truck_Driver_RV.svg.i
-data/src/icons/48x48/Left.png.i
-data/src/icons/32x32/cancel.png.i
-data/src/icons/PathGreen.svg.i
-data/src/plot/CPlot.cpp.i
-data/src/icons/cache/attributes/dis_Bicycles.svg.i
-data/src/icons/16x16/SaveGIS.png.i
-data/src/icons/cache/32x32/earth.png.i
-data/src/cursors/wptHighlight.png.i
-data/src/icons/32x32/view.png.i
-data/src/icons/UnLock.svg.i
-data/src/grid/CGrid.h.i
-data/src/icons/16x16/mime_rmap.png.i
-data/src/icons/48x48/AddWpt.png.i
-data/src/CCanvas.h.i
-data/src/icons/cache/32x32/bluepin.png.i
-data/src/icons/cache/attributes/no_Medium_hike_(1km-10km).svg.i
-data/src/icons/cache/attributes/no_Abandoned_Structure.svg.i
-data/src/gis/wpt/CDetailsGeoCache.h.i
-data/src/IDrawObject.h.i
-data/src/helpers/CSelectCopyAction.h.i
-data/src/icons/48x48/Scale.png.i
-data/src/icons/TrkProfile.svg.i
-data/src/plot/CPlotDistance.h.i
-data/src/icons/AddTrk.svg.i
-data/src/icons/Map.svg.i
-data/src/icons/cache/32x32/cito.png.i
-data/src/icons/48x48/ToBottom.png.i
-data/src/icons/TextItalic.svg.i
-data/src/icons/48x48/Add.png.i
-data/src/GeoMath.h.i
-data/src/gis/CGisProject.h.i
-data/src/gis/prj/CDetailsPrj.h.i
-data/src/icons/cache/attributes/dis_Picnic_tables_nearby.svg.i
-data/src/icons/48x48/AddImage.png.i
-data/src/gis/trk/filter/IFilterDouglasPeuker.ui.i
-data/src/icons/16x16/Close.png.i
-data/src/grid/CGridSetup.cpp.i
-data/src/icons/32x32/NightDay.png.i
-data/src/gis/ovl/CScrOptOvlArea.cpp.i
-data/src/plot/IPlot.h.i
-data/src/icons/cache/32x32/halfstar.png.i
-data/src/icons/32x32/QmsProject.png.i
-data/src/helpers/CWptIconDialog.cpp.i
-data/src/icons/8x8/bullet_black.png.i
-data/src/gis/IGisWidget.ui.i
-data/src/gis/trk/filter/CFilterOffsetElevation.cpp.i
-data/src/gis/trk/filter/IFilterNewDate.ui.i
-data/src/locale/qmapshack_cs.ts.i
-data/src/icons/48x48/Route.png.i
-data/src/icons/16x16/SetupMapWorkspace.png.i
-data/src/gis/db/CSetupDB.cpp.i
-data/src/icons/ToTop.svg.i
-data/3rdparty/DBConverter/qlgt/CQlgtDiary.h.i
-data/src/icons/cache/attributes/dis_Fuel_Nearby.svg.i
-data/src/icons/waypoints/BoxGreen.svg.i
-data/src/icons/cache/wherigo.svg.i
-data/src/icons/cache/halfstar.svg.i
-data/.hgtags.i
-data/src/icons/Apply.svg.i
-data/src/icons/cache/letterbox.svg.i
-data/src/map/CMapDraw.cpp.i
-data/src/map/CGrid.cpp.i
-data/src/dem/CDemList.cpp.i
-data/src/icons/48x48/Close.png.i
-data/src/icons/MapRoom.svg.i
-data/src/icons/cache/attributes/yes_Dangerous_Animals.svg.i
-data/src/icons/48x48/AddArea.png.i
-data/src/gis/wpt/IScrOptWpt.ui.i
-data/src/gis/trk/filter/CFilterDouglasPeuker.h.i
-data/src/icons/48x48/Copy.png.i
-data/src/mouse/CScrOptUnclutter.cpp.i
-data/src/icons/Time.svg.i
-data/src/icons/waypoints/Default.svg.i
-data/src/dem/IDemProp.h.i
-data/src/gis/CGisDraw.cpp.i
-data/src/helpers/ISelectCopyAction.ui.i
-data/src/icons/32x32/mime_vrt.png.i
-data/src/icons/48x48/PathOrange.png.i
-data/src/icons/32x32/font.png.i
-data/src/icons/waypoints/BoxBlue.svg.i
-data/cmake_uninstall.cmake.in.i
-data/src/icons/Close.svg.i
-data/src/icons/32x32/2NavProject.png.i
-data/src/icons/cache/32x32/event.png.i
-data/src/icons/48x48/GisProject.png.i
-data/src/icons/waypoints/DiamondBlue.svg.i
-data/src/icons/cache/attributes/yes_Flashlight_required.svg.i
-data/src/helpers/ILinksDialog.ui.i
-data/src/icons/cache/star.svg.i
-data/src/icons/48x48/SelectColor.png.i
-data/src/icons/cache/attributes/yes_Stealth_required.svg.i
-data/src/icons/48x48/WptProj.png.i
-data/src/icons/MouseWheel.svg.i
-data/src/gis/trk/filter/CFilterNewDate.cpp.i
-data/src/icons/MimeTMS.svg.i
-data/src/map/garmin/CGarminStrTbl8.h.i
-data/src/gis/trk/filter/filter.cpp.i
-data/src/icons/FolderDEM.svg.i
-data/src/icons/32x32/MimeRMAP.png.i
-data/src/resources.qrc.i
-data/src/mouse/CMouseEditLine.cpp.i
-data/changelog.txt.i
-data/src/icons/icons.svg.save.i
-data/src/icons/32x32/Move.png.i
-data/src/icons/32x32/wizzard.png.i
-data/src/icons/32x32/Info.png.i
-data/src/qlgt/CQlgtWpt.cpp.i
-data/src/icons/cache/attributes/dis_Camping_available.svg.i
-data/src/gis/db/CDBItem.h.i
-data/src/icons/48x48/AddTrk.png.i
-data/src/icons/48x48/MimeWMTS.png.i
-data/src/icons/icons.svg.save.d
-data/src/dem/CDemPathSetup.cpp.i
-data/src/icons/32x32/GridWizzard.png.i
-data/src/map/garmin/CGarminStrTbl6.cpp.i
-data/src/icons/16x16/deleteAll.png.i
-data/src/icons/cache/attributes/dis_May_require_wading.svg.i
-data/src/canvas/IDrawObject.h.i
-data/src/icons/cache/32x32/needs_maintenance.png.i
-data/src/icons/32x32/icons.svg.save.i
-data/src/icons/cache/attributes/dis_Available_at_all_times.svg.i
-data/src/map/garmin/CGarminTyp.cpp.i
-data/src/icons/16x16/SelectRange.png.i
-data/src/icons/48x48/Database.png.i
-data/src/pics/about.png.i
-data/src/map/wmts/CDiskCache.cpp.i
-data/src/icons/8x8/bullet_dark_green.png.i
-data/src/icons/16x16/toolTip.png.i
-data/src/icons/cache/greenpin.svg.i
-data/src/icons/cache/attributes/yes_Park_and_Grab.svg.i
-data/src/icons/48x48/SaveGIS.png.i
-data/src/icons/Grid.svg.i
-data/src/icons/16x16/map.png.i
-data/src/icons/QMapShack.svg.i
-data/src/icons/cache/attributes/dis_Cliff___falling_rocks.svg.i
-data/src/gis/rte/CGisItemRte.cpp.i
-data/src/icons/cache/attributes/yes_Medium_hike_(1km-10km).svg.i
-data/src/mouse/CMouseMoveWpt.cpp.i
-data/src/icons/32x32/Image.png.i
-data/call_Uncrustify.sh.i
-data/src/icons/48x48/ReloadImage.png.i
-data/src/icons/Check.svg.i
-data/src/mouse/CScrOptEditLine.cpp.i
-data/src/icons/cache/attributes/dis_Field_Puzzle.svg.i
-data/src/plot/CPlotProfile.h.i
-data/src/icons/PointShow.svg.i
-data/src/map/cache/IDiskCache.cpp.i
-data/src/mouse/IScrOptWpt.ui.i
-data/src/gis/trk/filter/CFilterDelete.cpp.i
-data/src/icons/32x32/Up.png.i
-data/src/gis/prj/IGisProject.cpp.i
-data/src/icons/cache/attributes/yes_Abandoned_Structure.svg.i
-data/src/icons/cache/attributes/yes_Available_during_winter.svg.i
-data/src/icons/32x32/Tainted.png.i
-data/src/icons/MimeJNX.svg.i
-data/src/icons/48x48/Paste.png.i
-data/src/icons/16x16/Font.png.i
-data/src/icons/32x32/TextRight.png.i
-data/src/icons/SaveView.svg.i
-data/src/icons/AddMapWorkspace.svg.i
-data/src/gis/CGisListDB.cpp.i
-data/src/icons/cache/32x32/pushpin.png.i
-data/src/icons/32x32/TextCenter.png.i
-data/src/icons/16x16/FromMap.png.i
-data/qmapshack.1.i
-data/src/mouse/IMouse.cpp.i
-data/src/icons/32x32/mime_jnx.png.i
-data/src/icons/48x48/Down.png.i
-data/src/gis-search/IGisSearchWidget.ui.i
-data/src/icons/cache/pushpin.svg.i
-data/src/icons/32x32/Reset.png.i
-data/src/icons/32x32/PathBlue.png.i
-data/src/helpers/CSelectProjectDialog.cpp.i
-data/src/icons/16x16/jnx.png.i
-data/src/gis/CGisListWks.h.i
-data/src/icons/48x48/2NavProject.png.i
-data/src/icons/32x32/GridSetup.png.i
-data/src/icons/16x16/FolderMap.png.i
-data/src/icons/waypoints/32x32/DiamondGreen.png.i
-data/src/icons/cache/attributes/dis_Scuba_gear.svg.i
-data/src/helpers/IInputDialog.ui.i
-data/src/icons/32x32/DeleteOne.png.i
-data/src/icons/cache/treasure.svg.i
-data/Doxyfile.i
-data/src/icons/48x48/Off.png.i
-data/src/icons/16x16/Copy.png.i
-data/src/icons/48x48/MimeRMAP.png.i
-data/src/icons/48x48/Pattern.png.i
-data/src/units/IUnitsSetup.ui.i
-data/src/icons/Cut.svg.i
-data/src/gis/ovl/CGisItemOvlArea.cpp.i
-data/3rdparty/DBConverter/CMainWindow.h.i
-data/src/helpers/CTextEditWidget.cpp.i
-data/src/icons/cache/attributes/yes_Difficult_climbing.svg.i
-data/src/icons/cache/attributes/no_Telephone_nearby.svg.i
-data/src/icons/32x32/to-top.png.i
-data/nsi/QMapShack.ico.i
-data/src/icons/32x32/AreaMove.png.i
-data/src/plot/CPlotProfile.cpp.i
-data/src/icons/cache/attributes/dis_Night_Cache.svg.i
-data/src/icons/32x32/mime_rmap.png.i
-data/src/cursors/cursorArrow.png.i
-data/src/icons/cache/attributes/no_Picnic_tables_nearby.svg.i
-data/src/icons/8x8/bullet_dark_gray.png.i
-data/src/icons/cache/attributes/no_Campfires.svg.i
-data/src/icons/cache/32x32/up_icon.png.i
-data/src/icons/waypoints/32x32/DiamondBlue.png.i
-data/src/icons/16x16/Off.png.i
-data/src/icons/32x32/Lock.png.i
-data/src/icons/48x48/SetEle.png.i
-data/src/map/wmts/IDiskCache.h.i
-data/src/icons/32x32/Undo.png.i
-data/src/icons/48x48/Area.png.i
-data/3rdparty/CGetOpt/CGetOpt.cpp.i
-data/src/icons/48x48/DatabaseSetup.png.i
-data/src/gis/ovl/IScrOptOvlArea.ui.i
-data/src/icons/32x32/MimeTMS.png.i
-data/src/icons/32x32/AddTrk.png.i
-data/src/gis/qms/CQmsProject.h.i
-data/src/icons/48x48/ToolTip.png.i
-data/src/icons/32x32/AddProject.png.i
-data/src/icons/cache/attributes/no_Stroller_accessible.svg.i
-data/src/icons/DeleteMultiple.svg.i
-data/src/helpers/CElevationDialog.h.i
-data/src/map/CMapTMS.cpp.i
-data/src/cursors/cursorMoveMap.png.i
-data/3rdparty/DBConverter/qlgt/IItem.h.i
-data/3rdparty/DBConverter/qlgt/IQlgtOverlay.cpp.i
-data/src/icons/16x16/gridWizard.png.i
-data/src/gis/trk/filter/CFilterMedian.cpp.i
-data/src/map/CMapVRT.cpp.i
-data/src/icons/32x32/PathOrange.png.i
-data/src/icons/cache/attributes/dis_Park_and_Grab.svg.i
-data/GpxExamples/COPYRIGHT.i
-data/src/icons/Down.svg.i
-data/src/canvas/CCanvas.cpp.i
-data/src/icons/cache/attributes/no_Camping_available.svg.i
-data/src/icons/waypoints/PinRed.svg.i
-data/src/icons/48x48/PathGreen.png.i
-data/src/icons/8x8/bullet_dark_magenta.png.i
-data/src/icons/32x32/SetupMapWorkspace.png.i
-data/src/mouse/CScrOptRangeTrk.h.i
-data/src/helpers/CLinksDialog.h.i
-data/src/icons/Track.svg.i
-data/src/icons/48x48/3DFix.png.i
-data/src/icons/16x16/icons.svg.save.i
-data/nsi/QMapShack_Installer32.nsi.i
-data/src/qlgt/CQlgtFolder.cpp.i
-data/src/icons/32x32/delete.png.i
-data/src/icons/32x32/PointMove.png.i
-data/src/map/CMapPropSetup.cpp.i
-data/src/units/CUnitsSetup.h.i
-data/src/icons/cache/32x32/SearchIcon.png.i
-data/src/icons/GridWizzard.svg.i
-data/src/device/CDeviceGarmin.cpp.i
-data/src/icons/16x16/Right.png.i
-data/src/icons/16x16/QMapShack.png.i
-data/src/icons/TextUnderlined.svg.i
-data/src/icons/48x48/VrtBuilder.png.i
-data/src/map/CMapMAP.cpp.i
-data/src/icons/DeleteOne.svg.i
-data/src/map/garmin/CGarminStrTbl6.h.i
-data/src/gis/CGisItemTrk.h.i
-data/src/icons/16x16/ToBottom.png.i
-data/src/gis/trk/filter/CFilterMedian.h.i
-data/src/map/garmin/CGarminStrTblUtf8.h.i
-data/src/gis/wpt/CDetailsGeoCache.cpp.i
-data/src/qlgt/CQlgtFolder.h.i
-data/src/grid/IProjWizard.ui.i
-data/src/icons/16x16/selectColor.png.i
-data/src/map/CMapJNX.h.i
-data/src/icons/2NavProject.svg.i
-data/src/helpers/CLinksDialog.cpp.i
-data/src/mouse/CScrOptRangeTrk.cpp.i
-data/src/icons/32x32/Cancel.png.i
-data/templates/source.cpp.i
-data/src/gis/db/CDBFolderLostFound.h.i
-data/src/icons/32x32/EditDetails.png.i
-data/src/icons/8x8/bullet_orange.png.i
-data/nsi/Help.ico.i
-data/3rdparty/DBConverter/qlgt/CQlgtRoute.h.i
-data/src/icons/32x32/LineMove.png.i
-data/src/icons/8x8/bullet_cyan.png.i
-data/src/icons/32x32/UnitSetup.png.i
-data/src/icons/32x32/DatabaseConvert.png.i
-data/src/icons/cache/corrected.svg.i
-data/src/cursors/cursorMoveWpt.png.i
-data/src/icons/16x16/AddWpt.png.i
-data/src/icons/48x48/TextLeft.png.i
-data/src/helpers/CInputDialog.h.i
-data/src/icons/32x32/Add.png.i
-data/src/icons/16x16/GridWizzard.png.i
-data/src/icons/16x16/MimeVRT.png.i
-data/src/helpers/ITextEditWidget.ui.i
-data/src/map/CMapRMAP.cpp.i
-data/src/icons/16x16/EditText.png.i
-data/src/icons/Error.svg.i
-data/src/gis/trk/filter/CFilterOffsetElevation.h.i
-data/src/gis/trk/filter/CFilterObscureDate.h.i
-data/src/gis/ovl/CDetailsOvlArea.cpp.i
-data/src/icons/16x16/GisProject.png.i
-data/src/icons/16x16/rmap.png.i
-data/nsi/konsole.ico.i
-data/src/icons/16x16/LineMove.png.i
-data/src/dem/CDem.cpp.i
-data/src/icons/32x32/map.png.i
-data/src/map/IMap.h.i
-data/src/icons/48x48/Help.png.i
-data/src/icons/cache/attributes/dis_Off-road_vehicles.svg.i
-data/src/icons/8x8/bullet_brown.png.i
-data/src/gis/CGisProject.cpp.i
-data/src/icons/16x16/EditDetails.png.i
-data/src/icons/TextRight.svg.i
-data/src/icons/cache/attributes/yes_Fuel_Nearby.svg.i
-data/src/icons/48x48/GridWizzard.png.i
-data/src/icons/48x48/Right.png.i
-data/src/icons/cache/virtual.svg.i
-data/src/mouse/CMouseRangeTrk.h.i
-data/src/icons/cache/attributes/yes_Climbing_gear.svg.i
-data/src/dem/CDemList.h.i
-data/src/helpers/CPositionDialog.h.i
-data/src/icons/48x48/DeleteMultiple.png.i
-data/src/gis/tnv/CTwoNavProject.cpp.i
-data/src/helpers/CAppOpts.h.i
-data/src/icons/32x32/UnLock.png.i
-data/src/gis/gpx/serialization.cpp.i
-data/src/gis/search/CSearchGoogle.cpp.i
-data/src/icons/TextJustified.svg.i
-data/src/gis/wpt/CProjWpt.cpp.i
-data/src/icons/cache/attributes/dis_Public_restrooms_nearby.svg.i
-data/src/icons/cache/unknown.svg.i
-data/src/icons/32x32/Paste.png.i
-data/src/icons/32x32/TrkCut.png.i
-data/src/icons/48x48/MapRoom.png.i
-data/src/icons/cache/attributes/no_Stealth_required.svg.i
-data/src/dem/CDemItem.cpp.i
-data/src/icons/cache/32x32/star.png.i
-data/src/icons/48x48/2DFix.png.i
-data/src/CMapDB.cpp.i
-data/src/icons/LoadView.svg.i
-data/src/icons/cache/attributes/yes_Off-road_vehicles.svg.i
-data/src/mouse/IMouse.h.i
-data/cmake/Modules/FindXercesC.cmake.i
-data/3rdparty/DBConverter/CQmsDb.cpp.i
-data/src/icons/16x16/WptProj.png.i
-data/src/icons/32x32/FromMap.png.i
-data/src/map/CMapList.cpp.i
-data/src/CFileExt.h.i
-data/src/icons/32x32/GisProject.png.i
-data/src/icons/32x32/Path.png.i
-data/src/mouse/CScrOptPoint.h.i
-data/src/icons/48x48/MimeDemVRT.png.i
-data/src/plot/CPlotTrack.h.i
-data/3rdparty/DBConverter/qlgt/IItem.cpp.i
-data/src/gis/rte/CScrOptRte.h.i
-data/src/icons/cache/attributes/yes_Parking_available.svg.i
-data/src/gis/wpt/CScrOptWpt.cpp.i
-data/src/pics/noMap256x256.png.i
-data/src/icons/Opacity.svg.i
-data/src/gis/CGisItemRte.cpp.i
-data/src/icons/16x16/TextBold.png.i
-data/src/helpers/CHistoryListWidget.h.i
-data/src/icons/cache/mega.svg.i
-data/src/gis/trk/filter/CFilterReplaceElevation.h.i
-data/src/icons/48x48/SaveGISAs.png.i
-data/src/icons/16x16/toBottom.png.i
-data/src/gis/db/CDBFolderProject.h.i
-data/src/gis/db/CDBItem.cpp.i
-data/src/icons/16x16/view.png.i
-data/src/gis/bin/serialization.cpp.i
-data/src/icons/WptProx.svg.i
-data/src/gis/IGisProject.cpp.i
-data/src/icons/16x16/ToTop.png.i
-data/src/icons/cache/attributes/no_Park_and_Grab.svg.i
-data/src/device/CDeviceWatcherWindows.h.i
-data/src/icons/16x16/NoFix.png.i
-data/src/icons/cache/SearchIcon.svg.i
-data/src/icons/cache/32x32/corrected.png.i
-data/src/icons/32x32/selectColor.png.i
-data/src/map/garmin/CGarminPoint.cpp.i
-data/src/icons/48x48/MouseWheel.png.i
-data/src/IDB.cpp.i
-data/src/cursors/COPYRIGHT.i
-data/src/icons/16x16/PointMove.png.i
-data/src/icons/cache/32x32/mega.png.i
-data/src/icons/32x32/Copy.png.i
-data/src/map/wmts/CDiskCache.h.i
-data/src/device/CDeviceWatcherWindows.cpp.i
-data/src/icons/cache/attributes/dis_Poison_plants.svg.i
-data/src/icons/cache/attributes/yes_Hunting.svg.i
-data/src/icons/cache/ftf.svg.i
-data/src/canvas/CCanvasSetup.h.i
-data/src/icons/cache/attributes/no_Public_restrooms_nearby.svg.i
-data/src/icons/48x48/TextCenter.png.i
-data/src/icons/cache/32x32/maxicon.png.i
-data/src/map/garmin/Garmin.h.i
-data/src/icons/cache/attributes/yes_Boat.svg.i
-data/src/icons/cache/bluepin.svg.i
-data/src/gis/db/ISetupDatabase.ui.i
-data/src/icons/16x16/MimeJNX.png.i
-data/src/icons/cache/attributes/dis_Dangerous_area.svg.i
-data/src/icons/cache/attributes/dis_Drinking_water_nearby.svg.i
-data/src/icons/cache/32x32/log.png.i
-data/GpxExamples/qlandkarte.gpx.i
-data/src/icons/cache/attributes/dis_Available_during_winter.svg.i
-data/src/icons/cache/attributes/dis_Campfires.svg.i
-data/src/icons/48x48/PointShow.png.i
-data/src/helpers/IWptIconDialog.ui.i
-data/src/icons/32x32/toBottom.png.i
-data/src/icons/SaveGIS.svg.i
-data/src/icons/48x48/FolderDEM.png.i
-data/src/mouse/CScrOptEditLine.h.i
-data/src/icons/16x16/down.png.i
-data/src/icons/32x32/MimeMAP.png.i
-data/src/icons/cache/earth.svg.i
-data/src/mouse/IScrOpt.h.i
-data/src/icons/cache/attributes/dis_Parking_available.svg.i
-data/src/plot/CPlotData.cpp.i
-data/src/icons/32x32/AddMapWorkspace.png.i
-data/src/icons/cache/attributes/yes_Access_or_parking_fee.svg.i
-data/src/helpers/CPhotoViewer.h.i
-data/src/icons/Database.svg.i
-data/src/gis/ovl/CScrOptOvlArea.h.i
-data/src/icons/cache/COPYRIGHT.i
-data/src/icons/Device.svg.i
-data/src/icons/32x32/PointShow.png.i
-data/src/gis/trk/filter/CFilterNewDate.h.i
-data/src/icons/cache/32x32/wherigo.png.i
-data/qmapshack.desktop.i
-data/src/icons/cache/attributes/yes_Long_Hike_(+10km).svg.i
-data/src/icons/32x32/ToTop.png.i
-data/src/animation/COPYRIGHT.i
-data/src/icons/16x16/TrkCut.png.i
-data/src/units/CTimeZoneSetup.cpp.i
-data/src/icons/cache/attributes/yes_Snowshoes.svg.i
-data/src/icons/cache/attributes/no_Fuel_Nearby.svg.i
-data/3rdparty/DBConverter/qlgt/CQlb.cpp.i
-data/src/device/CDeviceTwoNav.h.i
-data/src/helpers/CSelectCopyAction.cpp.i
-data/src/icons/cache/attributes/dis_Long_Hike_(+10km).svg.i
-data/src/icons/cache/attributes/no_Night_Cache.svg.i
-data/CMakeLists.txt.i
-data/src/icons/cache/32x32/treasure.png.i
-data/src/icons/cache/maxicon.svg.i
-data/src/helpers/CTextEditWidget.h.i
-data/src/icons/16x16/DeleteOne.png.i
-data/src/icons/48x48/MimeJNX.png.i
-data/src/gis/db/ISetupDB.ui.i
-data/src/resources.rc.i
-data/src/icons/48x48/PathBlue.png.i
-data/src/mouse/CScrOptPoint.cpp.i
-data/src/icons/48x48/TextItalic.png.i
-data/src/icons/GisProject.svg.i
-data/src/icons/waypoints/32x32/FlagBlue.png.i
-data/src/icons/48x48/Print.png.i
-data/src/icons/48x48/gridWizard.png.i
-data/src/icons/cache/32x32/other.png.i
-data/GpxExamples/basecamp.gpx.i
-data/src/map/IMapPropSetup.cpp.i
-data/src/icons/PointHide.svg.i
-data/src/dem/IDemPropSetup.ui.i
-data/src/gis/db/CSetupWorkspace.cpp.i
-data/src/mouse/CScrOptRange.h.i
-data/src/icons/cache/minicon.svg.i
-data/src/mouse/IScrOptRange.ui.i
-data/src/gis/wpt/CDetailsWpt.cpp.i
-data/src/icons/32x32/MouseWheel.png.i
-data/src/grid/mitab.cpp.i
-data/src/icons/32x32/AddImage.png.i
-data/src/icons/Reverse.svg.i
-data/src/qlgt/IItem.h.i
-data/src/icons/LineMove.svg.i
-data/src/icons/32x32/nightDay.png.i
-data/3rdparty/CGetOpt/CMakeLists.txt.i
-data/src/icons/cache/attributes/yes_Special_Tool_Required.svg.i
-data/src/units/CUnitsSetup.cpp.i
-data/src/gis/IGisLine.h.i
-data/src/icons/32x32/SaveGIS.png.i
-data/src/map/mapsforge/types.cpp.i
-data/src/icons/cache/32x32/found.png.i
-data/src/icons/32x32/CutHistory.png.i
-data/src/icons/48x48/SetupMapWorkspace.png.i
-data/src/icons/16x16/Info.png.i
-data/src/dem/CDemItem.h.i
-data/cmake/Modules/COPYING-CMAKE-SCRIPTS.i
-data/src/icons/48x48/AreaMove.png.i
-data/src/icons/16x16/Lock.png.i
-data/src/icons/waypoints/Residence.svg.i
-data/mkfile.i
-data/maproom.desktop.i
-data/src/icons/32x32/rmap.png.i
-data/src/qlgt/IQlgtOverlay.cpp.i
-data/src/icons/16x16/MouseWheel.png.i
-data/src/dem/CDemPropSetup.cpp.i
-data/cmake/Modules/FindJPEG.cmake.i
-data/3rdparty/CGetOpt/classGetOpt.html.i
-data/src/map/garmin/CGarminStrTblUtf8.cpp.i
-data/src/icons/32x32/Time.png.i
-data/src/icons/16x16/SelectColor.png.i
-data/src/gis/trk/filter/CFilterReplaceElevation.cpp.i
-data/src/animation/README.i
-data/src/icons/48x48/AddMapWorkspace.png.i
-data/src/icons/cache/attributes/yes_Scenic_view.svg.i
-data/src/icons/32x32/Print.png.i
-data/src/icons/32x32/TextBold.png.i
-data/src/icons/cache/attributes/yes_Cross_Country_Skis.svg.i
-data/src/icons/Pattern.svg.i
-data/src/gis/db/CLostFoundProject.h.i
-data/src/icons/cache/attributes/yes_Bicycles.svg.i
-data/src/icons/cache/attributes/yes_Cliff___falling_rocks.svg.i
-data/src/icons/16x16/fromMap.png.i
-data/src/icons/32x32/DatabaseSetup.png.i
-data/src/icons/32x32/3DFix.png.i
-data/src/icons/48x48/UnLock.png.i
-data/src/cursors/cursorMove.png.i
-data/src/icons/cache/webcam.svg.i
-data/src/icons/32x32/QMapShack.png.i
-data/src/icons/32x32/TextItalic.png.i
-data/src/icons/cache/attributes/dis_Quads.svg.i
-data/src/icons/48x48/gridSetup.png.i
-data/src/icons/cache/down_icon.svg.i
-data/src/icons/MimeWMTS.svg.i
-data/src/icons/cache/attributes/dis_Dangerous_Animals.svg.i
-data/src/icons/16x16/poiText.png.i
-data/src/gis/db/CDBFolderLostFound.cpp.i
-data/src/icons/ToolTip.svg.i
-data/3rdparty/DBConverter/converter.cpp.i
-data/src/grid/mitab.h.i
-data/src/icons/cache/attributes/yes_Dogs.svg.i
-data/src/grid/CGridSetup.h.i
-data/src/icons/16x16/TextJustified.png.i
-data/src/icons/AddProject.svg.i
-data/src/icons/48x48/Check.png.i
-data/src/icons/cache/DistIcon.svg.i
-data/src/icons/16x16/DeleteMultiple.png.i
-data/src/map/CMapPropSetup.h.i
-data/src/icons/8x8/bullet_white.png.i
-data/src/map/CMapJNX.cpp.i
-data/src/CCanvas.cpp.i
-data/src/gis/db/CDBFolderProject.cpp.i
-data/src/icons/16x16/scale.png.i
-data/src/icons/SelectColor.svg.i
-data/src/device/IDevice.h.i
-data/src/icons/waypoints/BoxRed.svg.i
-data/src/icons/AddWpt.svg.i
-data/src/icons/AddArea.svg.i
-data/src/icons/cache/attributes/no_Recommended_for_kids.svg.i
-data/src/icons/32x32/Left.png.i
-data/src/icons/cache/waypoint-flag-red.svg.i
-data/src/icons/cache/attributes/yes_Drinking_water_nearby.svg.i
-data/src/icons/waypoints/FlagRed.svg.i
-data/src/icons/32x32/WptProx.png.i
-data/3rdparty/CGetOpt/getopt.pro.i
-data/src/icons/2DFix.svg.i
-data/src/icons/cache/attributes/yes_Wheelchair_accessible.svg.i
-data/src/CAbout.cpp.i
-data/src/icons/DelImage.svg.i
-data/src/helpers/IPhotoAlbum.ui.i
-data/src/icons/cache/attributes/yes_Camping_available.svg.i
-data/src/gis/trk/filter/IFilterReset.ui.i
-data/templates/header.h.i
-data/src/icons/32x32/Start.png.i
-data/src/icons/waypoints/32x32/BoxBlue.png.i
-data/src/gis/db/CDBFolderGroup.cpp.i
-data/src/gis/CGisItemWpt.h.i
-data/src/units/CUnitImperial.cpp.i
-data/src/icons/cache/attributes/no_Recommended_at_night.svg.i
-data/src/gis/trk/CScrOptTrk.h.i
-data/src/map/IMapProp.h.i
-data/src/helpers/CHistoryListWidget.cpp.i
-data/src/map/garmin/IGarminStrTbl.cpp.i
-data/src/locale/qmapshack_es.ts.i
-data/src/units/CUnitNautic.cpp.i
-data/src/icons/GpxProject.svg.i
-data/src/icons/48x48/Up.png.i
-data/src/map/IMapProp.ui.i
-data/src/map/CMapWMTS.h.i
-data/src/mouse/CMouseEditArea.cpp.i
-data/src/icons/16x16/MimeWMTS.png.i
-data/src/icons/cache/attributes/yes_Watch_for_livestock.svg.i
-data/src/icons/NoFix.svg.i
-data/src/gis/CGisItemRte.h.i
-data/src/icons/32x32/jnx.png.i
-data/src/gis/db/CDBFolderOther.cpp.i
-data/src/pics/compass.svg.i
-data/src/gis/trk/filter/CFilterObscureDate.cpp.i
-data/src/icons/waypoints/DiamondRed.svg.i
-data/src/plot/CPlotAxis.h.i
-data/src/icons/cache/attributes/yes_Thorns.svg.i
-data/src/icons/Paste.svg.i
-data/src/icons/8x8/bullet_dark_cyan.png.i
-data/src/gis/IGisItem.cpp.i
-data/cmake/CMakeLists.txt.i
-data/src/icons/32x32/DeleteMultiple.png.i
-data/src/map/CGrid.h.i
-data/src/canvas/ICanvasSetup.ui.i
-data/3rdparty/DBConverter/CQlgtDb.h.i
-data/src/IDB.h.i
-data/src/icons/16x16/TextRight.png.i
-data/src/gis/db/CSetupDB.h.i
-data/src/icons/cache/attributes/dis_Stroller_accessible.svg.i
-data/src/IMainWindow.ui.i
-data/src/icons/16x16/Cut.png.i
-data/src/icons/cache/attributes/dis_May_require_swimming.svg.i
-data/src/icons/16x16/gridSetup.png.i
-data/src/icons/32x32/AddArea.png.i
-data/src/icons/waypoints/32x32/DiamondRed.png.i
-data/maproom.1.i
-data/src/icons/cache/attributes/yes_Snowmobiles.svg.i
-data/src/icons/16x16/flipDirection.png.i
-data/src/icons/32x32/fromMap.png.i
-data/src/cursors/cursorMoveLine.png.i
-data/src/icons/32x32/POIText.png.i
-data/src/dem/CDemVRT.cpp.i
-data/src/grid/CProjWizard.cpp.i
-data/src/icons/32x32/Track.png.i
-data/src/icons/48x48/TextUnderlined.png.i
-data/src/icons/cache/32x32/traditional.png.i
-data/src/icons/cache/attributes/no_Long_Hike_(+10km).svg.i
-data/src/icons/48x48/EditText.png.i
-data/src/icons/48x48/Track.png.i
-data/src/icons/cache/attributes/yes_Poison_plants.svg.i
-data/src/icons/cache/attributes/yes_Stroller_accessible.svg.i
-data/src/icons/cache/attributes/dis_Stealth_required.svg.i
-data/src/icons/48x48/PointHide.png.i
-data/src/locale/qmapshack_de.ts.i
-data/src/icons/WptProj.svg.i
-data/src/icons/cache/32x32/write_note.png.i
-data/src/icons/cache/attributes/dis_Abandoned_mines.svg.i
-data/src/pics/splash.png.i
-data/src/icons/16x16/3DFix.png.i
-data/src/icons/16x16/NightDay.png.i
-data/src/icons/DatabaseConvert.svg.i
-data/src/icons/CutHistory.svg.i
-data/src/icons/cache/attributes/yes_Significant_Hike.svg.i
-data/src/map/CMapPathSetup.h.i
-data/src/icons/waypoints/FlagGreen.svg.i
-data/src/gis/db/CSetupDatabase.cpp.i
-data/src/gis/wpt/CProjWpt.h.i
-data/src/gis-search/CSearchGoogle.cpp.i
-data/src/gis-search/CGisSearchWidget.h.i
-data/src/icons/16x16/Scale.png.i
-data/src/icons/cache/attributes/dis_Motorcycles.svg.i
-data/src/icons/32x32/TimeZoneSetup.png.i
-data/src/icons/32x32/FolderMap.png.i
-data/src/gis/trk/filter/IFilterOffsetElevation.ui.i
-data/src/gis/trk/IDetailsTrk.ui.i
-data/src/icons/16x16/mime_img.png.i
-data/src/icons/48x48/NoFix.png.i
-data/src/icons/waypoints/Waypoint.svg.i
-data/src/dem/CDemDraw.h.i
-data/src/CAppOpts.h.i
-data/src/icons/Off.svg.i
-data/src/icons/48x48/FromMap.png.i
-data/src/map/CMapVrtBuilder.cpp.i
-data/nsi/kfm_home.ico.i
-data/src/icons/Lock.svg.i
-data/src/icons/48x48/Cut.png.i
-data/src/map/CMapIMG.cpp.i
-data/src/icons/AreaMove.svg.i
-data/src/units/ITimeZoneSetup.ui.i
-data/src/units/IUnit.cpp.i
-data/src/icons/16x16/font.png.i
-data/src/gis/trk/filter/IFilterReplaceElevation.ui.i
-data/src/icons/32x32/Link.png.i
-data/src/icons/32x32/NoFix.png.i
-data/src/icons/cache/restore.svg.i
-data/src/icons/48x48/NightDay.png.i
-data/src/icons/16x16/ToolTip.png.i
-data/src/icons/PointMove.svg.i
-data/src/icons/16x16/MimeDemVRT.png.i
-data/src/map/IMap.cpp.i
-data/src/map/mapsforge/types.h.i
-data/src/gis/trk/filter/CFilterSpeed.h.i
-data/src/icons/cache/attributes/dis_Scenic_view.svg.i
-data/src/icons/cache/32x32/dnf.png.i
-data/src/gis/db/CLostFoundProject.cpp.i
-data/src/gis-search/CSearchGoogle.h.i
-data/src/gis/IGisProject.h.i
-data/src/icons/cache/attributes/no_Wheelchair_accessible.svg.i
-data/src/icons/48x48/AddProject.png.i
-data/src/icons/cache/attributes/dis_Needs_maintenance.svg.i
-data/src/qlgt/CQlgtDiary.cpp.i
-data/src/map/CMapList.h.i
-data/src/plot/CPlotSpeed.h.i
-data/src/gis-search/IGisSearch.cpp.i
-data/src/dem/CDem.h.i
-data/src/icons/48x48/PointMove.png.i
-data/src/icons/cache/attributes/dis_Telephone_nearby.svg.i
-data/src/mouse/IScrOptRangeTrk.ui.i
-data/src/icons/32x32/Area.png.i
-data/src/icons/cache/found.svg.i
-data/src/icons/32x32/WptProj.png.i
-data/src/icons/cache/32x32/waypoint-flag-red.png.i
-data/src/map/CMapWMTS.cpp.autosave.i
-data/src/helpers/CInputDialog.cpp.i
-data/src/icons/waypoints/32x32/FlagGreen.png.i
-data/src/icons/16x16/UnLock.png.i
-data/src/icons/32x32/check.png.i
-data/src/icons/32x32/PathGreen.png.i
-data/src/icons/16x16/2DFix.png.i
-data/src/icons/cache/attributes/no_Available_during_winter.svg.i
-data/src/gis/trk/filter/CFilterDelete.h.i
-data/src/icons/cache/attributes/no_Motorcycles.svg.i
-data/src/gis/trk/filter/CFilterReset.h.i
-data/src/icons/Image.svg.i
-data/src/icons/Start.svg.i
-data/src/mouse/CMouseEditArea.h.i
-data/src/icons/48x48/Move.png.i
-data/src/icons/SetupMapWorkspace.svg.i
-data/src/mouse/CMouseRangeTrk.cpp.i
-data/src/icons/32x32/EditText.png.i
-data/src/qlgt/IQlgtOverlay.h.i
-data/src/icons/16x16/wizzard.png.i
-data/src/icons/32x32/scale.png.i
-data/src/gis/trk/CCombineTrk.cpp.i
-data/src/icons/48x48/FolderMap.png.i
-data/src/icons/48x48/Info.png.i
-data/src/icons/cache/cito.svg.i
-data/src/icons/waypoints/32x32/PinRed.png.i
-data/src/icons/MimeDemVRT.svg.i
-data/src/icons/16x16/AddMapWorkspace.png.i
-data/src/icons/32x32/ToolTip.png.i
-data/src/icons/cache/attributes/yes_Night_Cache.svg.i
-data/src/icons/48x48/QMapShack.png.i
-data/src/icons/cache/attributes/dis_Cross_Country_Skis.svg.i
-data/src/gis/prj/IGisProject.h.i
-data/src/qlgt/CQlgtTrack.h.i
-data/src/mouse/CScrOptWpt.h.i
-data/src/icons/cache/write_note.svg.i
-data/src/icons/8x8/bullet_red.png.i
-data/src/gis/WptIcons.cpp.i
-data/src/icons/cache/attributes/dis_Access_or_parking_fee.svg.i
-data/src/icons/48x48/Font.png.i
-data/src/icons/16x16/nightDay.png.i
-data/src/icons/cache/attributes/no_Horses.svg.i
-data/3rdparty/DBConverter/CQmsDb.h.i
-data/src/animation/loader.gif.i
-data/src/icons/Font.svg.i
-data/src/icons/Add.svg.i
-data/src/icons/EditText.svg.i
-data/cmake/Modules/DefineCMakeDefaults.cmake.i
-data/src/icons/cache/attributes/yes_Dangerous_area.svg.i
-data/src/map/CMap.cpp.i
-data/src/icons/48x48/Time.png.i
-data/src/icons/48x48/UnitSetup.png.i
-data/src/icons/cache/event.svg.i
-data/src/animation/WTFPL-2.i
-data/src/icons/PathOrange.svg.i
-data/src/icons/16x16/mime_jnx.png.i
-data/src/icons/Left.svg.i
-data/src/dem/IDem.h.i
-data/src/CSettings.h.i
-data/src/icons/32x32/FolderDEM.png.i
-data/src/gis/wpt/IProjWpt.ui.i
-data/src/gis/gpx/CGisProject.cpp.i
-data/src/icons/48x48/SaveView.png.i
-data/src/icons/48x48/Apply.png.i
-data/src/icons/SetEle.svg.i
-data/src/dem/IDem.cpp.i
-data/src/icons/16x16/up.png.i
-data/src/map/cache/CDiskCache.cpp.i
-data/src/icons/32x32/SetEle.png.i
-data/src/icons/cache/attributes/dis_Food_Nearby.svg.i
-data/cmake/Modules/FindQextSerialPort.cmake.i
-data/3rdparty/DBConverter/CMakeLists.txt.i
-data/src/icons/32x32/gridSetup.png.i
-data/src/icons/SaveGISAs.svg.i
-data/src/icons/32x32/Off.png.i
-data/src/icons/waypoints/PinGreen.svg.i
-data/src/Platform.h.i
-data/src/icons/cache/attributes/dis_Public_transportation.svg.i
-data/src/icons/cache/attributes/no_Snowmobiles.svg.i
-data/src/icons/32x32/Check.png.i
-data/src/map/IMapPropSetup.ui.i
-data/src/icons/16x16/MimeMAP.png.i
-data/src/helpers/ISelectProjectDialog.ui.i
-data/src/icons/16x16/TextLeft.png.i
-data/src/gis/db/CSetupWorkspace.h.i
-data/src/icons/cache/attributes/dis_Short_hike_(less_than_1km).svg.i
-data/src/map/IMapPathSetup.ui.i
-data/src/icons/48x48/GridSetup.png.i
-data/src/mouse/CScrOptWpt.cpp.i
-data/src/qlgt/CQlgtTrack.cpp.i
-data/src/icons/48x48/Combine.png.i
-data/src/icons/cache/attributes/yes_Picnic_tables_nearby.svg.i
-data/src/icons/cache/up_icon.svg.i
-data/src/icons/16x16/delete.png.i
-data/src/icons/Info.svg.i
-data/src/icons/AddArea.svg.d
-data/src/gis/trk/IScrOptTrk.ui.i
-data/src/qlgt/CQlgtRoute.h.i
-data/src/icons/waypoints/PinBlue.svg.i
-data/src/gis/CGisItemTrk.cpp.i
-data/src/icons/48x48/Link.png.i
-data/src/helpers/CSelectProjectDialog.h.i
-data/src/icons/32x32/DelImage.png.i
-data/src/mouse/CMouseEditTrk.cpp.i
-data/src/icons/Print.svg.i
-data/src/icons/16x16/Reset.png.i
-data/src/cursors/cursorAdd.png.i
-data/src/icons/32x32/reset.png.i
-data/src/icons/48x48/SearchGoogle.png.i
-data/src/helpers/CElevationDialog.cpp.i
-data/src/helpers/CSettings.h.i
-data/src/dem/CDemVRT.h.i
-data/src/icons/Cancel.svg.i
-data/src/gis/trk/CGisItemTrk.h.i
-data/3rdparty/DBConverter/qlgt/IQlgtOverlay.h.i
-data/src/gis/wpt/IDetailsGeoCache.ui.i
-data/src/gis/CGisItemWpt.cpp.i
-data/src/icons/32x32/Empty.png.i
-data/src/helpers/CFileExt.h.i
-data/src/map/CMapVRT.h.i
-data/src/canvas/CCanvas.h.i
-data/src/icons/cache/attributes/no_Quads.svg.i
-data/src/icons/32x32/up.png.i
-data/src/map/garmin/CGarminPolygon.h.i
-data/src/gis/gpx/CGpxProject.cpp.i
-data/src/icons/cache/attributes/dis_Wireless_Beacon.svg.i
-data/src/icons/16x16/redGlow.png.i
-data/src/icons/16x16/Track.png.i
-data/src/icons/PathBlue.svg.i
-data/src/icons/cache/32x32/OCMLogoSmall.png.i
-data/src/map/CMapWMTS.cpp.i
-data/src/icons/48x48/Redo.png.i
-data/src/icons/16x16/Help.png.i
-data/src/icons/cache/attributes/yes_May_require_wading.svg.i
-data/src/map/CMapDraw.h.i
-data/src/map/IMapPropSetup.h.i
-data/src/icons/SearchGoogle.svg.i
-data/src/icons/16x16/add.png.i
-data/src/grid/CProjWizard.h.i
-data/src/helpers/CWptIconDialog.h.i
-data/src/mouse/CMouseNormal.h.i
-data/src/map/CMapIMG.h.i
-data/src/mouse/IScrOpt.cpp.i
-data/src/icons/16x16/TextItalic.png.i
-data/src/icons/8x8/bullet_blue.png.i
-data/src/icons/cache/32x32/multi.png.i
-data/src/icons/VrtBuilder.svg.i
-data/src/icons/32x32/ReloadImage.png.i
-data/src/icons/cache/32x32/ftf.png.i
-data/src/plot/CPlotAxis.cpp.i
-data/src/icons/32x32/Route.png.i
-data/src/main.cpp.i
-data/src/helpers/Platform.h.i
-data/src/icons/16x16/TimeZoneSetup.png.i
-data/cmake/Modules/FindGDAL.cmake.i
-data/src/icons/Tainted.svg.i
-data/src/icons/waypoints/32x32/FlagRed.png.i
-data/src/icons/cache/attributes/dis_Dogs.svg.i
-data/src/helpers/IPositionDialog.ui.i
-data/src/icons/cache/multi.svg.i
-data/src/helpers/IElevationDialog.ui.i
-data/src/icons/16x16/pathMap.png.i
-data/src/icons/cache/32x32/unknown.png.i
-data/3rdparty/DBConverter/IMainWindow.ui.i
-data/3rdparty/DBConverter/qlgt/CQlb.h.i
-data/src/icons/cache/32x32/down_icon.png.i
-data/nsi/copyfiles.bat.i
-data/src/pics/compass.png.i
-data/src/icons/cache/attributes/no_Drinking_water_nearby.svg.i
-data/src/icons/cache/attributes/yes_Ticks.svg.i
-data/src/icons/cache/attributes/yes_Available_at_all_times.svg.i
-data/src/gis/prj/IDetailsPrj.ui.i
-data/src/icons/cache/32x32/OCMLogo.png.i
-data/src/gis/trk/CGisItemTrk.cpp.i
-data/3rdparty/DBConverter/resources.qrc.i
-data/src/icons/Help.svg.i
-data/src/icons/TimeZoneSetup.svg.i
-data/src/icons/TextCenter.svg.i
-data/src/icons/cache/32x32/minicon.png.i
-data/src/icons/48x48/SelectRange.png.i
-data/src/mouse/IMouseEditLine.h.i
-data/src/icons/cache/attributes/no_Dogs.svg.i
-data/src/qlgt/CQlgtRoute.cpp.i
-data/src/mouse/CMouseMoveWpt.h.i
-data/src/icons/cache/attributes/yes_Wireless_Beacon.svg.i
-data/src/qlgt/CImportDatabase.h.i
-data/src/gis/bin/CBinProject.h.i
-data/README.md.i
-data/nsi/copyfiles32.bat.i
-data/src/icons/32x32/Help.png.i
-data/src/icons/cache/attributes/no_Food_Nearby.svg.i
-data/src/icons/48x48/TextBold.png.i
-data/src/IDrawContext.h.i
-data/src/icons/16x16/Paste.png.i
-data/src/gis/tnv/CTwoNavProject.h.i
-data/src/icons/32x32/TextUnderlined.png.i
-data/src/device/CDeviceWatcherLinux.cpp.i
-data/src/dem/CDemPropSetup.h.i
-data/src/qlgt/CQmsDb.h.i
-data/src/gis/rte/CScrOptRte.cpp.i
-data/src/gis/wpt/CGisItemWpt.h.i
-data/src/plot/ITrack.cpp.i
-data/src/icons/cache/attributes/no_Parking_available.svg.i
-data/src/icons/8x8/bullet_dark_yellow.png.i
-data/src/icons/48x48/MimeIMG.png.i
-data/src/mouse/CMouseEditLine.h.i
-data/src/icons/SelectRange.svg.i
-data/src/gis/ovl/CDetailsOvlArea.h.i
-data/src/gis/WptIcons.h.i
-data/src/device/IDeviceWatcher.h.i
-data/src/icons/cache/32x32/star_empty.png.i
-data/src/gis/CGisSerialization.h.i
-data/src/icons/waypoints/32x32/PinBlue.png.i
-data/src/icons/32x32/Device.png.i
-data/src/icons/32x32/Grid.png.i
-data/src/icons/cache/attributes/no_Truck_Driver_RV.svg.i
-data/src/icons/32x32/MapRoom.png.i
-data/src/icons/16x16/Redo.png.i
-data/src/gis/db/ISetupWorkspace.ui.i
-data/src/icons/32x32/Scale.png.i
-data/src/icons/DBProject.svg.i
-data/src/icons/waypoints/32x32/Residence.png.i
-data/src/cursors/cursorMoveArea.png.i
-data/src/icons/16x16/Map.png.i
-data/src/gis/IGisLine.cpp.i
-data/src/icons/32x32/GpxProject.png.i
-data/src/icons/32x32/SaveAllGIS.png.i
-data/src/gis/search/CSearchGoogle.h.i
-data/nsi/QMapShack_Installer.nsi.i
-data/src/qlgt/converter.cpp.i
-data/src/icons/48x48/Device.png.i
-data/src/icons/32x32/deleteAll.png.i
-data/src/icons/32x32/poiText.png.i
-data/src/plot/CPlotSpeed.cpp.i
-data/src/icons/ReloadImage.svg.i
-data/src/icons/cache/32x32/restore.png.i
-data/src/icons/cache/attributes/yes_Quads.svg.i
-data/src/icons/32x32/down.png.i
-data/src/icons/8x8/bullet_gray.png.i
-data/src/dem/CDemPathSetup.h.i
-data/src/qlgt/CQlgtWpt.h.i
-data/src/icons/cache/attributes/dis_Flashlight_required.svg.i
-data/src/dem/IDemPathSetup.ui.i
-data/src/map/CMapPathSetup.cpp.i
-data/src/units/CTimeZoneSetup.h.i
-data/src/gis/bin/CBinProject.cpp.i
-data/src/canvas/IDrawObject.cpp.i
-data/src/mouse/CMouseEditTrk.h.i
-data/src/gis/gpx/CGisProject.h.i
-data/src/map/CMap.h.i
-data/src/cursors/wptHighlight.svg.i
-data/src/helpers/CPositionDialog.cpp.i
-data/src/qlgt/CQmsDb.cpp.i
-data/src/plot/CPlotDistance.cpp.i
-data/src/icons/48x48/POIText.png.i
-data/src/device/IDeviceWatcher.cpp.i
-data/src/map/garmin/CGarminStrTbl8.cpp.i
-data/src/icons/icons.svg.d
-data/src/icons/48x48/Map.png.i
-data/src/gis/db/CDBFolderDatabase.h.i
-data/src/icons/icons.svg.i
-data/src/icons/TextLeft.svg.i
-data/src/map/cache/IDiskCache.h.i
-data/3rdparty/DBConverter/qlgt/CQlgtRoute.cpp.i
-data/src/icons/TrkCut.svg.i
-data/src/icons/cache/attributes/dis_UV_Light_Required.svg.i
-data/src/units/CUnitMetric.h.i
-data/src/gis/IGisItem.h.i
-data/3rdparty/DBConverter/CMainWindow.cpp.i
-data/src/icons/48x48/CutHistory.png.i
-data/src/icons/DatabaseSetup.svg.i
-data/src/icons/16x16/Tainted.png.i
-data/src/icons/48x48/pathMap.png.i
-data/src/canvas/IDrawContext.h.i
-data/src/icons/cache/attributes/dis_Thorns.svg.i
-data/src/gis/bin/CGisSerialization.h.i
-data/src/device/CDeviceWatcherLinux.h.i
-data/src/icons/TextBold.svg.i
-data/cmake/Modules/DefineInstallationPaths.cmake.i
-data/src/icons/32x32/WptMove.png.i
-data/src/icons/16x16/GridSetup.png.i
-data/src/gis/db/macros.h.i
-data/src/plot/CPlotData.h.i
-data/src/gis/trk/filter/CFilterReset.cpp.i
-data/src/gis/db/CDBFolderGroup.h.i
-data/src/icons/32x32/Close.png.i
-data/src/icons/32x32/Down.png.i
-data/src/icons/cache/32x32/trailhead.png.i
-data/3rdparty/DBConverter/qlgt/CQlgtTrack.cpp.i
-data/cmake/Modules/MacroEnsureOutOfSourceBuild.cmake.i
-data/src/icons/48x48/TextJustified.png.i
-data/src/icons/48x48/LineMove.png.i
-data/src/icons/cache/attributes/dis_Medium_hike_(1km-10km).svg.i
-data/src/icons/Redo.svg.i
-data/src/icons/cache/attributes/yes_Horses.svg.i
-data/src/icons/32x32/TextJustified.png.i
-data/cmake/Modules/FindGPSD.cmake.i
-data/src/icons/waypoints/32x32/BoxGreen.png.i
-data/src/map/CMapRMAP.h.i
-data/src/icons/32x32/addCanvas.png.i
-data/src/icons/16x16/Up.png.i
-data/nsi/gdalicon.ico.i
-data/src/icons/16x16/FolderDEM.png.i
-data/3rdparty/DBConverter/CQlgtDb.cpp.i
-data/src/icons/cache/attributes/no_Available_at_all_times.svg.i
-data/src/icons/48x48/TrkCut.png.i
-data/src/gis/db/IDB.cpp.i
-data/src/icons/SaveAllGIS.svg.i
-data/src/icons/32x32/pathMap.png.i
-data/src/icons/32x32/mime_img.png.i
-data/src/icons/16x16/grid.png.i
-data/src/icons/Copy.svg.i
-data/src/map/CMapMAP.h.i
-data/src/icons/NightDay.svg.i
-data/src/gis/trk/filter/IFilterDelete.ui.i
-data/src/icons/16x16/Add.png.i
-data/src/icons/48x48/TimeZoneSetup.png.i
-data/src/icons/waypoints/DiamondGreen.svg.i
-data/src/gis/CGisListWks.cpp.i
-data/src/gis/bin/CGisSerialization.cpp.i
-data/src/icons/cache/trailhead.svg.i
-data/src/gis/wpt/IDetailsWpt.ui.i
-data/src/map/garmin/CGarminTyp.h.i
-data/src/icons/48x48/help.png.i
-data/src/qlgt/CImportDatabase.cpp.i
-data/src/mouse/IScrOptPoint.ui.i
-data/src/icons/cache/attributes/yes_May_require_swimming.svg.i
-data/src/icons/Reset.svg.i
-data/src/icons/32x32/TextLeft.png.i
-data/src/gis/wpt/CGisItemWpt.cpp.i
-data/src/CAbout.h.i
-data/src/icons/32x32/Opacity.png.i
-data/src/units/CUnitMetric.cpp.i
-data/src/plot/CPlotAxisTime.h.i
-data/src/icons/cache/attributes/dis_Difficult_climbing.svg.i
-data/3rdparty/CGetOpt/main.cpp.i
-data/src/icons/32x32/gridWizard.png.i
-data/src/gis/db/CDBFolderOther.h.i
-data/src/icons/48x48/MimeMAP.png.i
-data/src/mouse/CScrOptRange.cpp.i
-data/src/icons/cache/attributes/dis_Special_Tool_Required.svg.i
-data/src/icons/cache/attributes/no_Short_hike_(less_than_1km).svg.i
-data/src/icons/32x32/MimeDemVRT.png.i
-data/cmake/Modules/FindEXIF.cmake.i
-data/src/locale/qmapshack_fr.ts.i
-data/src/icons/16x16/MimeRMAP.png.i
-data/src/icons/32x32/add.png.i
-data/src/icons/32x32/MimeJNX.png.i
-data/src/icons/cache/attributes/dis_Watch_for_livestock.svg.i
-data/src/icons/cache/traditional.svg.i
-data/src/gis/CGisSerialization.cpp.i
-data/src/icons/cache/attributes/dis_Recommended_at_night.svg.i
-data/src/icons/cache/attributes/yes_Needs_maintenance.svg.i
-data/src/icons/Combine.svg.i
-data/src/map/IMapVrtBuilder.ui.i
-data/src/icons/48x48/Grid.png.i
-data/src/icons/Undo.svg.i
-data/src/icons/cache/attributes/yes_Scuba_gear.svg.i
-data/src/icons/cache/star_empty.svg.i
-data/src/icons/16x16/Undo.png.i
-data/src/gis/trk/CCombineTrk.h.i
-data/src/version.h.i
-data/src/icons/32x32/SaveGISAs.png.i
-data/src/plot/CPlotTrack.cpp.i
-data/src/qlgt/CQlgtDb.cpp.i
-data/src/icons/cache/attributes/yes_UV_Light_Required.svg.i
-data/src/icons/waypoints/32x32/BoxRed.png.i
-data/src/icons/waypoints/32x32/Waypoint.png.i
-data/src/icons/waypoints/32x32/Default.png.i
-data/cmake/Modules/FindDMTX.cmake.i
-data/src/qlgt/CQlb.h.i
-data/src/canvas/IDrawContext.cpp.i
-data/src/icons/cache/32x32/virtual.png.i
-data/src/map/CMapTMS.h.i
-data/src/icons/32x32/Reverse.png.i
-data/CPackConfig.cmake.i
-data/src/icons/16x16/Route.png.i
-data/src/CMakeLists.txt.i
-data/src/icons/cache/dnf.svg.i
-data/src/icons/LoadGIS.svg.i
-data/src/icons/48x48/Cancel.png.i
-data/src/icons/32x32/Pattern.png.i
-data/src/icons/48x48/Reset.png.i
-data/src/icons/32x32/MimeWMTS.png.i
-data/src/icons/AddImage.svg.i
-data/src/icons/waypoints/makeicons.i
-data/src/CMainWindow.cpp.i
-data/src/icons/16x16/TextUnderlined.png.i
-data/src/units/IUnit.h.i
-data/src/map/IMapProp.cpp.i
-data/src/grid/IGridSetup.ui.i
-data/src/icons/EditDetails.svg.i
-data/src/gis/db/CDBFolderDatabase.cpp.i
-data/src/CMainWindow.h.i
-data/src/gis/db/CSetupDatabase.h.i
-data/src/plot/ITrack.h.i
-data/src/gis/trk/CDetailsTrk.cpp.i
-data/src/gis/db/IDB.h.i
-data/src/icons/cache/attributes/no_Significant_Hike.svg.i
-data/src/icons/cache/32x32/DistIcon.png.i
-data/cmake/Modules/MacroCopyFile.cmake.i
-data/src/icons/48x48/SaveAllGIS.png.i
-data/src/gis/CGisWidget.h.i
-data/src/pics/timezones.png.i
-data/src/icons/48x48/MimeVRT.png.i
-data/src/icons/cache/OCMLogoSmall.svg.i
-data/src/icons/cache/attributes/dis_Wheelchair_accessible.svg.i
-data/src/icons/48x48/Lock.png.i
-data/src/icons/48x48/LoadGIS.png.i
-data/src/icons/48x48/Opacity.png.i
-data/src/icons/32x32/Font.png.i
-data/src/gis/CGisWidget.cpp.i
-data/src/dem/IDemProp.cpp.i
-data/src/icons/48x48/GpxProject.png.i
-data/src/units/CUnitNautic.h.i
-data/src/CMapDB.h.i
-data/src/icons/48x48/DatabaseConvert.png.i
-data/src/icons/cache/attributes/no_Bicycles.svg.i
-data/src/icons/32x32/SaveView.png.i
-data/src/qlgt/CQlgtDiary.h.i
-data/src/icons/waypoints/FlagBlue.svg.i
-data/src/icons/FolderMap.svg.i
-data/src/icons/48x48/DeleteOne.png.i
-data/3rdparty/DBConverter/qlgt/CQlgtWpt.cpp.i
-data/src/icons/32x32/SelectRange.png.i
-data/src/icons/32x32/Apply.png.i
-data/nsi/MUI_HEADERIMAGE.bmp.i
-data/src/icons/Link.svg.i
-data/src/icons/makeicons.i
-data/src/icons/Move.svg.i
-data/src/animation/loader2.gif.i
-data/src/icons/cache/attributes/dis_Snowshoes.svg.i
-data/src/grid/CGrid.cpp.i
-data/src/gis/CGisDraw.h.i
-data/src/helpers/CPhotoAlbum.cpp.i
-data/src/icons/48x48/QmsProject.png.i
-data/src/icons/QmsProject.svg.i
-data/src/icons/32x32/SearchGoogle.png.i
-data/src/gis/rte/IScrOptRte.ui.i
-data/src/mouse/IMouseEditLine.cpp.i
-data/features.txt.i
-data/src/icons/48x48/ToTop.png.i
-data/src/cursors/cursorSelectRange.png.i
-data/src/gis/db/IDBFolder.h.i
-data/src/icons/48x48/TrkProfile.png.i
-data/cmake/Modules/FindPROJ.cmake.i
-data/src/icons/8x8/bullet_dark_red.png.i
-data/src/icons/cache/makeicons.i
-data/src/icons/48x48/Tainted.png.i
-data/src/icons/cache/attributes/dis_Takes_less_than_an_hour.svg.i
-data/src/icons/3DFix.svg.i
-data/src/gis/wpt/CDetailsWpt.h.i
-data/src/map/CMapItem.cpp.i
-data/3rdparty/DBConverter/qlgt/CQlgtTrack.h.i
-data/src/icons/cache/attributes/yes_Abandoned_mines.svg.i
-data/src/icons/8x8/bullet_green.png.i
-data/src/icons/cache/32x32/letterbox.png.i
-data/src/icons/UnitSetup.svg.i
-data/src/icons/32x32/LoadGIS.png.i
-data/src/icons/cache/attributes/no_Off-road_vehicles.svg.i
-data/src/icons/48x48/TextRight.png.i
-data/src/icons/32x32/AddWpt.png.i
-data/src/map/garmin/CGarminPoint.h.i
-data/src/device/CDeviceGarmin.h.i
-data/cmake/Modules/CMakeLists.txt.i
-data/src/icons/cache/attributes/yes_Public_transportation.svg.i
-data/src/IDrawContext.cpp.i
-data/cmake/Modules/DefineCompilerFlags.cmake.i
-data/src/gis/db/IDBFolder.cpp.i
-data/src/qlgt/CQlb.cpp.i
-data/src/icons/16x16/POIText.png.i
-data/src/gis/trk/CScrOptTrk.cpp.i
-data/src/gis/db/CDBProject.h.i
-data/src/gis/trk/filter/IFilterSpeed.ui.i
-data/src/icons/16x16/mime_map.png.i
-data/src/plot/CPlot.h.i
-data/src/plot/CPlotAxisTime.cpp.i
-data/src/IAbout.ui.i
-data/src/icons/waypoints/32x32/PinGreen.png.i
-data/src/map/wmts/IDiskCache.cpp.i
-data/src/icons/16x16/mime_vrt.png.i
-data/src/icons/32x32/toolTip.png.i
-data/src/icons/32x32/VrtBuilder.png.i
-data/src/icons/48x48/Image.png.i
-data/src/icons/48x48/EditDetails.png.i
-data/src/gis/trk/CDetailsTrk.h.i
-data/src/gis/trk/ICombineTrk.ui.i
-data/src/mouse/CMouseNormal.cpp.i
-data/src/icons/FromMap.svg.i
-data/src/icons/cache/attributes/yes_Campfires.svg.i
-data/src/icons/cache/needs_maintenance.svg.i
-data/src/gis/db/CSetupFolder.cpp.i
-data/config.h.cmake.i
-data/src/map/CMapItem.h.i
-data/src/icons/cache/attributes/no_Difficult_climbing.svg.i
-data/src/icons/32x32/MimeVRT.png.i
-data/src/icons/48x48/WptProx.png.i
-data/src/gis/trk/filter/CFilterDouglasPeuker.cpp.i
-data/src/icons/cache/attributes/yes_Motorcycles.svg.i
-data/src/gis/rte/CGisItemRte.h.i
-data/src/gis/ovl/CGisItemOvlArea.h.i
-data/src/icons/cache/attributes/no_Takes_less_than_an_hour.svg.i
-data/src/dem/CDemDraw.cpp.i
-data/src/icons/Right.svg.i
-data/src/icons/48x48/LoadView.png.i
-data/src/gis/db/ISetupFolder.ui.i
-data/src/icons/32x32/2DFix.png.i
-data/src/icons/cache/attributes/yes_Public_restrooms_nearby.svg.i
-data/src/icons/48x48/Undo.png.i
-data/src/icons/48x48/Path.png.i
-data/src/gis/tnv/serialization.cpp.i
-data/cmake/Modules/FindQtSoap.cmake.i
-data/src/gis/trk/filter/IFilterMedian.ui.i
-data/src/mouse/IScrOptEditLine.ui.i
-data/src/map/CMapVrtBuilder.h.i
-data/src/icons/48x48/Error.png.i
-data/src/icons/16x16/MimeIMG.png.i
-data/src/gis/qms/CQmsProject.cpp.i
-data/LICENSE.i
-data/src/icons/48x48/WptMove.png.i
-data/src/icons/cache/other.svg.i
-data/src/device/CDeviceTwoNav.cpp.i
-data/src/icons/16x16/Grid.png.i
-data/src/map/cache/CDiskCache.h.i
-data/src/icons/32x32/MimeIMG.png.i
-data/src/icons/cache/32x32/webcam.png.i
-data/src/map/garmin/IGarminStrTbl.h.i
-data/src/IDrawObject.cpp.i
-data/src/icons/48x48/DBProject.png.i
-data/src/icons/cache/attributes/no_Poison_plants.svg.i
-data/src/icons/16x16/Down.png.i
-data/src/icons/48x48/Start.png.i
-data/src/icons/Path.svg.i
-data/src/gis/db/CSetupFolder.h.i
-data/src/qlgt/CQlgtDb.h.i
-data/src/canvas/CCanvasSetup.cpp.i
-data/src/icons/16x16/LoadGIS.png.i
-data/src/device/IDevice.cpp.i
-data/src/icons/Route.svg.i
-data/src/map/garmin/CGarminPolygon.cpp.i
-data/src/icons/32x32/Database.png.i
-data/src/icons/cache/attributes/dis_Horses.svg.i
-data/src/qlgt/IImportDatabase.ui.i
-data/nsi/3rdparty.txt.i
-data/src/icons/cache/attributes/dis_Hunting.svg.i
-data/src/icons/16x16/MapRoom.png.i
-data/src/icons/8x8/bullet_yellow.png.i
-data/src/icons/16x16/TrkProfile.png.i
-data/src/icons/32x32/ToBottom.png.i
-data/3rdparty/DBConverter/qlgt/CQlgtDiary.cpp.i
-data/src/icons/MimeVRT.svg.i
-data/src/icons/32x32/Right.png.i
-data/src/icons/16x16/Check.png.i
-data/src/gis/db/CDBProject.cpp.i
-data/3rdparty/CGetOpt/CGetOpt.h.i
-data/src/map/IMapList.ui.i
-data/src/icons/MimeRMAP.svg.i
-data/src/gis/qms/serialization.cpp.i
-data/src/GeoMath.cpp.i
-data/src/icons/32x32/Error.png.i
-data/src/plot/IPlot.cpp.i
-data/src/icons/8x8/bullet_magenta.png.i
-data/src/icons/32x32/LoadView.png.i
-data/src/gis/CGisListDB.h.i
-data/src/icons/cache/attributes/yes_Recommended_at_night.svg.i
-data/src/icons/16x16/Cancel.png.i
-data/src/icons/Scale.svg.i
-data/src/dem/IDemList.ui.i
-data/src/icons/cache/OCMLogo.svg.i
-data/src/helpers/CPhotoAlbum.h.i
-data/src/icons/cache/attributes/yes_Short_hike_(less_than_1km).svg.i
-data/src/icons/16x16/TextCenter.png.i
-data/nsi/MUI_WELCOMEFINISHPAGE.bmp.i
-data/src/icons/32x32/DBProject.png.i
-data/src/icons/Empty.svg.i
-data/src/icons/MimeMAP.svg.i
-data/src/icons/Area.svg.i
-data/src/icons/32x32/grid.png.i
-data/3rdparty/DBConverter/qlgt/CQlgtWpt.h.i
-data/src/icons/48x48/DelImage.png.i
-data/src/gis/gpx/CGpxProject.h.i
-data/src/icons/32x32/Redo.png.i
-data/src/mouse/CScrOptUnclutter.h.i
-data/src/icons/16x16/WptMove.png.i
-data/src/icons/WptMove.svg.i
-data/src/icons/ToBottom.svg.i
-data/src/helpers/CPhotoViewer.cpp.i
-data/src/icons/cache/log.svg.i
-data/src/icons/32x32/mime_map.png.i
-data/src/icons/8x8/bullet_dark_blue.png.i
-data/src/icons/cache/attributes/yes_Food_Nearby.svg.i
-data/src/icons/cache/Apache-2.0.i
-data/call_Uncrustify.cfg.i
-data/src/icons/cache/attributes/dis_Truck_Driver_RV.svg.i
-data/src/icons/32x32/SelectColor.png.i
-data/src/icons/16x16/SaveAllGIS.png.i
-data/src/gis/trk/filter/CFilterSpeed.cpp.i
-data/src/icons/48x48/Reverse.png.i
-data/src/icons/cache/parking.svg.i
-data/src/icons/32x32/Combine.png.i
-data/src/gis/prj/CDetailsPrj.cpp.i
-data/src/icons/cache/attributes/dis_Abandoned_Structure.svg.i
-data/src/gis-search/CGisSearchWidget.cpp.i
-data/src/icons/cache/attributes/yes_Field_Puzzle.svg.i
-data/src/icons/32x32/Map.png.i
-data/src/icons/48x48/MimeTMS.png.i
-data/src/icons/cache/attributes/dis_Snowmobiles.svg.i
-data/src/icons/16x16/reset.png.i
-data/src/icons/cache/attributes/dis_Climbing_gear.svg.i
-data/src/pics/splash.png.d
-data/src/icons/POIText.svg.i
-data/ConfigureChecks.cmake.i
-data/src/icons/32x32/flipDirection.png.i
-data/src/gis-search/IGisSearch.h.i
-data/src/icons/48x48/Empty.png.i
-data/src/icons/GridSetup.svg.i
-data/src/icons/cache/attributes/dis_Boat.svg.i
-data/src/icons/32x32/TrkProfile.png.i
-data/3rdparty/DBConverter/main.cpp.i
-data/src/icons/cache/32x32/parking.png.i
-data/src/icons/16x16/addCanvas.png.i
-data/src/icons/cache/attributes/dis_Ticks.svg.i
-data/src/icons/cache/32x32/greenpin.png.i
-data/src/qlgt/IItem.cpp.i
-data/src/gis/trk/filter/IFilterObscureDate.ui.i
-data/src/icons/32x32/PointHide.png.i
-data/src/icons/cache/attributes/dis_Significant_Hike.svg.i
-data/src/icons/cache/attributes/yes_Telephone_nearby.svg.i
-data/src/icons/Up.svg.i
-data/src/icons/Area.svg.d
-data/src/icons/32x32/Cut.png.i
-data/src/icons/cache/attributes/yes_Recommended_for_kids.svg.i
-data/src/gis/wpt/CScrOptWpt.h.i
diff --git a/.hg/store/phaseroots b/.hg/store/phaseroots
deleted file mode 100644
index e69de29..0000000
diff --git a/.hg/store/undo b/.hg/store/undo
deleted file mode 100644
index e69de29..0000000
diff --git a/.hg/store/undo.backup.fncache b/.hg/store/undo.backup.fncache
deleted file mode 100644
index 13ed7bc..0000000
--- a/.hg/store/undo.backup.fncache
+++ /dev/null
@@ -1,1332 +0,0 @@
-data/src/icons/cache/attributes/dis_Recommended_for_kids.svg.i
-data/src/icons/cache/attributes/yes_Takes_less_than_an_hour.svg.i
-data/src/units/CUnitImperial.h.i
-data/src/gis/CGisListDB.h.i
-data/src/icons/MimeIMG.svg.i
-data/src/gis/ovl/IDetailsOvlArea.ui.i
-data/src/icons/cache/attributes/yes_Truck_Driver_RV.svg.i
-data/src/icons/48x48/Left.png.i
-data/src/icons/32x32/cancel.png.i
-data/src/icons/PathGreen.svg.i
-data/src/plot/CPlot.cpp.i
-data/src/icons/cache/attributes/dis_Bicycles.svg.i
-data/src/icons/16x16/SaveGIS.png.i
-data/src/gis/wpt/CProjWpt.h.i
-data/src/cursors/wptHighlight.png.i
-data/src/icons/32x32/view.png.i
-data/src/icons/UnLock.svg.i
-data/src/grid/CGrid.h.i
-data/src/icons/16x16/mime_rmap.png.i
-data/src/icons/48x48/AddWpt.png.i
-data/src/CCanvas.h.i
-data/src/gis/trk/CDetailsTrk.cpp.i
-data/src/icons/cache/attributes/yes_Watch_for_livestock.svg.i
-data/src/icons/48x48/LoadView.png.i
-data/src/icons/cache/attributes/no_Medium_hike_(1km-10km).svg.i
-data/src/icons/cache/32x32/restore.png.i
-data/src/icons/cache/attributes/no_Abandoned_Structure.svg.i
-data/src/gis/wpt/CDetailsGeoCache.h.i
-data/cmake/Modules/FindGDAL.cmake.i
-data/src/icons/48x48/WptProx.png.i
-data/src/IDrawObject.h.i
-data/src/helpers/CSelectCopyAction.h.i
-data/src/icons/48x48/Scale.png.i
-data/src/icons/cache/attributes/no_Significant_Hike.svg.i
-data/src/icons/AddTrk.svg.i
-data/src/qlgt/IItem.h.i
-data/src/icons/Map.svg.i
-data/src/icons/cache/32x32/cito.png.i
-data/src/icons/cache/attributes/dis_Climbing_gear.svg.i
-data/src/icons/cache/attributes/yes_Available_at_all_times.svg.i
-data/src/icons/48x48/ToBottom.png.i
-data/src/icons/TextItalic.svg.i
-data/src/icons/48x48/Add.png.i
-data/src/GeoMath.h.i
-data/src/gis/CGisProject.h.i
-data/src/gis/prj/CDetailsPrj.h.i
-data/src/icons/cache/attributes/dis_Picnic_tables_nearby.svg.i
-data/src/icons/48x48/AddImage.png.i
-data/src/gis/trk/filter/IFilterDouglasPeuker.ui.i
-data/src/icons/16x16/Close.png.i
-data/src/grid/CGridSetup.cpp.i
-data/src/icons/32x32/NightDay.png.i
-data/src/gis/ovl/CScrOptOvlArea.cpp.i
-data/src/plot/IPlot.h.i
-data/src/icons/cache/32x32/halfstar.png.i
-data/src/icons/32x32/QmsProject.png.i
-data/src/helpers/CWptIconDialog.cpp.i
-data/src/icons/8x8/bullet_black.png.i
-data/src/gis/IGisWidget.ui.i
-data/src/gis/trk/filter/CFilterOffsetElevation.cpp.i
-data/src/locale/qmapshack_cs.ts.i
-data/src/icons/48x48/Route.png.i
-data/src/icons/16x16/SetupMapWorkspace.png.i
-data/src/gis/db/CSetupDB.cpp.i
-data/src/icons/48x48/Reset.png.i
-data/src/icons/ToTop.svg.i
-data/3rdparty/DBConverter/qlgt/CQlgtDiary.h.i
-data/src/icons/16x16/mime_img.png.i
-data/src/icons/cache/attributes/dis_Wheelchair_accessible.svg.i
-data/src/icons/cache/wherigo.svg.i
-data/src/icons/cache/halfstar.svg.i
-data/.hgtags.i
-data/src/icons/Help.svg.i
-data/src/icons/cache/letterbox.svg.i
-data/src/map/CMapDraw.cpp.i
-data/src/map/CGrid.cpp.i
-data/src/dem/CDemList.cpp.i
-data/src/icons/MapRoom.svg.i
-data/src/icons/cache/attributes/yes_Dangerous_Animals.svg.i
-data/src/icons/48x48/AddArea.png.i
-data/src/gis/wpt/IScrOptWpt.ui.i
-data/src/icons/48x48/Copy.png.i
-data/src/mouse/CScrOptUnclutter.cpp.i
-data/src/icons/Time.svg.i
-data/src/dem/IDemProp.h.i
-data/src/icons/cache/32x32/treasure.png.i
-data/src/helpers/ISelectCopyAction.ui.i
-data/src/icons/TimeZoneSetup.svg.i
-data/src/icons/48x48/PathOrange.png.i
-data/src/icons/cache/maxicon.svg.i
-data/cmake_uninstall.cmake.in.i
-data/src/icons/Close.svg.i
-data/src/icons/32x32/TimeZoneSetup.png.i
-data/src/icons/cache/32x32/event.png.i
-data/src/gis/qms/serialization.cpp.i
-data/src/icons/Off.svg.i
-data/src/icons/cache/attributes/yes_Flashlight_required.svg.i
-data/src/helpers/ILinksDialog.ui.i
-data/src/icons/cache/star.svg.i
-data/src/icons/48x48/SelectColor.png.i
-data/src/CMapDB.h.i
-data/src/icons/48x48/WptProj.png.i
-data/src/icons/48x48/MimeJNX.png.i
-data/src/icons/MimeTMS.svg.i
-data/src/map/garmin/CGarminStrTbl8.h.i
-data/src/gis/trk/filter/filter.cpp.i
-data/src/icons/FolderDEM.svg.i
-data/src/resources.qrc.i
-data/src/mouse/CMouseEditLine.cpp.i
-data/changelog.txt.i
-data/src/icons/icons.svg.save.i
-data/src/icons/32x32/Move.png.i
-data/src/icons/cache/attributes/no_Dogs.svg.i
-data/src/icons/32x32/Info.png.i
-data/src/icons/32x32/SaveView.png.i
-data/src/icons/cache/attributes/dis_Camping_available.svg.i
-data/src/gis/db/CDBItem.h.i
-data/src/icons/48x48/AddTrk.png.i
-data/src/icons/48x48/MimeWMTS.png.i
-data/src/icons/icons.svg.save.d
-data/src/dem/CDemPathSetup.cpp.i
-data/src/icons/32x32/GridWizzard.png.i
-data/src/map/garmin/CGarminStrTbl6.cpp.i
-data/src/icons/16x16/deleteAll.png.i
-data/src/icons/cache/attributes/dis_May_require_wading.svg.i
-data/src/canvas/IDrawObject.h.i
-data/src/icons/cache/32x32/needs_maintenance.png.i
-data/src/icons/32x32/icons.svg.save.i
-data/src/icons/cache/attributes/dis_Available_at_all_times.svg.i
-data/src/map/garmin/CGarminTyp.cpp.i
-data/src/qlgt/CQlgtRoute.cpp.i
-data/src/icons/48x48/Database.png.i
-data/src/pics/about.png.i
-data/src/icons/GisProject.svg.i
-data/src/icons/8x8/bullet_dark_green.png.i
-data/src/icons/16x16/toolTip.png.i
-data/src/icons/cache/attributes/yes_Park_and_Grab.svg.i
-data/src/icons/48x48/SaveGIS.png.i
-data/src/icons/Grid.svg.i
-data/src/icons/16x16/map.png.i
-data/src/icons/QMapShack.svg.i
-data/src/icons/cache/attributes/dis_Cliff___falling_rocks.svg.i
-data/src/gis/rte/CGisItemRte.cpp.i
-data/src/icons/48x48/SaveView.png.i
-data/src/mouse/CMouseMoveWpt.cpp.i
-data/src/icons/32x32/Image.png.i
-data/call_Uncrustify.sh.i
-data/cmake/Modules/DefineInstallationPaths.cmake.i
-data/src/icons/Check.svg.i
-data/README.md.i
-data/src/plot/CPlotProfile.h.i
-data/src/icons/PointShow.svg.i
-data/src/map/cache/IDiskCache.cpp.i
-data/src/mouse/IScrOptWpt.ui.i
-data/src/gis/trk/filter/CFilterDelete.cpp.i
-data/src/icons/32x32/Up.png.i
-data/src/gis/prj/IGisProject.cpp.i
-data/src/icons/cache/attributes/yes_Abandoned_Structure.svg.i
-data/src/icons/cache/attributes/yes_Available_during_winter.svg.i
-data/src/icons/32x32/Tainted.png.i
-data/src/icons/PointHide.svg.i
-data/src/icons/48x48/Paste.png.i
-data/src/icons/16x16/Font.png.i
-data/cmake/Modules/FindEXIF.cmake.i
-data/src/icons/SaveView.svg.i
-data/src/icons/AddMapWorkspace.svg.i
-data/src/gis/CGisListDB.cpp.i
-data/src/icons/cache/32x32/pushpin.png.i
-data/src/icons/32x32/TextCenter.png.i
-data/src/icons/16x16/FromMap.png.i
-data/src/icons/cache/attributes/yes_Campfires.svg.i
-data/qmapshack.1.i
-data/src/mouse/IMouse.cpp.i
-data/src/icons/48x48/Down.png.i
-data/src/icons/8x8/bullet_yellow.png.i
-data/src/gis-search/IGisSearchWidget.ui.i
-data/src/icons/32x32/Reset.png.i
-data/src/icons/32x32/NoFix.png.i
-data/src/helpers/CSelectProjectDialog.cpp.i
-data/src/icons/16x16/jnx.png.i
-data/src/gis/CGisListWks.h.i
-data/src/icons/48x48/2NavProject.png.i
-data/src/icons/32x32/GridSetup.png.i
-data/src/icons/16x16/FolderMap.png.i
-data/src/icons/waypoints/32x32/DiamondGreen.png.i
-data/src/icons/cache/attributes/dis_Scuba_gear.svg.i
-data/src/icons/Combine.svg.i
-data/src/helpers/IInputDialog.ui.i
-data/src/icons/32x32/DeleteOne.png.i
-data/src/icons/cache/attributes/yes_Picnic_tables_nearby.svg.i
-data/Doxyfile.i
-data/src/icons/16x16/Copy.png.i
-data/src/icons/48x48/MimeRMAP.png.i
-data/src/icons/48x48/Pattern.png.i
-data/src/units/IUnitsSetup.ui.i
-data/src/icons/Cut.svg.i
-data/src/gis/ovl/CGisItemOvlArea.cpp.i
-data/src/IDrawContext.h.i
-data/src/helpers/CTextEditWidget.cpp.i
-data/src/icons/16x16/ToolTip.png.i
-data/src/gis/wpt/CDetailsWpt.cpp.i
-data/src/icons/32x32/to-top.png.i
-data/nsi/QMapShack.ico.i
-data/src/icons/32x32/AreaMove.png.i
-data/src/icons/32x32/addCanvas.png.i
-data/src/helpers/CPhotoAlbum.cpp.i
-data/src/plot/CPlotProfile.cpp.i
-data/src/icons/cache/attributes/dis_Night_Cache.svg.i
-data/src/helpers/CSettings.h.i
-data/src/cursors/cursorArrow.png.i
-data/src/icons/cache/attributes/no_Picnic_tables_nearby.svg.i
-data/src/icons/cache/attributes/no_Campfires.svg.i
-data/src/icons/cache/32x32/up_icon.png.i
-data/src/icons/48x48/Empty.png.i
-data/src/icons/16x16/Off.png.i
-data/src/icons/32x32/Lock.png.i
-data/src/icons/48x48/SetEle.png.i
-data/src/map/wmts/IDiskCache.h.i
-data/src/icons/32x32/Undo.png.i
-data/src/icons/48x48/Area.png.i
-data/3rdparty/CGetOpt/CGetOpt.cpp.i
-data/src/icons/48x48/DatabaseSetup.png.i
-data/src/gis/ovl/IScrOptOvlArea.ui.i
-data/src/icons/32x32/MimeTMS.png.i
-data/src/icons/32x32/AddTrk.png.i
-data/src/gis/qms/CQmsProject.h.i
-data/src/icons/48x48/ToolTip.png.i
-data/src/pics/timezones.png.i
-data/src/icons/cache/attributes/no_Stroller_accessible.svg.i
-data/src/icons/DeleteMultiple.svg.i
-data/src/map/mapsforge/types.h.i
-data/src/cursors/cursorMoveMap.png.i
-data/3rdparty/DBConverter/qlgt/IItem.h.i
-data/3rdparty/DBConverter/qlgt/IQlgtOverlay.cpp.i
-data/src/icons/16x16/gridWizard.png.i
-data/src/gis/trk/filter/CFilterMedian.cpp.i
-data/src/map/CMapVRT.cpp.i
-data/src/icons/Reverse.svg.i
-data/src/icons/cache/attributes/dis_Park_and_Grab.svg.i
-data/src/icons/Down.svg.i
-data/src/canvas/CCanvas.cpp.i
-data/src/icons/cache/attributes/no_Camping_available.svg.i
-data/src/qlgt/CQmsDb.h.i
-data/src/icons/48x48/PathGreen.png.i
-data/src/icons/8x8/bullet_dark_magenta.png.i
-data/src/icons/32x32/SetupMapWorkspace.png.i
-data/src/mouse/CScrOptRangeTrk.h.i
-data/src/helpers/CLinksDialog.h.i
-data/src/icons/48x48/3DFix.png.i
-data/src/icons/16x16/icons.svg.save.i
-data/nsi/QMapShack_Installer32.nsi.i
-data/src/qlgt/CQlgtFolder.cpp.i
-data/src/icons/32x32/delete.png.i
-data/src/icons/32x32/PointMove.png.i
-data/src/map/CMapPropSetup.cpp.i
-data/src/units/CUnitsSetup.h.i
-data/src/icons/cache/32x32/SearchIcon.png.i
-data/src/icons/GridWizzard.svg.i
-data/src/device/CDeviceGarmin.cpp.i
-data/src/icons/16x16/Right.png.i
-data/src/icons/16x16/QMapShack.png.i
-data/src/icons/TextUnderlined.svg.i
-data/src/icons/48x48/VrtBuilder.png.i
-data/src/gis/rte/IScrOptRte.ui.i
-data/src/icons/DeleteOne.svg.i
-data/src/map/garmin/CGarminStrTbl6.h.i
-data/src/icons/16x16/ToBottom.png.i
-data/src/map/garmin/CGarminStrTblUtf8.h.i
-data/src/gis/wpt/CDetailsGeoCache.cpp.i
-data/src/qlgt/CQlgtFolder.h.i
-data/src/grid/IProjWizard.ui.i
-data/src/icons/16x16/selectColor.png.i
-data/src/mouse/CScrOptWpt.h.i
-data/src/map/CMapJNX.h.i
-data/src/icons/2NavProject.svg.i
-data/src/helpers/CLinksDialog.cpp.i
-data/src/mouse/CScrOptRangeTrk.cpp.i
-data/src/icons/32x32/Cancel.png.i
-data/src/icons/8x8/bullet_dark_yellow.png.i
-data/src/icons/cache/attributes/yes_Food_Nearby.svg.i
-data/src/icons/cache/attributes/dis_Snowmobiles.svg.i
-data/src/gis/db/CDBFolderLostFound.h.i
-data/src/icons/32x32/EditDetails.png.i
-data/src/icons/8x8/bullet_orange.png.i
-data/src/gis/wpt/IDetailsWpt.ui.i
-data/nsi/Help.ico.i
-data/3rdparty/DBConverter/qlgt/CQlgtRoute.h.i
-data/src/icons/32x32/LineMove.png.i
-data/src/icons/8x8/bullet_cyan.png.i
-data/src/icons/32x32/UnitSetup.png.i
-data/src/icons/32x32/DatabaseConvert.png.i
-data/src/mouse/CMouseEditLine.h.i
-data/src/cursors/cursorMoveWpt.png.i
-data/src/icons/16x16/AddWpt.png.i
-data/src/qlgt/CQmsDb.cpp.i
-data/src/icons/48x48/TextLeft.png.i
-data/src/helpers/CInputDialog.h.i
-data/src/icons/16x16/GridWizzard.png.i
-data/src/icons/16x16/MimeVRT.png.i
-data/src/helpers/ITextEditWidget.ui.i
-data/src/map/CMapRMAP.cpp.i
-data/src/icons/16x16/EditText.png.i
-data/src/icons/Error.svg.i
-data/src/gis/trk/filter/CFilterOffsetElevation.h.i
-data/src/gis/trk/filter/CFilterObscureDate.h.i
-data/src/gis/ovl/CDetailsOvlArea.cpp.i
-data/src/icons/UnitSetup.svg.i
-data/3rdparty/DBConverter/qlgt/CQlgtWpt.cpp.i
-data/src/icons/16x16/rmap.png.i
-data/src/device/IDeviceWatcher.h.i
-data/src/icons/16x16/LineMove.png.i
-data/src/dem/CDem.cpp.i
-data/src/icons/cache/attributes/yes_Public_transportation.svg.i
-data/src/icons/cache/32x32/star_empty.png.i
-data/src/icons/48x48/Help.png.i
-data/src/icons/cache/attributes/dis_Off-road_vehicles.svg.i
-data/src/icons/8x8/bullet_brown.png.i
-data/src/gis/CGisProject.cpp.i
-data/src/icons/16x16/EditDetails.png.i
-data/src/icons/TextRight.svg.i
-data/src/icons/cache/attributes/yes_Fuel_Nearby.svg.i
-data/src/icons/48x48/GridWizzard.png.i
-data/src/icons/48x48/Right.png.i
-data/src/icons/48x48/SetupMapWorkspace.png.i
-data/src/mouse/CMouseRangeTrk.h.i
-data/src/dem/CDemList.h.i
-data/src/icons/48x48/DeleteMultiple.png.i
-data/src/gis/tnv/CTwoNavProject.cpp.i
-data/src/helpers/CAppOpts.h.i
-data/src/icons/32x32/UnLock.png.i
-data/src/gis/gpx/serialization.cpp.i
-data/src/gis/search/CSearchGoogle.cpp.i
-data/src/icons/TextJustified.svg.i
-data/src/gis/wpt/CProjWpt.cpp.i
-data/src/icons/16x16/Info.png.i
-data/src/icons/cache/unknown.svg.i
-data/src/icons/32x32/Paste.png.i
-data/src/icons/32x32/TrkCut.png.i
-data/src/icons/48x48/MapRoom.png.i
-data/src/icons/32x32/Grid.png.i
-data/src/dem/CDemItem.cpp.i
-data/src/icons/48x48/2DFix.png.i
-data/src/CMapDB.cpp.i
-data/src/icons/cache/attributes/no_Truck_Driver_RV.svg.i
-data/src/mouse/IMouse.h.i
-data/cmake/Modules/FindXercesC.cmake.i
-data/3rdparty/DBConverter/CQmsDb.cpp.i
-data/src/icons/16x16/WptProj.png.i
-data/src/icons/32x32/FromMap.png.i
-data/src/dem/CDemItem.h.i
-data/src/CFileExt.h.i
-data/src/icons/32x32/GisProject.png.i
-data/src/icons/32x32/Path.png.i
-data/src/mouse/CScrOptPoint.h.i
-data/src/icons/48x48/MimeDemVRT.png.i
-data/src/plot/CPlotTrack.h.i
-data/3rdparty/DBConverter/qlgt/IItem.cpp.i
-data/src/icons/48x48/AreaMove.png.i
-data/src/icons/cache/attributes/yes_Parking_available.svg.i
-data/src/gis/wpt/CScrOptWpt.cpp.i
-data/src/pics/noMap256x256.png.i
-data/src/icons/Opacity.svg.i
-data/src/gis/CGisItemRte.cpp.i
-data/src/icons/16x16/TextBold.png.i
-data/src/helpers/CHistoryListWidget.h.i
-data/src/icons/cache/mega.svg.i
-data/src/gis/trk/filter/CFilterReplaceElevation.h.i
-data/src/icons/48x48/SaveGISAs.png.i
-data/src/icons/16x16/toBottom.png.i
-data/src/gis/db/CDBFolderProject.h.i
-data/src/gis/db/CDBItem.cpp.i
-data/src/icons/GpxProject.svg.i
-data/cmake/Modules/FindPROJ.cmake.i
-data/src/gis/bin/serialization.cpp.i
-data/src/icons/WptProx.svg.i
-data/src/gis/IGisProject.cpp.i
-data/src/icons/cache/attributes/no_Park_and_Grab.svg.i
-data/src/icons/cache/32x32/parking.png.i
-data/src/icons/16x16/NoFix.png.i
-data/src/icons/cache/32x32/corrected.png.i
-data/src/icons/48x48/TextRight.png.i
-data/src/icons/32x32/Reverse.png.i
-data/src/gis/wpt/IDetailsGeoCache.ui.i
-data/src/map/garmin/CGarminPoint.cpp.i
-data/src/icons/48x48/MouseWheel.png.i
-data/src/IDB.cpp.i
-data/src/cursors/COPYRIGHT.i
-data/src/icons/16x16/PointMove.png.i
-data/src/icons/cache/32x32/mega.png.i
-data/src/icons/32x32/Copy.png.i
-data/src/map/wmts/CDiskCache.h.i
-data/src/device/CDeviceWatcherWindows.cpp.i
-data/src/icons/cache/attributes/dis_Poison_plants.svg.i
-data/src/icons/cache/attributes/yes_Hunting.svg.i
-data/src/canvas/CCanvasSetup.h.i
-data/src/icons/cache/attributes/no_Public_restrooms_nearby.svg.i
-data/src/icons/48x48/TextCenter.png.i
-data/src/icons/cache/32x32/maxicon.png.i
-data/src/map/garmin/Garmin.h.i
-data/src/icons/cache/attributes/yes_Boat.svg.i
-data/src/icons/cache/bluepin.svg.i
-data/src/gis/db/ISetupDatabase.ui.i
-data/src/icons/16x16/MimeJNX.png.i
-data/src/qlgt/IQlgtOverlay.cpp.i
-data/src/icons/cache/attributes/dis_Drinking_water_nearby.svg.i
-data/src/icons/cache/32x32/log.png.i
-data/GpxExamples/qlandkarte.gpx.i
-data/src/icons/cache/attributes/dis_Available_during_winter.svg.i
-data/src/icons/48x48/PointShow.png.i
-data/src/helpers/IWptIconDialog.ui.i
-data/src/icons/32x32/toBottom.png.i
-data/src/icons/SaveGIS.svg.i
-data/src/icons/48x48/FolderDEM.png.i
-data/src/mouse/CScrOptEditLine.h.i
-data/src/icons/16x16/down.png.i
-data/src/icons/32x32/MimeMAP.png.i
-data/src/mouse/IScrOpt.h.i
-data/src/icons/cache/attributes/dis_Parking_available.svg.i
-data/src/icons/48x48/Device.png.i
-data/src/icons/32x32/AddMapWorkspace.png.i
-data/src/icons/cache/attributes/yes_Access_or_parking_fee.svg.i
-data/src/helpers/CPhotoViewer.h.i
-data/src/icons/Database.svg.i
-data/src/icons/32x32/toolTip.png.i
-data/src/icons/cache/COPYRIGHT.i
-data/src/icons/Device.svg.i
-data/src/icons/32x32/PointShow.png.i
-data/src/gis/trk/filter/CFilterNewDate.h.i
-data/src/icons/cache/32x32/wherigo.png.i
-data/qmapshack.desktop.i
-data/src/icons/cache/attributes/yes_Long_Hike_(+10km).svg.i
-data/src/icons/32x32/ToTop.png.i
-data/src/animation/COPYRIGHT.i
-data/src/icons/16x16/TrkCut.png.i
-data/src/units/CTimeZoneSetup.cpp.i
-data/src/icons/cache/attributes/yes_Snowshoes.svg.i
-data/src/icons/cache/attributes/no_Fuel_Nearby.svg.i
-data/3rdparty/DBConverter/qlgt/CQlb.cpp.i
-data/src/device/CDeviceTwoNav.h.i
-data/src/helpers/CSelectCopyAction.cpp.i
-data/src/icons/cache/attributes/dis_Long_Hike_(+10km).svg.i
-data/src/icons/32x32/down.png.i
-data/src/icons/WptProj.svg.i
-data/src/icons/cache/attributes/no_Night_Cache.svg.i
-data/CMakeLists.txt.i
-data/src/gis/CGisDraw.cpp.i
-data/src/icons/waypoints/BoxBlue.svg.i
-data/src/qlgt/CQlgtTrack.cpp.i
-data/src/icons/16x16/DeleteOne.png.i
-data/src/gis/trk/filter/CFilterNewDate.cpp.i
-data/src/gis/db/ISetupDB.ui.i
-data/src/resources.rc.i
-data/src/icons/48x48/PathBlue.png.i
-data/src/icons/16x16/wizzard.png.i
-data/src/icons/48x48/TextItalic.png.i
-data/src/map/wmts/CDiskCache.cpp.i
-data/src/icons/waypoints/32x32/FlagBlue.png.i
-data/src/icons/48x48/Print.png.i
-data/src/icons/48x48/gridWizard.png.i
-data/src/icons/cache/32x32/other.png.i
-data/GpxExamples/basecamp.gpx.i
-data/src/icons/MimeJNX.svg.i
-data/src/dem/IDemPropSetup.ui.i
-data/src/gis/db/CSetupWorkspace.cpp.i
-data/src/icons/16x16/gridSetup.png.i
-data/src/mouse/CScrOptRange.h.i
-data/src/icons/cache/minicon.svg.i
-data/src/mouse/IScrOptRange.ui.i
-data/src/icons/cache/attributes/no_Telephone_nearby.svg.i
-data/src/icons/32x32/MouseWheel.png.i
-data/src/grid/mitab.cpp.i
-data/src/icons/32x32/AddImage.png.i
-data/src/icons/32x32/PathOrange.png.i
-data/src/icons/48x48/GisProject.png.i
-data/src/icons/LineMove.svg.i
-data/src/icons/32x32/nightDay.png.i
-data/3rdparty/CGetOpt/CMakeLists.txt.i
-data/src/icons/DatabaseConvert.svg.i
-data/src/icons/cache/attributes/yes_Special_Tool_Required.svg.i
-data/src/units/CUnitsSetup.cpp.i
-data/src/gis/IGisLine.h.i
-data/src/icons/32x32/SaveGIS.png.i
-data/src/icons/32x32/TextBold.png.i
-data/src/icons/48x48/Info.png.i
-data/src/icons/32x32/VrtBuilder.png.i
-data/src/icons/cache/virtual.svg.i
-data/src/icons/cache/attributes/dis_Public_restrooms_nearby.svg.i
-data/src/map/CMapList.cpp.i
-data/cmake/Modules/COPYING-CMAKE-SCRIPTS.i
-data/src/gis/rte/CScrOptRte.h.i
-data/src/icons/Pattern.svg.i
-data/src/icons/waypoints/Residence.svg.i
-data/src/gis/db/CLostFoundProject.h.i
-data/src/icons/32x32/rmap.png.i
-data/src/icons/cache/attributes/dis_Dangerous_area.svg.i
-data/src/icons/16x16/MouseWheel.png.i
-data/src/icons/LoadView.svg.i
-data/src/dem/CDemPropSetup.cpp.i
-data/cmake/Modules/FindJPEG.cmake.i
-data/src/icons/cache/attributes/yes_Bicycles.svg.i
-data/src/icons/32x32/Time.png.i
-data/src/icons/16x16/SelectColor.png.i
-data/src/gis/trk/filter/CFilterReplaceElevation.cpp.i
-data/src/animation/README.i
-data/src/icons/48x48/AddMapWorkspace.png.i
-data/src/icons/32x32/Print.png.i
-data/3rdparty/DBConverter/qlgt/CQlb.h.i
-data/src/map/mapsforge/types.cpp.i
-data/src/icons/cache/attributes/yes_Cross_Country_Skis.svg.i
-data/src/icons/16x16/Lock.png.i
-data/maproom.desktop.i
-data/3rdparty/CGetOpt/classGetOpt.html.i
-data/src/gis/trk/filter/IFilterSpeed.ui.i
-data/src/icons/16x16/fromMap.png.i
-data/src/icons/32x32/DatabaseSetup.png.i
-data/src/icons/32x32/3DFix.png.i
-data/src/icons/32x32/ToolTip.png.i
-data/src/cursors/cursorMove.png.i
-data/src/icons/32x32/QMapShack.png.i
-data/src/icons/32x32/TextItalic.png.i
-data/src/icons/cache/attributes/dis_Quads.svg.i
-data/src/icons/Empty.svg.i
-data/src/icons/48x48/gridSetup.png.i
-data/src/icons/cache/down_icon.svg.i
-data/src/icons/MimeWMTS.svg.i
-data/src/icons/cache/attributes/dis_Dangerous_Animals.svg.i
-data/src/gis/trk/filter/IFilterDelete.ui.i
-data/src/icons/16x16/poiText.png.i
-data/src/gis/db/CDBFolderLostFound.cpp.i
-data/src/icons/ToolTip.svg.i
-data/3rdparty/DBConverter/main.cpp.i
-data/src/icons/cache/log.svg.i
-data/src/icons/cache/attributes/yes_Dogs.svg.i
-data/src/grid/CGridSetup.h.i
-data/src/icons/16x16/TextJustified.png.i
-data/src/icons/AddProject.svg.i
-data/src/icons/48x48/Check.png.i
-data/src/icons/cache/DistIcon.svg.i
-data/src/icons/16x16/DeleteMultiple.png.i
-data/src/map/CMapPropSetup.h.i
-data/src/icons/8x8/bullet_white.png.i
-data/src/map/CMapJNX.cpp.i
-data/src/CCanvas.cpp.i
-data/src/gis/db/CDBFolderProject.cpp.i
-data/src/icons/16x16/scale.png.i
-data/src/icons/icons.svg.d
-data/src/device/IDevice.h.i
-data/src/icons/waypoints/BoxRed.svg.i
-data/src/icons/AddWpt.svg.i
-data/src/icons/AddArea.svg.i
-data/src/icons/cache/attributes/no_Recommended_for_kids.svg.i
-data/src/icons/32x32/Left.png.i
-data/src/icons/8x8/bullet_red.png.i
-data/src/icons/cache/attributes/yes_Drinking_water_nearby.svg.i
-data/src/icons/waypoints/FlagRed.svg.i
-data/src/icons/32x32/WptProx.png.i
-data/3rdparty/CGetOpt/getopt.pro.i
-data/src/icons/2DFix.svg.i
-data/src/icons/cache/attributes/yes_Wheelchair_accessible.svg.i
-data/src/icons/DelImage.svg.i
-data/src/helpers/IPhotoAlbum.ui.i
-data/src/icons/cache/attributes/yes_Camping_available.svg.i
-data/src/icons/48x48/TimeZoneSetup.png.i
-data/templates/header.h.i
-data/src/icons/32x32/Start.png.i
-data/src/icons/waypoints/32x32/BoxBlue.png.i
-data/src/gis/db/CDBFolderGroup.cpp.i
-data/src/gis/CGisItemWpt.h.i
-data/src/units/CUnitImperial.cpp.i
-data/src/icons/cache/attributes/no_Recommended_at_night.svg.i
-data/src/gis/trk/CScrOptTrk.h.i
-data/src/map/IMapProp.h.i
-data/src/helpers/CHistoryListWidget.cpp.i
-data/src/map/garmin/IGarminStrTbl.cpp.i
-data/src/icons/32x32/Close.png.i
-data/src/locale/qmapshack_es.ts.i
-data/src/gis/rte/CGisItemRte.h.i
-data/src/plot/CPlotSpeed.cpp.i
-data/src/icons/48x48/Up.png.i
-data/src/map/IMapProp.ui.i
-data/src/map/CMapWMTS.h.i
-data/src/mouse/CMouseEditArea.cpp.i
-data/src/icons/16x16/MimeWMTS.png.i
-data/src/icons/32x32/Link.png.i
-data/src/icons/NoFix.svg.i
-data/src/gis/CGisItemRte.h.i
-data/src/icons/32x32/jnx.png.i
-data/src/gis/db/CDBFolderOther.cpp.i
-data/src/pics/compass.svg.i
-data/src/gis/trk/filter/CFilterObscureDate.cpp.i
-data/src/icons/waypoints/DiamondRed.svg.i
-data/src/plot/CPlotAxis.h.i
-data/src/icons/cache/attributes/yes_Thorns.svg.i
-data/src/icons/Paste.svg.i
-data/src/icons/8x8/bullet_dark_cyan.png.i
-data/src/gis/IGisItem.cpp.i
-data/cmake/CMakeLists.txt.i
-data/src/icons/32x32/DeleteMultiple.png.i
-data/3rdparty/DBConverter/CQlgtDb.h.i
-data/src/gis/trk/IDetailsTrk.ui.i
-data/src/IDB.h.i
-data/src/icons/16x16/TextRight.png.i
-data/src/gis/db/CSetupDB.h.i
-data/src/icons/cache/attributes/dis_Stroller_accessible.svg.i
-data/src/IMainWindow.ui.i
-data/src/icons/16x16/Cut.png.i
-data/src/icons/Add.svg.i
-data/src/gis/wpt/CDetailsWpt.h.i
-data/src/icons/32x32/AddArea.png.i
-data/src/icons/waypoints/32x32/DiamondRed.png.i
-data/src/icons/EditText.svg.i
-data/src/icons/16x16/flipDirection.png.i
-data/src/units/ITimeZoneSetup.ui.i
-data/src/map/wmts/IDiskCache.cpp.i
-data/src/cursors/cursorMoveLine.png.i
-data/cmake/Modules/DefineCMakeDefaults.cmake.i
-data/src/dem/CDemVRT.cpp.i
-data/src/grid/CProjWizard.cpp.i
-data/src/icons/32x32/Track.png.i
-data/src/icons/48x48/TextUnderlined.png.i
-data/src/icons/cache/32x32/traditional.png.i
-data/src/icons/48x48/Undo.png.i
-data/src/icons/48x48/EditText.png.i
-data/src/icons/32x32/LoadView.png.i
-data/src/icons/cache/attributes/yes_Poison_plants.svg.i
-data/src/icons/cache/attributes/yes_Stroller_accessible.svg.i
-data/src/icons/cache/attributes/dis_Stealth_required.svg.i
-data/src/icons/48x48/PointHide.png.i
-data/src/gis/tnv/serialization.cpp.i
-data/src/icons/16x16/WptMove.png.i
-data/src/icons/cache/32x32/write_note.png.i
-data/src/icons/cache/attributes/dis_Abandoned_mines.svg.i
-data/src/pics/splash.png.i
-data/src/icons/16x16/3DFix.png.i
-data/src/icons/16x16/NightDay.png.i
-data/src/pics/splash.png.d
-data/src/icons/CutHistory.svg.i
-data/src/icons/cache/attributes/yes_Significant_Hike.svg.i
-data/src/map/CMapPathSetup.h.i
-data/src/canvas/IDrawContext.h.i
-data/src/gis/db/CSetupDatabase.cpp.i
-data/src/icons/cache/32x32/earth.png.i
-data/src/gis-search/CSearchGoogle.cpp.i
-data/src/gis-search/CGisSearchWidget.h.i
-data/src/gis/gpx/CGisProject.h.i
-data/src/icons/cache/attributes/dis_Motorcycles.svg.i
-data/src/grid/mitab.h.i
-data/src/icons/32x32/FolderMap.png.i
-data/src/gis/trk/filter/IFilterOffsetElevation.ui.i
-data/src/icons/32x32/mime_jnx.png.i
-data/src/icons/cache/attributes/dis_Fuel_Nearby.svg.i
-data/src/icons/48x48/NoFix.png.i
-data/src/icons/waypoints/Waypoint.svg.i
-data/src/dem/CDemDraw.h.i
-data/src/CAppOpts.h.i
-data/src/icons/waypoints/DiamondBlue.svg.i
-data/src/icons/48x48/FromMap.png.i
-data/src/map/CMapVrtBuilder.cpp.i
-data/src/icons/TextBold.svg.i
-data/src/icons/Lock.svg.i
-data/src/icons/48x48/Cut.png.i
-data/src/map/CMapIMG.cpp.i
-data/src/icons/AreaMove.svg.i
-data/src/gis/trk/filter/IFilterNewDate.ui.i
-data/src/icons/cache/event.svg.i
-data/src/icons/16x16/font.png.i
-data/src/icons/32x32/wizzard.png.i
-data/src/gis/trk/filter/IFilterReplaceElevation.ui.i
-data/src/icons/32x32/pathMap.png.i
-data/src/icons/48x48/Opacity.png.i
-data/src/icons/32x32/PathBlue.png.i
-data/src/icons/cache/restore.svg.i
-data/src/icons/48x48/NightDay.png.i
-data/src/icons/MouseWheel.svg.i
-data/src/icons/PointMove.svg.i
-data/src/icons/16x16/MimeDemVRT.png.i
-data/src/map/IMap.cpp.i
-data/src/map/CMapTMS.cpp.i
-data/src/plot/CPlotData.h.i
-data/src/icons/cache/attributes/dis_Scenic_view.svg.i
-data/src/icons/cache/32x32/dnf.png.i
-data/src/gis/db/CLostFoundProject.cpp.i
-data/src/gis-search/CSearchGoogle.h.i
-data/src/gis/IGisProject.h.i
-data/src/icons/cache/attributes/no_Wheelchair_accessible.svg.i
-data/src/icons/cache/attributes/dis_Needs_maintenance.svg.i
-data/src/qlgt/CQlgtDiary.cpp.i
-data/src/map/CMapList.h.i
-data/src/plot/CPlotSpeed.h.i
-data/src/gis-search/IGisSearch.cpp.i
-data/src/dem/CDem.h.i
-data/src/icons/48x48/PointMove.png.i
-data/src/icons/EditDetails.svg.i
-data/src/gis-search/IGisSearch.h.i
-data/src/icons/cache/attributes/dis_Telephone_nearby.svg.i
-data/src/icons/32x32/FolderDEM.png.i
-data/src/icons/32x32/Area.png.i
-data/src/icons/32x32/WptProj.png.i
-data/src/icons/cache/32x32/waypoint-flag-red.png.i
-data/src/device/CDeviceTwoNav.cpp.i
-data/src/icons/waypoints/32x32/FlagGreen.png.i
-data/src/icons/16x16/UnLock.png.i
-data/src/gis/wpt/IProjWpt.ui.i
-data/src/icons/32x32/PathGreen.png.i
-data/src/icons/16x16/2DFix.png.i
-data/src/icons/cache/attributes/no_Available_during_winter.svg.i
-data/src/gis/trk/filter/CFilterDelete.h.i
-data/src/icons/48x48/Cancel.png.i
-data/src/icons/8x8/bullet_dark_blue.png.i
-data/src/gis/trk/filter/CFilterReset.h.i
-data/src/icons/Image.svg.i
-data/src/icons/Start.svg.i
-data/src/mouse/CMouseEditArea.h.i
-data/src/icons/48x48/Move.png.i
-data/src/icons/SetupMapWorkspace.svg.i
-data/src/mouse/CMouseRangeTrk.cpp.i
-data/src/icons/32x32/EditText.png.i
-data/src/qlgt/IQlgtOverlay.h.i
-data/src/mouse/CScrOptPoint.cpp.i
-data/src/qlgt/CQlgtDb.cpp.i
-data/src/icons/48x48/TextJustified.png.i
-data/src/gis/trk/CCombineTrk.cpp.i
-data/src/icons/48x48/FolderMap.png.i
-data/src/icons/32x32/CutHistory.png.i
-data/src/icons/cache/cito.svg.i
-data/src/icons/waypoints/32x32/PinRed.png.i
-data/src/icons/MimeDemVRT.svg.i
-data/src/icons/16x16/AddMapWorkspace.png.i
-data/src/icons/48x48/UnLock.png.i
-data/src/icons/cache/attributes/yes_Night_Cache.svg.i
-data/src/icons/cache/attributes/dis_Cross_Country_Skis.svg.i
-data/src/gis/prj/IGisProject.h.i
-data/src/qlgt/CQlgtTrack.h.i
-data/src/gis/CGisItemTrk.h.i
-data/src/icons/32x32/Error.png.i
-data/src/icons/cache/waypoint-flag-red.svg.i
-data/src/gis/WptIcons.cpp.i
-data/src/icons/cache/attributes/dis_Access_or_parking_fee.svg.i
-data/src/icons/48x48/Font.png.i
-data/src/icons/16x16/nightDay.png.i
-data/src/icons/cache/attributes/no_Horses.svg.i
-data/src/icons/16x16/Down.png.i
-data/src/icons/32x32/TextJustified.png.i
-data/src/mouse/CMouseNormal.cpp.i
-data/src/icons/cache/attributes/dis_May_require_swimming.svg.i
-data/src/icons/cache/attributes/yes_Snowmobiles.svg.i
-data/src/icons/32x32/POIText.png.i
-data/src/map/CMap.cpp.i
-data/src/icons/waypoints/32x32/BoxGreen.png.i
-data/src/icons/48x48/help.png.i
-data/src/icons/48x48/UnitSetup.png.i
-data/src/units/IUnit.cpp.i
-data/src/animation/WTFPL-2.i
-data/src/icons/16x16/mime_jnx.png.i
-data/src/icons/Left.svg.i
-data/src/dem/IDem.h.i
-data/src/mouse/IScrOptRangeTrk.ui.i
-data/src/icons/Path.svg.i
-data/src/icons/32x32/check.png.i
-data/src/gis/gpx/CGisProject.cpp.i
-data/src/icons/48x48/QMapShack.png.i
-data/src/icons/48x48/Apply.png.i
-data/src/icons/SetEle.svg.i
-data/src/icons/32x32/SetEle.png.i
-data/src/icons/16x16/up.png.i
-data/src/map/cache/CDiskCache.cpp.i
-data/nsi/MUI_HEADERIMAGE.bmp.i
-data/src/dem/IDem.cpp.i
-data/src/icons/cache/attributes/dis_Food_Nearby.svg.i
-data/cmake/Modules/FindQextSerialPort.cmake.i
-data/3rdparty/DBConverter/CMakeLists.txt.i
-data/src/icons/32x32/gridSetup.png.i
-data/src/icons/SaveGISAs.svg.i
-data/src/icons/32x32/Off.png.i
-data/src/icons/waypoints/PinGreen.svg.i
-data/src/Platform.h.i
-data/src/icons/cache/attributes/no_Snowmobiles.svg.i
-data/src/icons/32x32/Check.png.i
-data/src/map/IMapPropSetup.ui.i
-data/src/icons/16x16/MimeMAP.png.i
-data/src/helpers/ISelectProjectDialog.ui.i
-data/src/icons/16x16/TextLeft.png.i
-data/src/gis/db/CSetupWorkspace.h.i
-data/src/icons/cache/attributes/dis_Short_hike_(less_than_1km).svg.i
-data/src/map/IMapPathSetup.ui.i
-data/src/icons/48x48/GridSetup.png.i
-data/src/mouse/CScrOptWpt.cpp.i
-data/src/icons/cache/attributes/yes_Medium_hike_(1km-10km).svg.i
-data/src/icons/48x48/Combine.png.i
-data/src/map/CMapWMTS.cpp.autosave.i
-data/cmake/Modules/FindDMTX.cmake.i
-data/src/icons/16x16/delete.png.i
-data/src/icons/AddArea.svg.d
-data/src/plot/ITrack.h.i
-data/src/qlgt/CQlgtRoute.h.i
-data/src/icons/16x16/Route.png.i
-data/src/gis/CGisItemTrk.cpp.i
-data/src/icons/48x48/Link.png.i
-data/src/helpers/CSelectProjectDialog.h.i
-data/src/icons/32x32/DelImage.png.i
-data/src/icons/16x16/Reset.png.i
-data/src/cursors/cursorAdd.png.i
-data/src/icons/32x32/reset.png.i
-data/src/icons/48x48/SearchGoogle.png.i
-data/src/icons/Area.svg.i
-data/src/gis/prj/IDetailsPrj.ui.i
-data/cmake/Modules/MacroEnsureOutOfSourceBuild.cmake.i
-data/src/dem/CDemVRT.h.i
-data/src/gis/trk/CGisItemTrk.h.i
-data/src/locale/qmapshack_fr.ts.i
-data/3rdparty/DBConverter/qlgt/IQlgtOverlay.h.i
-data/src/map/garmin/CGarminStrTblUtf8.cpp.i
-data/src/gis/CGisItemWpt.cpp.i
-data/src/icons/32x32/Empty.png.i
-data/src/helpers/CFileExt.h.i
-data/src/map/CMapVRT.h.i
-data/src/canvas/CCanvas.h.i
-data/src/icons/cache/attributes/no_Quads.svg.i
-data/src/icons/32x32/up.png.i
-data/src/map/garmin/CGarminPolygon.h.i
-data/src/gis/gpx/CGpxProject.cpp.i
-data/src/icons/cache/attributes/dis_Wireless_Beacon.svg.i
-data/src/icons/16x16/redGlow.png.i
-data/src/icons/16x16/Track.png.i
-data/src/icons/PathBlue.svg.i
-data/src/icons/cache/32x32/OCMLogoSmall.png.i
-data/src/map/CMapWMTS.cpp.i
-data/src/icons/48x48/Redo.png.i
-data/src/icons/16x16/Help.png.i
-data/src/icons/cache/attributes/yes_May_require_wading.svg.i
-data/src/map/CMapDraw.h.i
-data/src/map/IMapPropSetup.h.i
-data/src/icons/SearchGoogle.svg.i
-data/src/icons/16x16/add.png.i
-data/src/icons/waypoints/32x32/Default.png.i
-data/src/icons/cache/attributes/dis_Snowshoes.svg.i
-data/src/helpers/CWptIconDialog.h.i
-data/src/mouse/CMouseNormal.h.i
-data/src/map/CMapIMG.h.i
-data/src/mouse/IScrOpt.cpp.i
-data/src/device/CDeviceWatcherLinux.cpp.i
-data/src/icons/16x16/TextItalic.png.i
-data/src/icons/8x8/bullet_blue.png.i
-data/src/icons/cache/32x32/multi.png.i
-data/src/icons/VrtBuilder.svg.i
-data/src/icons/32x32/ReloadImage.png.i
-data/src/icons/cache/32x32/ftf.png.i
-data/src/plot/CPlotAxis.cpp.i
-data/src/icons/32x32/Route.png.i
-data/src/main.cpp.i
-data/src/helpers/Platform.h.i
-data/src/icons/16x16/TimeZoneSetup.png.i
-data/mkfile.i
-data/src/icons/Tainted.svg.i
-data/src/icons/waypoints/32x32/FlagRed.png.i
-data/src/icons/cache/attributes/dis_Dogs.svg.i
-data/src/helpers/IPositionDialog.ui.i
-data/src/icons/cache/multi.svg.i
-data/src/helpers/IElevationDialog.ui.i
-data/src/icons/16x16/pathMap.png.i
-data/src/icons/cache/32x32/unknown.png.i
-data/3rdparty/DBConverter/IMainWindow.ui.i
-data/src/icons/48x48/AddProject.png.i
-data/src/icons/cache/32x32/down_icon.png.i
-data/nsi/copyfiles.bat.i
-data/src/pics/compass.png.i
-data/src/icons/cache/attributes/no_Drinking_water_nearby.svg.i
-data/src/icons/cache/attributes/yes_Ticks.svg.i
-data/src/map/CGrid.h.i
-data/src/icons/32x32/selectColor.png.i
-data/src/icons/cache/32x32/OCMLogo.png.i
-data/src/gis/trk/CGisItemTrk.cpp.i
-data/src/icons/Apply.svg.i
-data/src/icons/32x32/mime_vrt.png.i
-data/src/icons/TextCenter.svg.i
-data/src/icons/cache/32x32/minicon.png.i
-data/src/icons/48x48/SelectRange.png.i
-data/src/mouse/IMouseEditLine.h.i
-data/src/icons/QmsProject.svg.i
-data/src/icons/waypoints/DiamondGreen.svg.i
-data/src/icons/16x16/SelectRange.png.i
-data/src/mouse/CMouseMoveWpt.h.i
-data/src/icons/cache/attributes/yes_Wireless_Beacon.svg.i
-data/src/qlgt/CImportDatabase.h.i
-data/src/icons/cache/trailhead.svg.i
-data/src/icons/cache/attributes/dis_Field_Puzzle.svg.i
-data/nsi/copyfiles32.bat.i
-data/src/icons/32x32/Help.png.i
-data/src/icons/cache/attributes/no_Food_Nearby.svg.i
-data/src/icons/48x48/TextBold.png.i
-data/3rdparty/DBConverter/CMainWindow.h.i
-data/src/icons/16x16/Paste.png.i
-data/src/gis/tnv/CTwoNavProject.h.i
-data/src/icons/32x32/TextUnderlined.png.i
-data/src/plot/CPlotDistance.h.i
-data/src/dem/CDemPropSetup.h.i
-data/src/icons/waypoints/PinRed.svg.i
-data/src/gis/rte/CScrOptRte.cpp.i
-data/src/icons/cache/attributes/dis_Watch_for_livestock.svg.i
-data/src/plot/ITrack.cpp.i
-data/src/icons/cache/attributes/no_Parking_available.svg.i
-data/templates/source.cpp.i
-data/src/icons/48x48/MimeIMG.png.i
-data/src/icons/cache/corrected.svg.i
-data/src/icons/SelectRange.svg.i
-data/src/gis/ovl/CDetailsOvlArea.h.i
-data/src/gis/WptIcons.h.i
-data/nsi/konsole.ico.i
-data/src/map/IMap.h.i
-data/src/gis/CGisSerialization.h.i
-data/src/dem/CDemDraw.cpp.i
-data/src/icons/waypoints/32x32/PinBlue.png.i
-data/src/icons/32x32/Device.png.i
-data/src/icons/cache/attributes/no_Stealth_required.svg.i
-data/src/plot/CPlotAxisTime.h.i
-data/src/icons/32x32/MapRoom.png.i
-data/src/icons/16x16/Redo.png.i
-data/src/gis/db/ISetupWorkspace.ui.i
-data/src/icons/32x32/Scale.png.i
-data/src/icons/16x16/grid.png.i
-data/src/icons/waypoints/32x32/Residence.png.i
-data/src/cursors/cursorMoveArea.png.i
-data/src/icons/16x16/Map.png.i
-data/src/gis/IGisLine.cpp.i
-data/src/icons/32x32/GpxProject.png.i
-data/src/icons/cache/attributes/yes_Short_hike_(less_than_1km).svg.i
-data/src/gis/search/CSearchGoogle.h.i
-data/nsi/QMapShack_Installer.nsi.i
-data/src/qlgt/converter.cpp.i
-data/src/plot/CPlotData.cpp.i
-data/src/icons/16x16/MimeRMAP.png.i
-data/src/icons/32x32/poiText.png.i
-data/src/helpers/CElevationDialog.cpp.i
-data/src/icons/ReloadImage.svg.i
-data/src/helpers/CTextEditWidget.h.i
-data/src/icons/cache/attributes/yes_Quads.svg.i
-data/src/icons/Print.svg.i
-data/src/icons/8x8/bullet_gray.png.i
-data/src/dem/CDemPathSetup.h.i
-data/src/qlgt/CQlgtWpt.h.i
-data/src/icons/cache/attributes/dis_Flashlight_required.svg.i
-data/src/dem/IDemPathSetup.ui.i
-data/src/map/CMapPathSetup.cpp.i
-data/src/units/CTimeZoneSetup.h.i
-data/src/gis/bin/CBinProject.cpp.i
-data/src/icons/48x48/Start.png.i
-data/src/icons/32x32/MimeIMG.png.i
-data/src/mouse/CMouseEditTrk.h.i
-data/src/icons/cache/attributes/yes_Scenic_view.svg.i
-data/src/map/CMap.h.i
-data/src/cursors/wptHighlight.svg.i
-data/src/icons/cache/found.svg.i
-data/src/plot/CPlotDistance.cpp.i
-data/src/icons/48x48/POIText.png.i
-data/src/device/IDeviceWatcher.cpp.i
-data/src/map/garmin/CGarminStrTbl8.cpp.i
-data/src/icons/SelectColor.svg.i
-data/src/icons/48x48/Map.png.i
-data/src/gis/db/CDBFolderDatabase.h.i
-data/src/icons/icons.svg.i
-data/src/icons/TextLeft.svg.i
-data/src/map/cache/IDiskCache.h.i
-data/3rdparty/DBConverter/qlgt/CQlgtRoute.cpp.i
-data/src/icons/cache/attributes/dis_UV_Light_Required.svg.i
-data/src/units/CUnitMetric.h.i
-data/src/gis/IGisItem.h.i
-data/3rdparty/DBConverter/CMainWindow.cpp.i
-data/src/gis/qms/CQmsProject.cpp.i
-data/src/icons/48x48/CutHistory.png.i
-data/src/icons/DatabaseSetup.svg.i
-data/src/icons/16x16/Tainted.png.i
-data/src/icons/48x48/pathMap.png.i
-data/src/icons/waypoints/FlagGreen.svg.i
-data/src/icons/cache/attributes/dis_Thorns.svg.i
-data/src/gis/bin/CGisSerialization.h.i
-data/src/device/CDeviceWatcherLinux.h.i
-data/nsi/kfm_home.ico.i
-data/src/icons/cache/up_icon.svg.i
-data/src/icons/32x32/WptMove.png.i
-data/src/gis/db/macros.h.i
-data/src/gis/trk/filter/CFilterSpeed.h.i
-data/src/gis/trk/filter/CFilterReset.cpp.i
-data/src/gis/db/CDBFolderGroup.h.i
-data/src/icons/cache/pushpin.svg.i
-data/src/icons/cache/32x32/trailhead.png.i
-data/3rdparty/DBConverter/qlgt/CQlgtTrack.cpp.i
-data/src/icons/cache/attributes/dis_Campfires.svg.i
-data/src/icons/32x32/scale.png.i
-data/src/icons/48x48/LineMove.png.i
-data/src/icons/cache/attributes/dis_Medium_hike_(1km-10km).svg.i
-data/3rdparty/CGetOpt/main.cpp.i
-data/src/icons/cache/attributes/yes_Horses.svg.i
-data/src/animation/loader.gif.i
-data/cmake/Modules/FindGPSD.cmake.i
-data/src/icons/48x48/Time.png.i
-data/src/map/CMapRMAP.h.i
-data/src/icons/32x32/mime_img.png.i
-data/src/CAbout.cpp.i
-data/src/icons/16x16/Up.png.i
-data/src/icons/32x32/MimeVRT.png.i
-data/nsi/gdalicon.ico.i
-data/src/icons/16x16/FolderDEM.png.i
-data/3rdparty/DBConverter/CQlgtDb.cpp.i
-data/src/icons/48x48/MimeMAP.png.i
-data/src/icons/48x48/TrkCut.png.i
-data/src/gis/db/IDB.cpp.i
-data/src/icons/SaveAllGIS.svg.i
-data/src/icons/DBProject.svg.i
-data/src/icons/16x16/LoadGIS.png.i
-data/src/icons/48x48/Off.png.i
-data/src/icons/Copy.svg.i
-data/src/map/CMapMAP.h.i
-data/src/icons/NightDay.svg.i
-data/src/icons/32x32/font.png.i
-data/src/icons/16x16/Add.png.i
-data/src/icons/waypoints/PinBlue.svg.i
-data/src/icons/cache/greenpin.svg.i
-data/src/gis/CGisListWks.cpp.i
-data/src/gis/bin/CGisSerialization.cpp.i
-data/src/icons/16x16/GisProject.png.i
-data/src/icons/48x48/Close.png.i
-data/src/map/garmin/CGarminTyp.h.i
-data/src/icons/cache/32x32/star.png.i
-data/src/qlgt/CImportDatabase.cpp.i
-data/src/mouse/IScrOptPoint.ui.i
-data/src/icons/32x32/SelectRange.png.i
-data/src/icons/cache/attributes/yes_May_require_swimming.svg.i
-data/src/icons/Reset.svg.i
-data/src/icons/32x32/TextLeft.png.i
-data/src/mouse/CScrOptUnclutter.h.i
-data/src/CAbout.h.i
-data/src/units/CUnitMetric.cpp.i
-data/src/icons/32x32/TrkProfile.png.i
-data/src/icons/cache/attributes/dis_Difficult_climbing.svg.i
-data/src/icons/Redo.svg.i
-data/src/icons/32x32/gridWizard.png.i
-data/src/gis/db/CDBFolderOther.h.i
-data/src/icons/cache/attributes/no_Available_at_all_times.svg.i
-data/src/icons/48x48/Reverse.png.i
-data/src/mouse/CScrOptRange.cpp.i
-data/src/icons/cache/attributes/dis_Special_Tool_Required.svg.i
-data/src/icons/cache/attributes/no_Short_hike_(less_than_1km).svg.i
-data/src/icons/32x32/MimeDemVRT.png.i
-data/src/device/CDeviceWatcherWindows.h.i
-data/src/gis/CGisSerialization.cpp.i
-data/src/icons/cache/ftf.svg.i
-data/src/icons/32x32/add.png.i
-data/src/icons/32x32/MimeJNX.png.i
-data/src/icons/cache/webcam.svg.i
-data/src/icons/cache/traditional.svg.i
-data/src/grid/IGridSetup.ui.i
-data/src/icons/cache/attributes/dis_Recommended_at_night.svg.i
-data/src/icons/cache/attributes/yes_Needs_maintenance.svg.i
-data/src/icons/Font.svg.i
-data/src/map/IMapVrtBuilder.ui.i
-data/src/icons/Undo.svg.i
-data/src/icons/cache/attributes/yes_Scuba_gear.svg.i
-data/src/icons/cache/star_empty.svg.i
-data/src/icons/16x16/Undo.png.i
-data/src/gis/trk/CCombineTrk.h.i
-data/src/version.h.i
-data/src/icons/32x32/2NavProject.png.i
-data/src/icons/32x32/SaveGISAs.png.i
-data/src/plot/CPlotTrack.cpp.i
-data/cmake/Modules/CMakeLists.txt.i
-data/src/icons/cache/attributes/yes_UV_Light_Required.svg.i
-data/src/icons/waypoints/32x32/BoxRed.png.i
-data/src/icons/waypoints/32x32/Waypoint.png.i
-data/src/icons/16x16/Scale.png.i
-data/src/helpers/CPositionDialog.cpp.i
-data/src/qlgt/CQlb.h.i
-data/src/canvas/IDrawContext.cpp.i
-data/src/icons/cache/32x32/virtual.png.i
-data/src/map/CMapTMS.h.i
-data/src/map/garmin/IGarminStrTbl.h.i
-data/call_Uncrustify.cfg.i
-data/src/qlgt/IImportDatabase.ui.i
-data/src/CMakeLists.txt.i
-data/src/icons/cache/dnf.svg.i
-data/src/icons/LoadGIS.svg.i
-data/src/icons/16x16/GridSetup.png.i
-data/src/icons/32x32/Pattern.png.i
-data/src/icons/Info.svg.i
-data/src/icons/32x32/MimeWMTS.png.i
-data/src/icons/AddImage.svg.i
-data/src/icons/waypoints/makeicons.i
-data/src/CMainWindow.cpp.i
-data/src/icons/16x16/TextUnderlined.png.i
-data/src/units/IUnit.h.i
-data/src/map/IMapProp.cpp.i
-data/src/icons/cache/32x32/greenpin.png.i
-data/src/gis/db/CDBFolderDatabase.cpp.i
-data/src/CMainWindow.h.i
-data/src/gis/db/CSetupDatabase.h.i
-data/src/gis/trk/IScrOptTrk.ui.i
-data/src/icons/cache/32x32/bluepin.png.i
-data/src/gis/db/IDB.h.i
-data/src/icons/TrkProfile.svg.i
-data/src/icons/cache/32x32/DistIcon.png.i
-data/cmake/Modules/MacroCopyFile.cmake.i
-data/src/icons/48x48/SaveAllGIS.png.i
-data/src/gis/CGisWidget.h.i
-data/src/icons/cache/attributes/no_Motorcycles.svg.i
-data/src/icons/48x48/MimeVRT.png.i
-data/src/icons/cache/OCMLogoSmall.svg.i
-data/src/icons/waypoints/BoxGreen.svg.i
-data/src/icons/48x48/Lock.png.i
-data/src/icons/48x48/LoadGIS.png.i
-data/src/icons/48x48/Track.png.i
-data/src/gis/CGisWidget.cpp.i
-data/src/dem/IDemProp.cpp.i
-data/src/icons/48x48/GpxProject.png.i
-data/src/units/CUnitNautic.h.i
-data/src/icons/32x32/map.png.i
-data/src/icons/48x48/DatabaseConvert.png.i
-data/src/icons/cache/attributes/no_Bicycles.svg.i
-data/src/icons/32x32/Apply.png.i
-data/src/qlgt/CQlgtWpt.cpp.i
-data/src/qlgt/CQlgtDiary.h.i
-data/src/icons/waypoints/FlagBlue.svg.i
-data/src/icons/FolderMap.svg.i
-data/src/icons/48x48/DeleteOne.png.i
-data/src/gis/trk/filter/CFilterMedian.h.i
-data/src/icons/cache/attributes/yes_Dangerous_area.svg.i
-data/src/icons/32x32/TextRight.png.i
-data/src/icons/48x48/QmsProject.png.i
-data/src/icons/Link.svg.i
-data/src/icons/makeicons.i
-data/src/icons/Move.svg.i
-data/src/animation/loader2.gif.i
-data/src/icons/16x16/TrkProfile.png.i
-data/src/icons/16x16/Cancel.png.i
-data/src/mouse/CScrOptEditLine.cpp.i
-data/src/gis/CGisDraw.h.i
-data/src/icons/cache/attributes/yes_Off-road_vehicles.svg.i
-data/src/icons/cache/attributes/yes_Cliff___falling_rocks.svg.i
-data/nsi/3rdparty.txt.i
-data/src/icons/32x32/SearchGoogle.png.i
-data/src/qlgt/CQlgtDb.h.i
-data/src/map/CMapMAP.cpp.i
-data/src/mouse/IMouseEditLine.cpp.i
-data/src/cursors/cursorSelectRange.png.i
-data/src/gis/db/IDBFolder.h.i
-data/src/icons/48x48/TrkProfile.png.i
-data/src/icons/8x8/bullet_dark_gray.png.i
-data/src/icons/8x8/bullet_dark_red.png.i
-data/src/icons/cache/makeicons.i
-data/src/icons/48x48/Tainted.png.i
-data/src/icons/cache/attributes/dis_Takes_less_than_an_hour.svg.i
-data/src/icons/3DFix.svg.i
-data/src/helpers/CPositionDialog.h.i
-data/src/map/CMapItem.cpp.i
-data/3rdparty/DBConverter/qlgt/CQlgtTrack.h.i
-data/src/icons/cache/attributes/yes_Abandoned_mines.svg.i
-data/src/icons/8x8/bullet_green.png.i
-data/src/icons/cache/32x32/letterbox.png.i
-data/src/icons/32x32/mime_rmap.png.i
-data/src/icons/32x32/LoadGIS.png.i
-data/src/icons/cache/attributes/no_Off-road_vehicles.svg.i
-data/src/canvas/ICanvasSetup.ui.i
-data/src/icons/32x32/AddWpt.png.i
-data/src/map/garmin/CGarminPoint.h.i
-data/src/device/CDeviceGarmin.h.i
-data/src/icons/cache/32x32/found.png.i
-data/src/icons/32x32/deleteAll.png.i
-data/src/IDrawContext.cpp.i
-data/cmake/Modules/DefineCompilerFlags.cmake.i
-data/src/gis/db/IDBFolder.cpp.i
-data/src/qlgt/CQlb.cpp.i
-data/src/gis/trk/CScrOptTrk.cpp.i
-data/src/gis/db/CDBProject.h.i
-data/src/icons/32x32/MimeRMAP.png.i
-data/src/icons/16x16/mime_map.png.i
-data/src/plot/CPlot.h.i
-data/src/plot/CPlotAxisTime.cpp.i
-data/src/IAbout.ui.i
-data/src/icons/waypoints/32x32/PinGreen.png.i
-data/src/icons/32x32/AddProject.png.i
-data/src/icons/16x16/mime_vrt.png.i
-data/3rdparty/DBConverter/converter.cpp.i
-data/3rdparty/DBConverter/resources.qrc.i
-data/src/icons/48x48/Image.png.i
-data/src/icons/48x48/EditDetails.png.i
-data/src/gis/trk/ICombineTrk.ui.i
-data/src/icons/waypoints/Default.svg.i
-data/src/icons/FromMap.svg.i
-data/src/gis/trk/filter/CFilterDouglasPeuker.h.i
-data/src/icons/cache/needs_maintenance.svg.i
-data/src/gis/db/CSetupFolder.cpp.i
-data/config.h.cmake.i
-data/src/map/CMapItem.h.i
-data/src/icons/cache/attributes/no_Difficult_climbing.svg.i
-data/src/gis/trk/filter/IFilterReset.ui.i
-data/src/icons/16x16/ToTop.png.i
-data/src/gis/trk/filter/CFilterDouglasPeuker.cpp.i
-data/src/icons/cache/attributes/yes_Motorcycles.svg.i
-data/src/units/CUnitNautic.cpp.i
-data/src/gis/ovl/CGisItemOvlArea.h.i
-data/src/icons/cache/attributes/no_Takes_less_than_an_hour.svg.i
-data/src/icons/cache/earth.svg.i
-data/src/icons/Right.svg.i
-data/src/helpers/CElevationDialog.h.i
-data/src/gis/db/ISetupFolder.ui.i
-data/src/icons/32x32/2DFix.png.i
-data/src/icons/cache/attributes/yes_Public_restrooms_nearby.svg.i
-data/src/icons/cache/attributes/no_Long_Hike_(+10km).svg.i
-data/src/icons/48x48/Path.png.i
-data/src/locale/qmapshack_de.ts.i
-data/cmake/Modules/FindQtSoap.cmake.i
-data/src/gis/trk/filter/IFilterMedian.ui.i
-data/src/mouse/IScrOptEditLine.ui.i
-data/src/map/CMapVrtBuilder.h.i
-data/src/icons/48x48/Error.png.i
-data/src/icons/16x16/MimeIMG.png.i
-data/src/grid/CProjWizard.h.i
-data/LICENSE.i
-data/src/icons/48x48/WptMove.png.i
-data/src/icons/cache/other.svg.i
-data/src/helpers/CInputDialog.cpp.i
-data/src/icons/16x16/Grid.png.i
-data/src/map/cache/CDiskCache.h.i
-data/src/icons/16x16/POIText.png.i
-data/src/icons/cache/32x32/webcam.png.i
-data/src/CSettings.h.i
-data/src/IDrawObject.cpp.i
-data/src/icons/48x48/DBProject.png.i
-data/src/icons/cache/attributes/no_Poison_plants.svg.i
-data/src/icons/Track.svg.i
-data/src/icons/32x32/Opacity.png.i
-data/src/icons/waypoints/32x32/DiamondBlue.png.i
-data/src/gis/db/CSetupFolder.h.i
-data/src/map/IMapPropSetup.cpp.i
-data/src/canvas/CCanvasSetup.cpp.i
-data/src/icons/32x32/PointHide.png.i
-data/3rdparty/DBConverter/CQmsDb.h.i
-data/src/device/IDevice.cpp.i
-data/src/icons/Route.svg.i
-data/src/map/garmin/CGarminPolygon.cpp.i
-data/src/icons/32x32/Database.png.i
-data/src/icons/cache/attributes/dis_Horses.svg.i
-data/src/icons/PathOrange.svg.i
-data/src/icons/Cancel.svg.i
-data/src/icons/cache/attributes/dis_Hunting.svg.i
-data/src/icons/16x16/MapRoom.png.i
-data/src/icons/cache/attributes/dis_Public_transportation.svg.i
-data/src/gis/trk/CDetailsTrk.h.i
-data/src/icons/32x32/ToBottom.png.i
-data/3rdparty/DBConverter/qlgt/CQlgtDiary.cpp.i
-data/src/icons/MimeVRT.svg.i
-data/src/icons/32x32/Right.png.i
-data/src/icons/16x16/Check.png.i
-data/src/gis/db/CDBProject.cpp.i
-data/3rdparty/CGetOpt/CGetOpt.h.i
-data/src/map/IMapList.ui.i
-data/src/icons/MimeRMAP.svg.i
-data/src/icons/32x32/Font.png.i
-data/src/GeoMath.cpp.i
-data/src/icons/cache/write_note.svg.i
-data/src/plot/IPlot.cpp.i
-data/src/icons/8x8/bullet_magenta.png.i
-data/src/gis/wpt/CGisItemWpt.h.i
-data/maproom.1.i
-data/src/icons/cache/attributes/yes_Recommended_at_night.svg.i
-data/src/icons/cache/attributes/yes_Climbing_gear.svg.i
-data/src/icons/Scale.svg.i
-data/src/dem/IDemList.ui.i
-data/src/icons/cache/OCMLogo.svg.i
-data/src/helpers/CPhotoAlbum.h.i
-data/src/mouse/CMouseEditTrk.cpp.i
-data/nsi/MUI_WELCOMEFINISHPAGE.bmp.i
-data/src/icons/cache/parking.svg.i
-data/src/icons/MimeMAP.svg.i
-data/src/icons/32x32/Down.png.i
-data/src/icons/32x32/grid.png.i
-data/3rdparty/DBConverter/qlgt/CQlgtWpt.h.i
-data/src/icons/48x48/DelImage.png.i
-data/src/gis/gpx/CGpxProject.h.i
-data/src/gis/trk/filter/IFilterObscureDate.ui.i
-data/src/icons/32x32/Redo.png.i
-data/src/gis/wpt/CGisItemWpt.cpp.i
-data/src/icons/48x48/ReloadImage.png.i
-data/src/icons/WptMove.svg.i
-data/src/icons/ToBottom.svg.i
-data/src/helpers/CPhotoViewer.cpp.i
-data/src/gis/bin/CBinProject.h.i
-data/src/icons/32x32/mime_map.png.i
-data/src/icons/cache/SearchIcon.svg.i
-data/src/icons/48x48/Grid.png.i
-data/src/icons/cache/Apache-2.0.i
-data/CPackConfig.cmake.i
-data/src/icons/cache/attributes/dis_Truck_Driver_RV.svg.i
-data/src/icons/32x32/SelectColor.png.i
-data/src/icons/16x16/SaveAllGIS.png.i
-data/src/icons/cache/attributes/yes_Difficult_climbing.svg.i
-data/src/gis/trk/filter/CFilterSpeed.cpp.i
-data/src/icons/32x32/SaveAllGIS.png.i
-data/src/icons/32x32/Add.png.i
-data/src/icons/32x32/Combine.png.i
-data/src/gis/prj/CDetailsPrj.cpp.i
-data/src/icons/cache/attributes/dis_Abandoned_Structure.svg.i
-data/src/gis-search/CGisSearchWidget.cpp.i
-data/src/icons/cache/attributes/yes_Field_Puzzle.svg.i
-data/src/icons/32x32/Map.png.i
-data/src/icons/48x48/MimeTMS.png.i
-data/src/icons/cache/treasure.svg.i
-data/src/icons/16x16/reset.png.i
-data/src/icons/TrkCut.svg.i
-data/GpxExamples/COPYRIGHT.i
-data/src/icons/POIText.svg.i
-data/ConfigureChecks.cmake.i
-data/src/icons/32x32/flipDirection.png.i
-data/src/icons/16x16/view.png.i
-data/src/grid/CGrid.cpp.i
-data/src/icons/GridSetup.svg.i
-data/src/icons/32x32/Cut.png.i
-data/src/canvas/IDrawObject.cpp.i
-data/src/icons/32x32/fromMap.png.i
-data/src/icons/cache/attributes/yes_Stealth_required.svg.i
-data/src/icons/16x16/addCanvas.png.i
-data/src/icons/cache/attributes/dis_Ticks.svg.i
-data/src/icons/16x16/TextCenter.png.i
-data/src/qlgt/IItem.cpp.i
-data/src/icons/32x32/DBProject.png.i
-data/src/icons/48x48/ToTop.png.i
-data/src/icons/cache/attributes/dis_Significant_Hike.svg.i
-data/src/icons/cache/attributes/yes_Telephone_nearby.svg.i
-data/src/icons/Up.svg.i
-data/src/gis/ovl/CScrOptOvlArea.h.i
-data/src/icons/Area.svg.d
-data/src/icons/cache/attributes/dis_Boat.svg.i
-data/src/icons/cache/attributes/yes_Recommended_for_kids.svg.i
-data/src/gis/wpt/CScrOptWpt.h.i
diff --git a/.hg/store/undo.backup.phaseroots b/.hg/store/undo.backup.phaseroots
deleted file mode 100644
index e638030..0000000
--- a/.hg/store/undo.backup.phaseroots
+++ /dev/null
@@ -1 +0,0 @@
-1 b96fdbd83951d4a66f63f06abd77e44aae3411cf
diff --git a/.hg/store/undo.backupfiles b/.hg/store/undo.backupfiles
deleted file mode 100644
index ccd1f3b..0000000
Binary files a/.hg/store/undo.backupfiles and /dev/null differ
diff --git a/.hg/store/undo.phaseroots b/.hg/store/undo.phaseroots
deleted file mode 100644
index e638030..0000000
--- a/.hg/store/undo.phaseroots
+++ /dev/null
@@ -1 +0,0 @@
-1 b96fdbd83951d4a66f63f06abd77e44aae3411cf
diff --git a/.hg/strip-backup/0b6003b46efb-amend-backup.hg b/.hg/strip-backup/0b6003b46efb-amend-backup.hg
deleted file mode 100644
index 4c5c731..0000000
Binary files a/.hg/strip-backup/0b6003b46efb-amend-backup.hg and /dev/null differ
diff --git a/.hg/strip-backup/0f0b575a1262-amend-backup.hg b/.hg/strip-backup/0f0b575a1262-amend-backup.hg
deleted file mode 100644
index d66f83b..0000000
Binary files a/.hg/strip-backup/0f0b575a1262-amend-backup.hg and /dev/null differ
diff --git a/.hg/strip-backup/24c62e27d1de-amend-backup.hg b/.hg/strip-backup/24c62e27d1de-amend-backup.hg
deleted file mode 100644
index aff8105..0000000
Binary files a/.hg/strip-backup/24c62e27d1de-amend-backup.hg and /dev/null differ
diff --git a/.hg/strip-backup/3c021f1e06e9-amend-backup.hg b/.hg/strip-backup/3c021f1e06e9-amend-backup.hg
deleted file mode 100644
index ae44d3d..0000000
Binary files a/.hg/strip-backup/3c021f1e06e9-amend-backup.hg and /dev/null differ
diff --git a/.hg/strip-backup/3ccda84eee0e-amend-backup.hg b/.hg/strip-backup/3ccda84eee0e-amend-backup.hg
deleted file mode 100644
index 596a26a..0000000
Binary files a/.hg/strip-backup/3ccda84eee0e-amend-backup.hg and /dev/null differ
diff --git a/.hg/strip-backup/3ecf812bbbc8-amend-backup.hg b/.hg/strip-backup/3ecf812bbbc8-amend-backup.hg
deleted file mode 100644
index 738864d..0000000
Binary files a/.hg/strip-backup/3ecf812bbbc8-amend-backup.hg and /dev/null differ
diff --git a/.hg/strip-backup/544c0ced457b-amend-backup.hg b/.hg/strip-backup/544c0ced457b-amend-backup.hg
deleted file mode 100644
index dcc6dc2..0000000
Binary files a/.hg/strip-backup/544c0ced457b-amend-backup.hg and /dev/null differ
diff --git a/.hg/strip-backup/56c4f41494a8-amend-backup.hg b/.hg/strip-backup/56c4f41494a8-amend-backup.hg
deleted file mode 100644
index b430378..0000000
Binary files a/.hg/strip-backup/56c4f41494a8-amend-backup.hg and /dev/null differ
diff --git a/.hg/strip-backup/5fbc4f4870b6-amend-backup.hg b/.hg/strip-backup/5fbc4f4870b6-amend-backup.hg
deleted file mode 100644
index a8f35d0..0000000
Binary files a/.hg/strip-backup/5fbc4f4870b6-amend-backup.hg and /dev/null differ
diff --git a/.hg/strip-backup/7bbcc4457124-amend-backup.hg b/.hg/strip-backup/7bbcc4457124-amend-backup.hg
deleted file mode 100644
index 4aad50f..0000000
Binary files a/.hg/strip-backup/7bbcc4457124-amend-backup.hg and /dev/null differ
diff --git a/.hg/strip-backup/8bac0b86bb20-amend-backup.hg b/.hg/strip-backup/8bac0b86bb20-amend-backup.hg
deleted file mode 100644
index f55dd11..0000000
Binary files a/.hg/strip-backup/8bac0b86bb20-amend-backup.hg and /dev/null differ
diff --git a/.hg/strip-backup/978bd08f88e4-amend-backup.hg b/.hg/strip-backup/978bd08f88e4-amend-backup.hg
deleted file mode 100644
index 2352e07..0000000
Binary files a/.hg/strip-backup/978bd08f88e4-amend-backup.hg and /dev/null differ
diff --git a/.hg/strip-backup/9c07d44d56bf-amend-backup.hg b/.hg/strip-backup/9c07d44d56bf-amend-backup.hg
deleted file mode 100644
index ee7ed77..0000000
Binary files a/.hg/strip-backup/9c07d44d56bf-amend-backup.hg and /dev/null differ
diff --git a/.hg/strip-backup/9d434cc76a02-amend-backup.hg b/.hg/strip-backup/9d434cc76a02-amend-backup.hg
deleted file mode 100644
index b758774..0000000
Binary files a/.hg/strip-backup/9d434cc76a02-amend-backup.hg and /dev/null differ
diff --git a/.hg/strip-backup/9e48deeea8af-amend-backup.hg b/.hg/strip-backup/9e48deeea8af-amend-backup.hg
deleted file mode 100644
index 64bb2ef..0000000
Binary files a/.hg/strip-backup/9e48deeea8af-amend-backup.hg and /dev/null differ
diff --git a/.hg/strip-backup/a29a2f488ee7-amend-backup.hg b/.hg/strip-backup/a29a2f488ee7-amend-backup.hg
deleted file mode 100644
index 83a23f6..0000000
Binary files a/.hg/strip-backup/a29a2f488ee7-amend-backup.hg and /dev/null differ
diff --git a/.hg/strip-backup/a95a3c2b5131-amend-backup.hg b/.hg/strip-backup/a95a3c2b5131-amend-backup.hg
deleted file mode 100644
index 13ba424..0000000
Binary files a/.hg/strip-backup/a95a3c2b5131-amend-backup.hg and /dev/null differ
diff --git a/.hg/strip-backup/a9c335f06a1a-amend-backup.hg b/.hg/strip-backup/a9c335f06a1a-amend-backup.hg
deleted file mode 100644
index 35a27a3..0000000
Binary files a/.hg/strip-backup/a9c335f06a1a-amend-backup.hg and /dev/null differ
diff --git a/.hg/strip-backup/c4d53ff7e5ba-amend-backup.hg b/.hg/strip-backup/c4d53ff7e5ba-amend-backup.hg
deleted file mode 100644
index 0870d89..0000000
Binary files a/.hg/strip-backup/c4d53ff7e5ba-amend-backup.hg and /dev/null differ
diff --git a/.hg/strip-backup/ccf43c735898-amend-backup.hg b/.hg/strip-backup/ccf43c735898-amend-backup.hg
deleted file mode 100644
index 4ce766e..0000000
Binary files a/.hg/strip-backup/ccf43c735898-amend-backup.hg and /dev/null differ
diff --git a/.hg/strip-backup/d1262b768bcd-amend-backup.hg b/.hg/strip-backup/d1262b768bcd-amend-backup.hg
deleted file mode 100644
index 6bb9776..0000000
Binary files a/.hg/strip-backup/d1262b768bcd-amend-backup.hg and /dev/null differ
diff --git a/.hg/strip-backup/d64801f027e8-amend-backup.hg b/.hg/strip-backup/d64801f027e8-amend-backup.hg
deleted file mode 100644
index e9140af..0000000
Binary files a/.hg/strip-backup/d64801f027e8-amend-backup.hg and /dev/null differ
diff --git a/.hg/strip-backup/ddafd5824cd1-amend-backup.hg b/.hg/strip-backup/ddafd5824cd1-amend-backup.hg
deleted file mode 100644
index 2be2527..0000000
Binary files a/.hg/strip-backup/ddafd5824cd1-amend-backup.hg and /dev/null differ
diff --git a/.hg/strip-backup/e9bd49cb6174-amend-backup.hg b/.hg/strip-backup/e9bd49cb6174-amend-backup.hg
deleted file mode 100644
index aa750ab..0000000
Binary files a/.hg/strip-backup/e9bd49cb6174-amend-backup.hg and /dev/null differ
diff --git a/.hg/strip-backup/ee7c8b1a072e-amend-backup.hg b/.hg/strip-backup/ee7c8b1a072e-amend-backup.hg
deleted file mode 100644
index f6fa45c..0000000
Binary files a/.hg/strip-backup/ee7c8b1a072e-amend-backup.hg and /dev/null differ
diff --git a/.hg/strip-backup/efe0aa4113af-amend-backup.hg b/.hg/strip-backup/efe0aa4113af-amend-backup.hg
deleted file mode 100644
index 98ba2a7..0000000
Binary files a/.hg/strip-backup/efe0aa4113af-amend-backup.hg and /dev/null differ
diff --git a/.hg/undo.bookmarks b/.hg/undo.bookmarks
deleted file mode 100644
index e69de29..0000000
diff --git a/.hg/undo.branch b/.hg/undo.branch
deleted file mode 100644
index 331d858..0000000
--- a/.hg/undo.branch
+++ /dev/null
@@ -1 +0,0 @@
-default
\ No newline at end of file
diff --git a/.hg/undo.desc b/.hg/undo.desc
deleted file mode 100644
index b728fa0..0000000
--- a/.hg/undo.desc
+++ /dev/null
@@ -1,3 +0,0 @@
-798
-push-response
-https://kiozen@bitbucket.org/maproom/qmapshack
diff --git a/.hg/undo.dirstate b/.hg/undo.dirstate
deleted file mode 100644
index 812d128..0000000
Binary files a/.hg/undo.dirstate and /dev/null differ
diff --git a/CMakeLists.txt b/CMakeLists.txt
deleted file mode 100644
index 95b1823..0000000
--- a/CMakeLists.txt
+++ /dev/null
@@ -1,102 +0,0 @@
-cmake_minimum_required(VERSION 3.0.0)
-
-project(QMapShack)
-
-# has to be removed later on
-
-if(UNIX)
-#set(CMAKE_PREFIX_PATH ${CMAKE_PREFIX_PATH} /opt/Qt/5.3/gcc_64)
-endif(UNIX)
-
-
-if(WIN32)
-set(QT_DEV_PATH "" CACHE PATH "Path to directory containing Qt5 include and lib, e.g. C:\\Qt5\\5.3\\msvc2013_64")
-set(GDAL_DEV_PATH "" CACHE PATH "Path to directory containing GDAL include and lib, e.g. M:\\lib\\gdal")
-set(PROJ_DEV_PATH "" CACHE PATH "Path to directory containing PROJ.4 include and lib, e.g. M:\\lib\\PROJ")
-set(CMAKE_PREFIX_PATH ${CMAKE_PREFIX_PATH} ${QT_DEV_PATH})
-endif(WIN32)
-
-
-set(APPLICATION_NAME qmapshack)
-
-set(APPLICATION_VERSION_MAJOR "1")
-set(APPLICATION_VERSION_MINOR "0")
-set(APPLICATION_VERSION_PATCH "0")
-
-add_definitions(-DVER_MAJOR=${APPLICATION_VERSION_MAJOR} -DVER_MINOR=${APPLICATION_VERSION_MINOR} -DVER_STEP=${APPLICATION_VERSION_PATCH} -DAPPLICATION_NAME=${PROJECT_NAME})
-
-
-if (APPLE)
- set(PROGNAME "QMapShack")
- set(CONFIGDIR "Library/Application Support/${PROGNAME}/")
- set(MAC_BUNDLE_PATH ${EXECUTABLE_OUTPUT_PATH}/${PROGNAME}.app)
- set(MAC_ICON_FILE qmapshack.icns)
- set(MACOSX_BUNDLE_SHORT_VERSION_STRING ${APPLICATION_VERSION_MAJOR}.${APPLICATION_VERSION_MINOR}.${APPLICATION_VERSION_PATCH})
- set(MACOSX_BUNDLE_ICON_FILE ${MAC_ICON_FILE})
- set(MACOSX_BUNDLE_BUNDLE_NAME ${PROGNAME})
- set(MACOSX_BUNDLE_BUNDLE_VERSION ${APPLICATION_VERSION_MAJOR}.${APPLICATION_VERSION_MINOR})
- set(MACOSX_BUNDLE_GUI_IDENTIFIER org.qlandkarte.QMapShack)
-else(APPLE)
- set(PROGNAME qmapshack)
- set(CONFIGDIR ".config/QLandkarte/")
-endif(APPLE)
-if(MSVC)
- # Add link-time code generation to improve performance
- set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /GL")
- set(CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} /LTCG")
- set(CMAKE_MODULE_LINKER_FLAGS_RELEASE "${CMAKE_MODULE_LINKER_FLAGS_RELEASE} /LTCG")
- set(CMAKE_SHARED_LINKER_FLAGS_RELEASE "${CMAKE_SHARED_LINKER_FLAGS_RELEASE} /LTCG")
-endif(MSVC)
-
-# where to look first for cmake modules, before ${CMAKE_ROOT}/Modules/ is checked
-set(CMAKE_MODULE_PATH
- ${CMAKE_SOURCE_DIR}/cmake/Modules
-)
-
-# add definitions
-include(DefineCMakeDefaults)
-include(DefineCompilerFlags)
-include(DefineInstallationPaths)
-include(CPackConfig.cmake)
-
-include(ConfigureChecks.cmake)
-configure_file(config.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config.h)
-
-
-set(EXECUTABLE_OUTPUT_PATH ${CMAKE_BINARY_DIR}/bin)
-add_subdirectory(3rdparty/CGetOpt)
-#add_subdirectory(3rdparty/DBConverter)
-add_subdirectory(src)
-
-
-if (UNIX AND NOT WIN32 AND NOT APPLE)
- install(
- FILES
- qmapshack.desktop
- DESTINATION
- ${XDG_APPS_DIR}
- )
-
- install(
- FILES
- src/icons/48x48/QMapShack.png
- DESTINATION
- ${DATA_INSTALL_PREFIX}/pixmaps
- )
-
- install(
- FILES
- qmapshack.1
- DESTINATION
- ${MAN_INSTALL_DIR}/man1
- )
-endif (UNIX AND NOT WIN32 AND NOT APPLE)
-
-CONFIGURE_FILE(
- "${CMAKE_CURRENT_SOURCE_DIR}/cmake_uninstall.cmake.in"
- "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake"
- IMMEDIATE @ONLY)
-
-ADD_CUSTOM_TARGET(uninstall
- "${CMAKE_COMMAND}" -P "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake")
-
diff --git a/GpxExamples/COPYRIGHT b/GpxExamples/COPYRIGHT
deleted file mode 100644
index fff30ea..0000000
--- a/GpxExamples/COPYRIGHT
+++ /dev/null
@@ -1,19 +0,0 @@
-*.gpx files in this dir are created by Oliver Eichler <oliver.eichler at gmx.de> and released under GPL-3.0+ license
-
-/**********************************************************************************************
- Copyright (C) 2014 Oliver Eichler oliver.eichler at gmx.de
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-**********************************************************************************************/
diff --git a/GpxExamples/qlandkarte.gpx b/GpxExamples/qlandkarte.gpx
index c51649e..491ad43 100644
Binary files a/GpxExamples/qlandkarte.gpx and b/GpxExamples/qlandkarte.gpx differ
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-grass/qmapshack.git
More information about the Pkg-grass-devel
mailing list