| [18] | 1 | Unit VersionUnit;
 | 
|---|
 | 2 | 
 | 
|---|
 | 3 | // NewView - a new OS/2 Help Viewer
 | 
|---|
 | 4 | // Copyright 2003 Aaron Lawrence (aaronl at consultant dot com)
 | 
|---|
 | 5 | // This software is released under the Gnu Public License - see readme.txt
 | 
|---|
 | 6 | 
 | 
|---|
 | 7 | Interface
 | 
|---|
 | 8 | 
 | 
|---|
 | 9 | // This file contains the version number and history.
 | 
|---|
 | 10 | 
 | 
|---|
 | 11 | function GetAppVersion: string;
 | 
|---|
 | 12 | 
 | 
|---|
 | 13 | Implementation
 | 
|---|
 | 14 | 
 | 
|---|
 | 15 | const
 | 
|---|
| [56] | 16 |   Version =        'V2.19.beta4'; // $SS_REQUIRE_NEW_VERSION$
 | 
|---|
 | 17 |   BldLevelVersion = '2.19.beta4'; // Embedded for IBM BLDLEVEL tool
 | 
|---|
| [18] | 18 | 
 | 
|---|
 | 19 | // RELEASE PROCESS
 | 
|---|
 | 20 | // - notify translators
 | 
|---|
 | 21 | // - Record library versions
 | 
|---|
 | 22 | // - DISABLE PROFILE
 | 
|---|
 | 23 | // - TURN OFF DEBUG INFO
 | 
|---|
 | 24 | // - Package: distr NewViewX_Y_Z
 | 
|---|
 | 25 | // - Upload to Hobbes
 | 
|---|
 | 26 | // - Test download [Yeah right]
 | 
|---|
 | 27 | // - Update webpage: index, NewView news, history, download [Down]
 | 
|---|
 | 28 | // - Notify eCS apps NG, OS/2 Apps NG
 | 
|---|
 | 29 | //
 | 
|---|
 | 30 | // HelpMgr: V1.9.0
 | 
|---|
 | 31 | // ViewStub: V1.1.1
 | 
|---|
 | 32 | // Install: V1.10.0
 | 
|---|
 | 33 | // Components: V1.11.23
 | 
|---|
 | 34 | // Library: V1.5.12
 | 
|---|
 | 35 | // SPCC: V2.1.11.13
 | 
|---|
 | 36 | // RTL: V2.0.4.2
 | 
|---|
 | 37 | // Addon: V2.0.4
 | 
|---|
 | 38 | 
 | 
|---|
 | 39 | { Todo list
 | 
|---|
 | 40 | 
 | 
|---|
 | 41 | Emphasis: 
 | 
|---|
 | 42 |   major bugs 
 | 
|---|
 | 43 |   missing features that original IPF had.
 | 
|---|
 | 44 |   major performance issues [none really remaining?]
 | 
|---|
 | 45 |     - decoding images/text on older machines
 | 
|---|
 | 46 |     - startup
 | 
|---|
 | 47 | 
 | 
|---|
 | 48 | - Crash on add bookmark, when no contents topic is selected
 | 
|---|
 | 49 |   In fact bookmark storage is a bit stuffed, because this is the
 | 
|---|
 | 50 |   only way it has to decide which file the bookmark belongs to...
 | 
|---|
 | 51 | 
 | 
|---|
 | 52 | - os2dbcs.inf, html40 - veit
 | 
|---|
 | 53 | 
 | 
|---|
 | 54 | - MAJOR keyboard navigation of links
 | 
|---|
 | 55 |     - next: done
 | 
|---|
 | 56 |     - previous: done
 | 
|---|
 | 57 |     - enter to activate:
 | 
|---|
 | 58 | 
 | 
|---|
 | 59 | - MINOR: Way to identify new helpmgr.
 | 
|---|
 | 60 |   A special entry point? Special value in ...? Special Window ULONG? Global mem?
 | 
|---|
 | 61 |   HM_QUERY with a new value...
 | 
|---|
 | 62 |   or HM_SET_USERDATA with a magic number, which returns a magic number
 | 
|---|
 | 63 | - MODERATE: For Maul Publisher (Peter Koller): ability to get active help panel
 | 
|---|
 | 64 | - MODERATE [ENH] Use separate programs for mail, ftp etc.
 | 
|---|
 | 65 | 
 | 
|---|
 | 66 | - MINOR Link control - custom cursors for default controls
 | 
|---|
 | 67 |  - default cursor for rich text view
 | 
|---|
 | 68 |    - don't call default window proc for wm_mousemove
 | 
|---|
 | 69 |    - need to override .wmmousemove... 
 | 
|---|
 | 70 |    
 | 
|---|
 | 71 | - MODERATE [PERF]: New art decoder from Sergei
 | 
|---|
 | 72 | - MINOR [DEBUG]: Continue removing units to keep debugger
 | 
|---|
 | 73 |   e.g. Remove file dialog and color wheel to dll?
 | 
|---|
 | 74 |     - problem is, my newview.dll is C-only :/
 | 
|---|
 | 75 | 
 | 
|---|
 | 76 | - MINOR [ENH] Option to turn off internet links. (or a warning/popup/question)
 | 
|---|
 | 77 | - MINOR [ENH] Customise link colors (separately for native links vs urls)
 | 
|---|
 | 78 | - MINOR [PERF] Optimise tree (global search) to not redraw if nodes not visible
 | 
|---|
 | 79 | 
 | 
|---|
 | 80 | Help
 | 
|---|
 | 81 | - MINOR [ENH] [INST] select language to install
 | 
|---|
 | 82 | - MINOR [INST] check for FAT 8.3 before installing, fail gracefully (ie. only nls files)
 | 
|---|
 | 83 | 
 | 
|---|
 | 84 | - MINOR hide language stuff except on param?
 | 
|---|
 | 85 | - MINOR [INST] kill off viewhelp?
 | 
|---|
 | 86 | 
 | 
|---|
 | 87 | 
 | 
|---|
 | 88 | Search enhancements/completion
 | 
|---|
 | 89 | - Make AND the default
 | 
|---|
 | 90 | - Skip thru search matches...
 | 
|---|
 | 91 | - Case sensitive
 | 
|---|
 | 92 | - Whole word only match
 | 
|---|
 | 93 | - Highlight when searching All Help Files
 | 
|---|
 | 94 | 
 | 
|---|
 | 95 | Keyboard
 | 
|---|
 | 96 | - navigation of search results
 | 
|---|
 | 97 | 
 | 
|---|
 | 98 | Printing
 | 
|---|
 | 99 | - MEDIUM [ENH] selectable topics - requires support for multi-select in tree
 | 
|---|
 | 100 | - MEDIUM [ENH] improve printing of topic to use printing control bits etc
 | 
|---|
 | 101 | - MAJOR [ENH] Complete
 | 
|---|
 | 102 |   - Contents
 | 
|---|
 | 103 |   - Index
 | 
|---|
 | 104 |   - Page/Topic numbers 
 | 
|---|
 | 105 |   - Optional hidden topics?
 | 
|---|
 | 106 | 
 | 
|---|
 | 107 | International
 | 
|---|
 | 108 | - MODERATE DBCS
 | 
|---|
 | 109 |   - cursor
 | 
|---|
 | 110 |   - find
 | 
|---|
 | 111 | - Codepage support 
 | 
|---|
 | 112 |   - file
 | 
|---|
 | 113 |   - codepages in font specifications
 | 
|---|
 | 114 | 
 | 
|---|
 | 115 | User interface tweaks
 | 
|---|
 | 116 | - Coloured tabs?
 | 
|---|
 | 117 | - Topic menu: "copy link location", back, forward, previous, next
 | 
|---|
 | 118 | - Open related windows when a search result is shown
 | 
|---|
 | 119 |   e.g. vacpp topic ... need to parse entire file
 | 
|---|
 | 120 |   do only when window is not 100%??
 | 
|---|
 | 121 | 
 | 
|---|
 | 122 | - Button to toggle left panel
 | 
|---|
 | 123 | - Hint (popup tooltip) for links
 | 
|---|
 | 124 | - Better handling of windows
 | 
|---|
 | 125 |   - problem with CPPUG toc pane
 | 
|---|
 | 126 |   - leaving windows smaller than screen...
 | 
|---|
 | 127 | - Option: Sort top level contents, would be nice
 | 
|---|
 | 128 | 
 | 
|---|
 | 129 | Bugs/Compatibility
 | 
|---|
 | 130 | - [eCS compat] move ini file to appropriate place. (see AE)
 | 
|---|
 | 131 | - Run old hmgr...... is this possible??
 | 
|---|
 | 132 |   - Additional association for *hlp;*.inf to ibmview.exe
 | 
|---|
 | 133 | 
 | 
|---|
 | 134 | New features
 | 
|---|
 | 135 | - View all images
 | 
|---|
 | 136 | - Tools - Mark Start Topic
 | 
|---|
 | 137 |   (special bookmark?)
 | 
|---|
 | 138 | - Help File Manager
 | 
|---|
 | 139 |   - Show all found help files...
 | 
|---|
 | 140 | - Show History (by date/time only - not a tree)
 | 
|---|
 | 141 | - Uninstall
 | 
|---|
 | 142 | - Mouse wheel
 | 
|---|
 | 143 | - Free-standing notes
 | 
|---|
 | 144 | - Font lib from Innotek
 | 
|---|
 | 145 | - Export whole file 1 day?
 | 
|---|
 | 146 | 
 | 
|---|
 | 147 | Rich Text View
 | 
|---|
 | 148 | - Select/copy and save support, for images.
 | 
|---|
 | 149 | - if it wraps during a word that has tags within it,
 | 
|---|
 | 150 |   then the tags may not be applied at the correct point.
 | 
|---|
 | 151 |   ... need to remember the style at start of word as well.
 | 
|---|
 | 152 | - should not lose cursor if just resizing,
 | 
|---|
 | 153 |   only if text changed
 | 
|---|
 | 154 | - Linked images
 | 
|---|
 | 155 |     e.g. Export.hlp
 | 
|---|
 | 156 | 
 | 
|---|
 | 157 | Performance
 | 
|---|
 | 158 | - helpmgr.dll use global filelist instead of running view.exe first
 | 
|---|
 | 159 | - profiler (GpProfile)
 | 
|---|
 | 160 | - Speed up bitmap decoding.
 | 
|---|
 | 161 |   sledit.inf
 | 
|---|
 | 162 |   slowdown is definitely in  ReadBitmapData
 | 
|---|
 | 163 | 
 | 
|---|
 | 164 |   10x stress test sledit
 | 
|---|
 | 165 |     original: 15 secs
 | 
|---|
 | 166 |     decode_string asm: 14.5 secs
 | 
|---|
 | 167 |     LZW -> C DLL: 13.3 secs
 | 
|---|
 | 168 | 
 | 
|---|
 | 169 |     without any decoding: 10 seconds
 | 
|---|
 | 170 |     so - c decode time: 3.3 secs.
 | 
|---|
 | 171 |          Pas decode time: 5 secs.
 | 
|---|
 | 172 | 
 | 
|---|
 | 173 |     loading from file, not adding to images list: 9 s
 | 
|---|
 | 174 |     loading from file, adding to images list [removed after]: 9.2 s
 | 
|---|
 | 175 |     without getting any images at all (THelpFile.GetImages)
 | 
|---|
 | 176 |     8.5 s.
 | 
|---|
 | 177 | 
 | 
|---|
 | 178 |     Therefore, we have:
 | 
|---|
 | 179 |     decoding: 3.3s (c) or 5s (pascal)
 | 
|---|
 | 180 |     using: 1s
 | 
|---|
 | 181 |     reading file: 0.5s
 | 
|---|
 | 182 |     other loading stuff: 8.5
 | 
|---|
 | 183 | 
 | 
|---|
 | 184 |     Observationally, original view is much faster than
 | 
|---|
 | 185 |     even the C version. It must be in assembler or something.
 | 
|---|
 | 186 |     I could not see any major optimisations to make in the C
 | 
|---|
 | 187 |     version.
 | 
|---|
 | 188 |     Scott from IBM suggested using the original functions
 | 
|---|
 | 189 |     in helpmgr.dll.
 | 
|---|
 | 190 |  
 | 
|---|
 | 191 | - Make navigation back and forth
 | 
|---|
 | 192 |   detect differences in windows and make minimum changes 1/2 day
 | 
|---|
 | 193 |   zorder
 | 
|---|
 | 194 | 
 | 
|---|
 | 195 | Minor
 | 
|---|
 | 196 | - Iconedit help for product information doesn't work
 | 
|---|
| [34] | 197 |   Something weird goin on with resource IDs.
 | 
|---|
| [18] | 198 |   Note: old view really does work.
 | 
|---|
 | 199 | }
 | 
|---|
 | 200 | 
 | 
|---|
 | 201 | function GetAppVersion: string;
 | 
|---|
 | 202 | begin
 | 
|---|
 | 203 |   Result:= Version;
 | 
|---|
 | 204 | end;
 | 
|---|
 | 205 | 
 | 
|---|
 | 206 | const
 | 
|---|
 | 207 |   Vendor = 'Aaron Lawrence';
 | 
|---|
 | 208 |   Description = 'NewView';
 | 
|---|
 | 209 | 
 | 
|---|
 | 210 |   // BLDLevel - compatible - mostly
 | 
|---|
 | 211 |   EmbeddedVersion: string =
 | 
|---|
 | 212 |       '@#'
 | 
|---|
 | 213 |     + Vendor
 | 
|---|
 | 214 |     + ':'
 | 
|---|
 | 215 |     + BldLevelVersion
 | 
|---|
 | 216 |     + '#@'
 | 
|---|
 | 217 |     + Description
 | 
|---|
 | 218 |     + #0;
 | 
|---|
 | 219 | 
 | 
|---|
 | 220 | Initialization
 | 
|---|
 | 221 | End.
 | 
|---|