]> git.sur5r.net Git - bacula/bacula/blob - bacula/src/qt-console/README
Addressed issue of long compiles. Simplify with Pages::setCurrent
[bacula/bacula] / bacula / src / qt-console / README
1
2 This directory contains the Bacula Admin Tool (bat).
3
4 At the current time, the contents of this directory are under
5 development.  If you want to help, please contact Kern directly.
6 If you want to build it, you need Qt4 loaded and setup as your
7 default Qt or with the appropriate Qt Environment variables set.
8
9 To build bat, you simply enter:
10
11   qmake
12   make
13     
14 then to execute it
15
16   ./bat
17
18 The qmake command needs to be entered only if you add a new file, in
19 which case, you should edit bat.pro.in and add the new filename
20 in the appropriate place.  In running qmake, it will build a new 
21 Makefile, and there after, you simply use "make". In fact, providing
22 you edit bat.pro, doing a "make" will automatically call qmake to
23 rebuild the Makefile.
24
25 Development status as of 27 Feb 07.
26
27 Items implemented:
28 - Reads a basic bat.conf (same as documented for the gnome-console 
29    except that the Font part is unimplemented).
30 - Basic main window structure
31 - About dialog
32 - Quit menu item
33 - Will automatically connnect to the first Director in the
34   conf file. Doesn't know about multiple Directors.
35 - The Director name will appear in the Selection tree followed
36   by Console and Restore.  
37 - Clicking on Console brings forward the console display screen
38   (default at startup).
39 - Clicking on 
40 - Clicking on bRestore brings up a brestore page that is not active.
41 - The command line is implemented.
42 - The status line (below the command line) is implemented.
43 - Selection of Font is implemented.
44 - The Font and the window size are saved on exit and restored on
45   execution of bat.
46 - The Status menu bar icon is implemented.
47
48 Items not implemented:
49 - None of the menu items except About, Select Font, and Quit.
50 - Nothing on the brestore page
51 - The Label menu bar item, prints on the shell window what you entered.
52 - The Run menu bar item, prints on the console window what you entered.
53 - The Restore menu bar item, brings up dialog, then when OK is
54   clicked, it goes on to the next dialog, which is meant to be
55   a tree view, but for the moment does nothing ...  It is a bit
56   ugly. Cancelling it should get you back to the normal command prompt.
57          
58 Not working:
59 - The left selection window and the right window (where the console
60   is) are dockable windows so should be movable once they are properly
61   clicked.  Well, they sort of move, but then get stuck.  I haven't figured
62   out what is going on, so for the current time, I am implemeting most
63   stuff through dialogs.
64      
65 Design/implementation considerations:
66 - We need to have multiple Directors
67 - Each Director should have its own console
68 - The Console class needs to be a list or be attached to the
69   currently active Director.
70 - Need icons in front of the Director.
71 - The console page should be in a DockWidget so it can be removed
72   from the main window. It is currently in a dock window, but it
73   does not remove properly -- more research needed.
74 - Need to figure out a good implementation of adding pages and even
75   having plugins that load as pages.  Currently the page mechanism
76   is a bit kludged.
77
78 Design decisions:
79 - If possible all code for a particular component will be kept in
80   and appropriate subdirectory.
81 - All private class variables are named "m_xxx" this makes it very
82   clear if one is referencing a class variable or a local.
83 - All signal/slots are connected by explict code (most all are
84   done in the MainWin constructor), rather than using designer.      
85 - Each page has a separate designer .ui file in a subdirectory.
86 - All windows are created with designer and have
87   a name such as xxxForm i.e. the main window is MainForm and kept
88   in main.ui.  
89
90 Major projects:
91 - Implement a restore page that does a directory tree restore selection
92   much like wx-console does.
93 - Implement other restore interfaces such as brestore ...
94 - Implement a database browser
95 - Implement graphical commands that allow updating most aspects of
96   the database (i.e. commands for label, update Volume, ...)
97 - Implement a resource (conf file) browser
98 - Implement a reports page -- e.g. something similar to bweb
99 - Implement Qt plugins to add new functionality to bat
100 - Implement a GUI configuration file editor (something like JBacula).
101 ...