+This directory contains the Bacula Admin Tool (bat).
+
At the current time, the contents of this directory are under
development. If you want to help, please contact Kern directly.
If you want to build it, you need Qt4 loaded and setup as your
default Qt or with the appropriate Qt Environment variables set.
-To build the qt-console, you simply enter:
+To build bat, you simply enter:
qmake
make
then to execute it
- ./qt-console
+ ./bat
The qmake command needs to be entered only if you add a new file, in
-which case, you should edit qt-console.pro and add the new filename
+which case, you should edit bat.pro and add the new filename
in the appropriate place. In running qmake, it will build a new
-Makefile, and there after, you simply use "make".
+Makefile, and there after, you simply use "make". In fact, providing
+you edit bat.pro, doing a "make" will automatically call qmake to
+rebuild the Makefile.
+
+Development status as of 29 Jan 07.
+
+Items implemented:
+- Reads a basic bat.conf (same as documented for the gnome-console
+ except that the Font part is unimplemented).
+- Basic main window structure
+- About dialog
+- Quit menu item
+- Connect button (initally shows disconnected) will connect to
+ the first Director defined in the conf file.
+- The Director name will appear in the Selection tree followed
+ by Console and Restore.
+- Clicking on Console brings forward the console display screen
+ (default at startup).
+- Clicking on Restore brings up a dummy two tab "restore" page.
+- The command line is implemented.
+- The status line (below the command line) is implemented.
+
+Items not implemented:
+- None of the menu items except About, Quit.
+- None of the tool bar icons except the connect/disconnect.
+- Nothing on the restore page
+
+Design/implementation considerations:
+- We need to have multiple Directors
+- Each Director should have its own console
+- The Console class needs to be a list or be attached to the
+ currently active Director.
+- Need icons in front of the Director.
+- Need indication if a director is connected or not.
+- The console page should be in a DockWidget so it can be removed
+ from the main window.
+- Need to figure out a good implementation of adding pages and even
+ having plugins that load as pages. Currently the page mechanism
+ is a bit kludged.
+- Each page should in principle be a separate designer .ui file
+ Currently the two pages console, restore are part of main.ui,
+ but they should be pulled out into their own .ui files.
+
+Design decisions:
+- If possible all windows will be created with designer and have
+ a name such as xxxForm i.e. the main window is MainForm and kept
+ in main.ui.
+- If possible all code for a particular component will be kept in
+ and appropriate subdirectory.
+- All private class variables are named "m_xxx" this makes it very
+ clear if one is referencing a class variable or a local.
+- All signal/slots are connected by explict code (most all are
+ done in the MainWin constructor), rather than using designer.
treeWidget->setHeaderLabel("Selection");
topItem = new QTreeWidgetItem(treeWidget);
topItem->setText(0, m_dir->name());
+ topItem->setIcon(0, QIcon(QString::fromUtf8("images/server.png")));
item = new QTreeWidgetItem(topItem);
+ m_consoleItem = item;
item->setText(0, "Console");
item->setText(1, "0");
+ item->setIcon(0, QIcon(QString::fromUtf8("images/disconnected.png")));
item = new QTreeWidgetItem(topItem);
item->setText(0, "Restore");
item->setText(1, "1");
return;
} else {
mainWin->actionConnect->setIcon(QIcon(QString::fromUtf8("images/connected.png")));
+ m_consoleItem->setIcon(0, QIcon(QString::fromUtf8("images/connected.png")));
}
} else {
mainWin->set_status(" Director not connected. Click on connect button.");
mainWin->actionConnect->setIcon(QIcon(QString::fromUtf8("images/disconnected.png")));
+ m_consoleItem->setIcon(0, QIcon(QString::fromUtf8("images/disconnected.png")));
}
}
bnet_close(m_sock);
m_sock = NULL;
mainWin->actionConnect->setIcon(QIcon(QString::fromUtf8("images/disconnected.png")));
+ m_consoleItem->setIcon(0, QIcon(QString::fromUtf8("images/disconnected.png")));
m_notifier->setEnabled(false);
delete m_notifier;
m_notifier = NULL;
<property name="text" >
<string>&Print</string>
</property>
+ <property name="statusTip" >
+ <string>Print</string>
+ </property>
</action>
<action name="actionSave" >
<property name="icon" >
<property name="text" >
<string>&Save</string>
</property>
+ <property name="statusTip" >
+ <string>Save (not implemented)</string>
+ </property>
</action>
<action name="actionConnect" >
<property name="icon" >
<property name="text" >
<string>Connect</string>
</property>
+ <property name="statusTip" >
+ <string>Connect/disconnect</string>
+ </property>
</action>
<action name="actionLabel" >
<property name="icon" >
<property name="toolTip" >
<string>Run Job</string>
</property>
+ <property name="statusTip" >
+ <string>Run a Job</string>
+ </property>
</action>
</widget>
<resources>