]> git.sur5r.net Git - bacula/bacula/blob - bacula/src/qt-console/TODO
Add six context sensitive menu options to the joblist. I think I got
[bacula/bacula] / bacula / src / qt-console / TODO
1 dhb
2 ====================================================
3 Must preempt all connections to console with if connected.
4
5 Add context sensitive options for most commands
6 status dir on page select director item
7 All items with jobid= that I thought could work from joblist are done.
8
9 Create list of what does not work.
10
11 Ask Kern about bRestore and what to do with it in terms of priorities.  Should
12 that be working before an initial release.
13
14 Fix bug in myth box not working with .sql query="" command.
15
16 Create documentation for any other developers interested in creating
17 new classes to add more pages.  Explain how to use the pages class
18 and about not populating until the tree widget is clicked etc...
19
20 A Tree widget context sensitive menu option and class to jump from known job
21 to surf the filestructure on the job.
22
23 LOW priority items:
24
25 Get rid of "Warning: name layoutWidget is already used" when make uic's restore.ui
26
27 move behavior of:
28   MainWin::setContextMenuDockText
29   MainWin::setTreeWidgetItemDockColor
30 to the pages class
31
32 Think about good ways to clean up the Console creation part of the
33 loop creating pages.
34 ========================================================
35 Things to do:
36
37 - Possibly some other things I didn't think of.
38
39 ===========================================================
40 NOT SURE
41 ===========================================================
42
43 I'm not sure about this one??  Things seem to work and I did not do a
44 thing to make it happen:  the "dir" is a member of Console
45
46 - We also must somehow make the low level I/O routines know which
47 director/console to use.  Currently they always use the single
48 global one defined in the mainWin class (if I remember right).
49
50
51 ============================================================
52 DONE:
53 ============================================================
54 Figure out how to get tables like Joblist to do the equivalent of double clicking
55 on the separating lines between each of the headings.
56 Tried the hard way first.  Oops.
57
58 If the console command line entry docked widget gets the focus, make 
59 m_currentConsole the top widget by setting the treewidgetitem selected.
60 Did this in MainWin::input_line almost better to let the person see
61 whatever they want until they hit enter.
62
63 Set Window titles to reflect what director it is.
64
65 Must:: get page selector to follow undocked windows.  Otherwise
66 current console won't be current.
67
68 Re-add class for storage, I accidentally reverted because I left
69 it on my laptop.  This is why I like committing often.
70
71 Add class for FileSets
72
73 Another idea for what you have implemented:
74 - I think that the dynamic pages that you create on the fly
75 should be nested under the item that creates them more like a
76 directory tree.
77
78 For example: Jobs on Volume xxx, probably should be shown under
79 "All Jobs" (or Media if that is what created it) and "Jobs of
80 Client Rufus" probably should be shown under "Clients".  I base
81 this on looking at the Select page list after I have brought up 3
82 or 4 dynamic pages.  Once there are a good number, I get a bit
83 confused where they came from.  This would also permit selecting
84 multipe Volumes then displaying multiple pages, one for each
85 Volume selected.  If they are nested, then that nested level can
86 be expanded or collapsed, which would be pretty cool at keeping
87 information, but getting it out of the way, sort of like what
88 happens for a directory tree.
89
90 dhb: ref above
91 My original concept was to put these in a tabbed widget.  Your Idea may
92 make for a cleaner user experience.  I like it.  It could save the
93 effort of getting a tabbed widget to work.
94
95
96 - I think we need to make the current Director more explicit, by
97 perhaps highlighting it in the page selector when it is current
98 and unhighlighting it when it is not (we could use color as we do
99 for the console, though some color blind people may have
100 problems.
101
102 - When any director is clicked, we need to set it as the current
103 director and set the current console as well.
104
105 Remove DoubleClicking, From pages class not needed any more.
106
107 Broken with multiple directors:
108 - If you click on the second director, it will probably open, but
109 none of the pages that are defined below it will be able to talk
110 to it.  They will most likely talk to the first director.
111
112 - When any console is clicked we need to set it as the current
113 console (m_console) and also set its director as the current
114 director (m_topItem).  These are in the mainwin class.
115
116 - When any page is selected, we must set both the current
117 director (m_topItem) and current console (m_console) that this
118 page is connected to.
119
120 dhb:
121 m_topItem has been changed to Console::directorTreeItem()
122 m_currentConsole->directorTreeItem(); returns disired treeWidgetItem
123
124 - We also need a concept of a "local" director/console for each
125 page, so the page knows who it is talking to -- this doesn't
126 currently exist, so I think we must pass the director and console
127 to each page widget constructor.
128  
129 dhb:
130 m_currentConsole is saved in each page subclass's m_console.  This value
131 is set by all but the console class calling Pages::pgInitialie() in it's
132 constructor
133
134
135 In short, there is a lot of work to be done to make multiple
136 simultaneous directors work.
137
138 dhb:
139 this may be moot:
140
141 If the above prooves to be too much, we might consider to only
142 have a single director at a time, and simply let the user select
143 which director he wants to connect to (one at a time, but
144 dynamically).  In the end, this may be the best thing to do, so
145 any user who wishes to connect to multiple directors would run
146 two instances of bat.  I am a bit unsure now, but the above list
147 of things to do is much bigger than I thought it was going to be.