-
Notifications
You must be signed in to change notification settings - Fork 2
/
TODO.txt
90 lines (47 loc) · 4.92 KB
/
TODO.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
Overall
* Rename funcitons used in multi-file/multi-view scheme. Come up with consistent and sane convention so that descriptive names describing functionality are used throughout.
* implement projects to save and restore collections of files at once.
buffer
* move check_unsaved() logic from on_window_delete_event() to common function to be called on quit or exit as well.
* pre-window close add iteration over all open files and buffers to check_unsaved() for all files including for new modified buffers (Untitled(x)).
* add post_window_closed iteration over open files applying line-ending and excess whitespace cleanup.
* adapt file monitoring for document tree entries.
- get g_stat info
- set gfile monitor
* add/incorporate read-only checkbox on file-open dialog and set read-only flag on kinst. (see toggle in ui/gtk/file_dialog_new.c)
* close-all, handle in two parts, close all active view and then close all documents in tree, then close app.
* write file data out containing line, col and sourceview lang_id to restore view on file open. Use GFile and GHashtable to hash pointer to info to use in kinst_t instance initialization, replace contents of file on close, write serialized binary format similar to 'line col szfilenm szlangid filename lang_id' (4 int, 2 strings). Add to hashtable on open/save/close/close-all. remainder of kinst_t information can be derived from this.
* write manual close of all open windows prior to gtk_quit to insure a sequenced shutdown so there is no einst_reset() or buffer_del_inst() before all associated views holding the buffer are closed and the buffer freed.
* additional infobar functions need to be incorporated from gtkwrite.
* add checks for inst->readonly before allowing "Insert File at Cursor" or "Insert Time and Date".
find/replace
* create findrep_t struct instead of the static globals in gtk_findreplace.c. Fix random crash after multiple documents opened and search performed.
infobars
* rework edit window instances and bounding vbox settings so infobar does not cause expansion in vertical size of bounding vbox when inforbar shown.
mainwin
* done.
menu
* done.
settings
* check app->comment free on close - settings entry currently set with either inst->comment_single if set, or app->comment otherwise.
* there are a number of other globals like dynwrap that need to be moved to buffer instance settings -- after word-completion initial buffer-binding limitation overcome. settings will need to be reloaded on access to re-read individual buffer instance settings.
sourceview
* find way to change private buffer that is bound to text completion object that is preventing changing buffers shown in active window and allowing text completion to continue working with the current buffer word-list.
statusbar
* add settings option to add colname to end of info on statusbar.
toolbar
* done
textview/multiview edit pane
* decide whether to place focus in new instance or leave on current
(chose focus on new inst/view).
* decide whether to scroll new instance to match current insert mark.
* determine if current line highlight can be independent of buffer (doubtful since it is a sourceview feature attached to a sourcebuffer)
* add keypress event handling of shortcut keys to move between open view and prev/next document in treeview.
* fix dynwrap to be stored as a buffer instance variable rather than global. Implement re-read of settings per-buffer on settings activate. (there are a number of other globals that need to be moved -- after word-completion initial buffer-binding limitation overcome)
treeview/model
* consider (app->treeview)[n] to allow multiple views for showing files grouped by directory, or sorted based on opening or ascending/descending alphabetical sort.
* set tooltip on each entry showing 'filename' (absolute path & filename) in create_view_and_model(), set "has-tooltip" TRUE and then connect "query-tooltip" signal for handling by the gtk_tree_view_set_tooltip_row() function. e.g. g_object_set (view, "has-tooltip", TRUE, NULL);
* place focus on associated textview when selected.
* treeview_changed() save rectangle to restore to exact col/line when buffer brought back into a sourceview window. Currently cursor-line is restored at 25% of the window.
word-completion
* We are currently fighting a limitation in GtkSourceview2 word-completion that inexplicably binds the initial buffer displayed in a textview to the completion object (owned by the textview). That makes it virtually impossible to do the efficient thing of simply associating different buffers with existing textview objects and unregistering the current buffer and registering the new with the completion object. So unless a solution is found it appears a significant rewrite will be needed to change from creating a single buffer per-file that can be shown in any textview to creating a single textview for each file that must be shown or hidden instead.