2
This file is part of Browse Tracker, a plugin for Code::Blocks
3
Copyright (C) 2007 Pecan Heber
5
This program is free software; you can redistribute it and/or
6
modify it under the terms of the GNU General Public License
7
as published by the Free Software Foundation; either version 2
8
of the License, or (at your option) any later version.
10
This program is distributed in the hope that it will be useful,
11
but WITHOUT ANY WARRANTY; without even the implied warranty of
12
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
GNU General Public License for more details.
15
You should have received a copy of the GNU General Public License
16
along with this program; if not, write to the Free Software
17
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
19
// RCS-ID: $Id: version.cpp 26 2008-01-03 17:34:18Z Pecan $
32
// ----------------------------------------------------------------------------
33
AppVersion::AppVersion()
34
// ----------------------------------------------------------------------------
40
// ----------------------------------------------------------------------------
41
AppVersion::~AppVersion()
42
// ----------------------------------------------------------------------------
46
// ----------------------------------------------------------------------------
47
// Commit 0.1.3 2007/06/2
48
// 01) Intial working Browse Tracker
49
// 02) Added ProjectLoadingHook to get around ProjectActivate and ProjectOpen event bugs
50
// Dont store Editor ptrs while Project_Open event is occuring
51
// BUG: CB EVT_PROJECT_ACTIVATE is occuring before EVT_PROJECT_OPEN
52
// BUG: Editor Activate events occur before Project_Open and Project_Activated
53
// 03) Add Clear Menu item to clear recorded Editors
54
// 04) Navigation popup dialog window
55
// 05) create Makefile.am BrowseTracker-unix.cbp and .cbplugin(s)
56
// 06) changed "Opened tabs" to "Browsed Tabs"
57
// 07) Honor the --personality arg when finding .ini file
58
// ----------------------------------------------------------------------------
59
// Commit 0.1.8 2007/07/11
60
// 08) changes for sdk RegisterEventSink
61
// ----------------------------------------------------------------------------
62
// Commit 0.1.10 2007/08/2
63
// 09) fixes for editor activation changes caused by wxFlatNotebook 2.2
64
// 10) fix for non-focused dialog in wxGTK284
65
// ----------------------------------------------------------------------------
66
// Commit 0.1.11 2007/08/29
67
// 11) fixes for sdk 1.11.12. SDK removed Manger::GetAppWindow()
68
// ----------------------------------------------------------------------------
70
// 11) use OnIdle to focus the new activated editor. Else its visible but dead.
71
// SDK.editormanager::OnUpdateUI used to do this, but now it's gone.
72
// commit 1.2.1 2007/11/27
73
// 1) implement browse markers within each editor. Cursor position is memorized
74
// one per page on each left mouse key "up". User can force the browse mark
75
// by holding ctrl+left-mouse-up. (Alt-mouse-up) seems to be hogged by the
77
// Alt+Up & Alt+Dn keys cycle through the memorized BrowseMarks
78
// ----------------------------------------------------------------------------
79
// commit 1.2.3 2007/11/29
80
// 2) re-add previous browse mark clobbered by copy/paste so user
81
// can (most likely) return to paste insertion area.
82
// 3) fixed editor activation when multiple projects close
83
// ----------------------------------------------------------------------------
84
// commit 1.2.5 2007/11/30
85
// 4) correct case of some filenames
86
// 5) Add menu items "Set BrowseMark", "Clear BrowseMark"
87
// ----------------------------------------------------------------------------
88
// commit 1.2.15 2007/12/4
89
// 6) remove redundancy of initial editor BrowseMark
90
// 7) record "previous position" forward; allowing easy copy/paste operations
91
// 8) add "Clear All BrowseMarks" menu item for a single editor
92
// 9) don't show navigation dlg when no active cbEditors
93
// 11) Clear previous marks on line when setting a new one (unless Ctrl held)
94
// 12) when current browsemark off screen, go to "current", not "previous/next"
95
// 13) save BrowseMarks in circular queue. More understandable interface.
96
// 14) switch Ctrl-LeftMouse click to delete browse marks on line.
97
// 15) allow multiple browse marks on page, but only one per line
98
// ----------------------------------------------------------------------------
99
// commit 1.2.24 2007/12/8
100
// 16) ignore recording BrowseMarks on duplicate editor activations
101
// eg. activations from double clicking search results panel
102
// 17) fixed GetCurrentScreenPositions() when doc less than screen size
103
// 18) honor WXK_RETURN to dismiss selector dialog
104
// 19) honor WXK_RETURN to dismiss wxListBox in dialog
105
// 20) convert editor pointers to circular queue
106
// 21) compress active browsed editor array for better availability
107
// 22) correct active editor order when using selection dlg
108
// 23) fix index overflow crash in BrowseMarks.cpp::ClearMarks()
109
// 24) implement visable browseMarks as "..."
110
// ----------------------------------------------------------------------------
111
// commit 1.2.29 2007/12/9
112
// 25) add sort and "Sort BrowseMarks" menu command
113
// 26) On ClearAllMarkers(), tell scintilla to also clear visible BrowseMarks.
114
// 27) shadow scintilla BrowseMarks when lines added/deleted; keeps marks in user set order
115
// 28) append BrowseTracker menu to the context popup menu
116
// 29) remove OnEditorActivated() code causing linux to re-set deleted markers
117
// ----------------------------------------------------------------------------
118
// Commit 1.2.44 2007/12/16
119
// 30) Ctrl+LeftMouse click on non-marked line clears *all* markers;
120
// Ctrl+LeftMouse click on marked line clears the line markers;
121
// 31) Added BrowseTracker ProjectData class
122
// 32) Added BrowseTrackerLayout class
123
// 33) Fixed: Crash when no project and file opened at StartUp
124
// 34) Persistent Browse_Marks vis Load/Save layout file.
125
// 35) Restore BrowseMarks when a previously active editor closed/reopened
126
// 36) Toggle BrowseMark with Ctrl+LeftMouseClick
127
// 37) Convert BookMarks class to use full file names as index to save
128
// Browse/Book marks of unactivated files in project
129
// 39) Persistent Book_Marks via Load/Save Layout file "<projectName>.bmarks"
130
// 39) Fix: Browse/Book marks not saved when fileShortName used
131
// 40) Save Browse/Book marks when CB exited w/o closing projects
132
// 41) Ignore Browse/Book marks for files outside projects in EVT_EDITOR_CLOSE
133
// 42) Mouse must be down 250 millisecs to toggle BrowseMark. Better control.
134
// 43) Ignore Left-Double-clicks that read like a long left click.
135
// 44) Fix non-pch includes for linux
136
// ----------------------------------------------------------------------------
137
// Commit 1.2.48 2007/12/17
138
// 45) Fixed layout loading in multi-project workspace
139
// 46) Fixed frozen dialog popup in multi-project workspace
140
// 47) Decoupled ProjectData from dependency on EditorBase indexes.
141
// 48) Added Search for ProjectData/cbProject by fullPath
142
// ----------------------------------------------------------------------------
143
// Commit 1.2.49 2007/12/21
144
// 49) Add Settings dialog and support for Ctrl-Left_Mouse toggling
145
// and Ctrl-Left_Mouse Double click clearAll.
146
// See Menu/Browse Tracker/Settings
147
// 50) Changed Cfg.cpp labels back to default colors
148
// ----------------------------------------------------------------------------
149
// Commit 1.2.57 2008/01/2
150
// 51) Added: user request: Hidden BrowseMarks
151
// 52) Fixed: Editor selection dialog stalls after "Clear All"
152
// 53) Added: User choice of BrowseMarks, BookMarks, or HiddenMarks
153
// 54) Fixed: Don't set BrowseMark on doubleclick
154
// 55) On clear all: Also clear BookMarks when being used as BrowseMarks
155
// 56) Remove use of LoadingProjectHook since it's not called if project
156
// file has no xml "extensions" node.
157
// 57) Remove use of IsLoading() since SDK actually turns it OFF during
158
// editor loading and activation.
159
// ----------------------------------------------------------------------------
160
// Commit 1.2.58 2008/01/2
161
// 58) #include for cbStyledTextCtrl.h CB refactoring
162
// ----------------------------------------------------------------------------
163
// Commit 1.2.64 2008/01/4
164
// 59) update Makefile.am
165
// 60) Re-instated use of ProjectLoadingHook. Hook is skipped when extra </unit>
166
// in project.cbp after file adds. Re-saving project.cbp solves problem.
167
// 61) Finish code to shadow Book marks as BrowseMark.
168
// 62) Refactored ClearLineBrowseMarks/ClearLineBookMarks/ToggleBook_Mark
169
// 63) Don't initiate a BrowseMark on initial load of source file.
170
// 64) Correct linux cbstyledtextctrl.h spelling
171
// ----------------------------------------------------------------------------
172
// Commit 1.2.66 2008/01/13
173
// 65) Use m_bProjectIsLoading in OnProjectOpened() to avoid scanning editors
174
// 66) Don't set marks on mouse drags
175
// 66) Release ProjectLoadingHook in OnRelease()
176
// ----------------------------------------------------------------------------
177
// Commit 1.2.68 2008/01/24
178
// 67) guard against null project pointer when importing projects
179
// Sdk is issueing project events without a project pointer.
180
// Eg. importing Visual Studio Solution project
181
// 68) OnProjectOpen: turn off ProjectLoading flag when no project pointer
182
// ----------------------------------------------------------------------------
183
// Commit 1.2.70 2008/02/13
184
// 69) Fixed: Setting a BookMark via the margin context menu is not seen by BT 2008/01/25
185
// 70) rework sizers on settings dlg
186
// ----------------------------------------------------------------------------
187
// Commit 1.2.71 2008/02/18
188
// 71) removed unnecessary debugging files ToolBox.*
189
// ----------------------------------------------------------------------------
190
// Commit 1.2.72 2008/02/19
191
// 72) guard all asm(int3) with defined(LOGGING)
192
// ----------------------------------------------------------------------------
193
// Commit 1.2.73 2008/02/27
194
// 73) Set default BrowseMarks to disabled
195
// ----------------------------------------------------------------------------
197
// When searching workspace w/o open project, BT is comatose.
198
// Should say "no project" or some such.
199
// Requires CB to be restarted after Install before Alt-Left/Right work.
200
// When CB reloads a changed editor, the marks are missing
201
// In one fell swoop: uninstall BrowseTracker, reInstall it,
202
// click on a project. CB::OnProjectHook call crashes.
203
// ----------------------------------------------------------------------------
205
// Config dialog: Max tracked editors Max tracked lines etc
206
// Navigation toolbar arrows
207
// Shadow the menuitem cmdkey definitions w/ wxMenuItem->GetAccel()
208
// Selection/history of Marks via dlg
209
// ----------------------------------------------------------------------------
211
// ----------------------------------------------------------------------------