/*
Bacula® - The Network Backup Solution
- Copyright (C) 2007 Free Software Foundation Europe e.V.
+ Copyright (C) 2007-2008 Free Software Foundation Europe e.V.
The main author of Bacula is Kern Sibbald, with contributions from
many others, a complete list can be found in the file AUTHORS.
This program is Free Software; you can redistribute it and/or
modify it under the terms of version two of the GNU General Public
- License as published by the Free Software Foundation plus additions
- that are listed in the file LICENSE.
+ License as published by the Free Software Foundation and included
+ in the file LICENSE.
This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
*
* Main program for bat (qt-console)
*
- * Kern Sibbald, January MMVI
+ * Kern Sibbald, January MMVII
*
*/
#include <QApplication>
+#include <QTranslator>
#include "bat.h"
+MainWin *mainWin;
+QApplication *app;
/* Forward referenced functions */
void terminate_console(int sig);
/* Static variables */
static char *configfile = NULL;
-MainWin *mainWin;
-QApplication *app;
-
-
int main(int argc, char *argv[])
{
-
int ch;
bool no_signals = true;
bool test_config = false;
app = new QApplication(argc, argv);
app->setQuitOnLastWindowClosed(true);
+ QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8"));
+
+ QTranslator qtTranslator;
+ qtTranslator.load(QString("qt_") + QLocale::system().name());
+ app->installTranslator(&qtTranslator);
+
+ QTranslator batTranslator;
+ batTranslator.load(QString("bat_") + QLocale::system().name());
+ app->installTranslator(&batTranslator);
-#ifdef ENABLE_NLS
+
+#ifdef xENABLE_NLS
setlocale(LC_ALL, "");
bindtextdomain("bacula", LOCALEDIR);
textdomain("bacula");
#endif
init_stack_dump();
- my_name_is(argc, argv, "gnome-console");
+ my_name_is(argc, argv, "bat");
init_msg(NULL, NULL);
working_directory = "/tmp";
sigignore.sa_handler = SIG_IGN;
sigfillset(&sigignore.sa_mask);
sigaction(SIGPIPE, &sigignore, NULL);
+ sigaction(SIGUSR2, &sigignore, NULL);
+
while ((ch = getopt(argc, argv, "bc:d:r:st?")) != -1) {
switch (ch) {
return app->exec();
}
-void terminate_console(int sig)
+void terminate_console(int /*sig*/)
{
- (void)sig; /* avoid compiler complaints */
exit(0);
}
bool ok = true;
DIRRES *director;
int numdir;
+ bool tls_needed;
LockRes();
continue;
}
}
+ tls_needed = director->tls_enable || director->tls_authenticate;
- if ((!director->tls_ca_certfile && !director->tls_ca_certdir) && director->tls_enable) {
+ if ((!director->tls_ca_certfile && !director->tls_ca_certdir) && tls_needed) {
Emsg2(M_FATAL, 0, _("Neither \"TLS CA Certificate\""
" or \"TLS CA Certificate Dir\" are defined for Director \"%s\" in %s."
" At least one CA certificate store is required.\n"),
continue;
}
}
+ tls_needed = cons->tls_enable || cons->tls_authenticate;
- if ((!cons->tls_ca_certfile && !cons->tls_ca_certdir) && cons->tls_enable) {
+ if ((!cons->tls_ca_certfile && !cons->tls_ca_certdir) && tls_needed) {
Emsg2(M_FATAL, 0, _("Neither \"TLS CA Certificate\""
" or \"TLS CA Certificate Dir\" are defined for Console \"%s\" in %s.\n"),
cons->hdr.name, configfile);