-/*
+/*
* Version $Id$
*/
+/*
+ Bacula® - The Network Backup Solution
+
+ Copyright (C) 2000-2006 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.
+
+ This program is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ 02110-1301, USA.
+
+ Bacula® is a registered trademark of John Walker.
+ The licensor of Bacula is the Free Software Foundation Europe
+ (FSFE), Fiduciary Program, Sumatrastrasse 25, 8006 Zürich,
+ Switzerland, email:ftf@fsfeurope.org.
+*/
+
#ifdef HAVE_CONFIG_H
# include <config.h>
#include "support.h"
#define KEY_Enter 65293
-#define KEY_Up 65362
+#define KEY_Up 65362
#define KEY_Down 65364
#define KEY_Left 65361
#define KEY_Right 65363
void terminate_console(int sig);
+extern "C" gint compare_func(const void *data1, const void *data2);
+
gboolean
on_console_delete_event(GtkWidget *widget, GdkEvent *event, gpointer user_data)
{
gtk_main_quit();
- terminate_console(0);
+ terminate_console(0);
+ return TRUE;
}
void
}
}
-/* Define max length of history and how many to delete when it gets there.
- * If you make HIST_DEL > HIST_MAX, you shoot yourself in the foot.
+/* Define max length of history and how many to delete when it gets there.
+ * If you make HIST_DEL > HIST_MAX, you shoot yourself in the foot.
*/
#define HIST_MAX 2500
#define HIST_DEL 500
int i;
GList *hp;
for (i=0; i<HIST_DEL; i++) {
- hp = g_list_next(hist);
- free(hp->data);
- hist = g_list_remove(hist, hp->data);
+ hp = g_list_next(hist);
+ free(hp->data);
+ hist = g_list_remove(hist, hp->data);
}
hist_len -= HIST_DEL;
}
- hc = NULL;
+ hc = NULL;
}
/*
gtk_entry_set_text((GtkEntry *)entry1, "");
} else if (event->keyval == KEY_Up) {
if (!hc) {
- hc = g_list_last(hist);
+ if (!hist) {
+ return FALSE;
+ }
+ hc = g_list_last(hist);
} else {
- hc = g_list_previous(hc);
+ hc = g_list_previous(hc);
}
if (!hc) {
- hc = g_list_first(hist);
+ if (!hist) {
+ return FALSE;
+ }
+ hc = g_list_first(hist);
}
gtk_entry_set_text((GtkEntry *)entry1, (gchar *)hc->data);
} else if (event->keyval == KEY_Down) {
if (!hc) {
- hc = g_list_first(hist);
+ if (!hist) {
+ return FALSE;
+ }
+ hc = g_list_first(hist);
} else {
- hc = g_list_next(hc);
+ hc = g_list_next(hc);
}
if (!hc) {
- hc = g_list_last(hist);
+ if (!hist) {
+ return FALSE;
+ }
+ hc = g_list_last(hist);
}
gtk_entry_set_text((GtkEntry *)entry1, (gchar *)hc->data);
}
/*
* Compare list string items
*/
-static gint compare_func(const void *data1, const void *data2)
+extern "C"
+gint compare_func(const void *data1, const void *data2)
{
return strcmp((const char *)data1, (const char *)data2);
}
while (bnet_recv(UA_sock) > 0) {
def = strchr(UA_sock->msg, '=');
if (!def) {
- continue;
+ continue;
}
*def++ = 0;
if (strcmp(UA_sock->msg, "job") == 0 ||
strcmp(UA_sock->msg, "when") == 0) {
- continue;
+ continue;
}
/* Where is an entry box */
if (strcmp(UA_sock->msg, "where") == 0) {
entry = lookup_widget(run_dialog, "entry_where");
- gtk_entry_set_text(GTK_ENTRY(entry), def);
- continue;
+ gtk_entry_set_text(GTK_ENTRY(entry), def);
+ continue;
}
/* Now handle combo boxes */
list = find_combo_list(UA_sock->msg);
if (!list) {
- continue;
+ continue;
}
item = g_list_find_custom(list, def, compare_func);
bsnprintf(cmd, sizeof(cmd), "combo_%s", UA_sock->msg);
combo = lookup_widget(run_dialog, cmd);
if (!combo) {
- continue;
+ continue;
}
pos = g_list_position(list, item);
gtk_list_select_item(GTK_LIST(GTK_COMBO(combo)->list), pos);
void
on_run_ok_clicked(GtkButton *button, gpointer user_data)
{
- char *job, *fileset, *level, *client, *pool, *when, *where, *storage;
-
+ char *job, *fileset, *level, *client, *pool, *when, *where, *storage, *priority;
+
gtk_widget_hide(run_dialog);
gtk_main_quit();
pool = get_combo_text(run_dialog, "combo_pool");
storage = get_combo_text(run_dialog, "combo_storage");
level = get_combo_text(run_dialog, "combo_level");
-
+ priority = get_spin_text(run_dialog, "spinbutton1");
when = get_entry_text(run_dialog, "entry_when");
where = get_entry_text(run_dialog, "entry_where");
if (!job || !fileset || !client || !pool || !storage ||
- !level || !when || !where) {
+ !level || !priority || !when || !where) {
set_status_ready();
return;
}
-
- bsnprintf(cmd, sizeof(cmd),
+
+ bsnprintf(cmd, sizeof(cmd),
"run job=\"%s\" fileset=\"%s\" level=%s client=\"%s\" pool=\"%s\" "
- "when=\"%s\" where=\"%s\" storage=\"%s\"",
- job, fileset, level, client, pool, when, where, storage);
+ "when=\"%s\" where=\"%s\" storage=\"%s\" priority=\"%s\"",
+ job, fileset, level, client, pool, when, where, storage, priority);
write_director(cmd);
set_text(cmd, strlen(cmd));
write_director("yes");
set_status_ready();
return;
}
-
- bsnprintf(cmd, sizeof(cmd),
- "label name=\"%s\" pool=\"%s\" storage=\"%s\" slot=%s",
- volume, pool, storage, slot);
+
+ bsnprintf(cmd, sizeof(cmd),
+ "label volume=\"%s\" pool=\"%s\" storage=\"%s\" slot=%s",
+ volume, pool, storage, slot);
write_director(cmd);
set_text(cmd, strlen(cmd));
}
set_status_ready();
return;
}
-
- bsnprintf(cmd, sizeof(cmd),
+
+ bsnprintf(cmd, sizeof(cmd),
"restore select current fileset=\"%s\" client=\"%s\" pool=\"%s\" "
"storage=\"%s\"", fileset, client, pool, storage);
write_director(cmd);
set_text(cmd, strlen(cmd));
gtk_widget_show(restore_file_selection);
- select_restore_files(); /* put up select files dialog */
+ select_restore_files(); /* put up select files dialog */
}
void
void
-on_new1_activate (GtkMenuItem *menuitem,
- gpointer user_data)
+on_new1_activate (GtkMenuItem *menuitem,
+ gpointer user_data)
{
}
void
-on_open1_activate (GtkMenuItem *menuitem,
- gpointer user_data)
+on_open1_activate (GtkMenuItem *menuitem,
+ gpointer user_data)
{
}
void
-on_save1_activate (GtkMenuItem *menuitem,
- gpointer user_data)
+on_save1_activate (GtkMenuItem *menuitem,
+ gpointer user_data)
{
}
void
-on_save_as1_activate (GtkMenuItem *menuitem,
- gpointer user_data)
+on_save_as1_activate (GtkMenuItem *menuitem,
+ gpointer user_data)
{
}
void
-on_quit1_activate (GtkMenuItem *menuitem,
- gpointer user_data)
+on_quit1_activate (GtkMenuItem *menuitem,
+ gpointer user_data)
{
}
void
-on_cut2_activate (GtkMenuItem *menuitem,
- gpointer user_data)
+on_cut2_activate (GtkMenuItem *menuitem,
+ gpointer user_data)
{
}
void
-on_copy2_activate (GtkMenuItem *menuitem,
- gpointer user_data)
+on_copy2_activate (GtkMenuItem *menuitem,
+ gpointer user_data)
{
}
void
-on_paste2_activate (GtkMenuItem *menuitem,
- gpointer user_data)
+on_paste2_activate (GtkMenuItem *menuitem,
+ gpointer user_data)
{
}
void
-on_clear2_activate (GtkMenuItem *menuitem,
- gpointer user_data)
+on_clear2_activate (GtkMenuItem *menuitem,
+ gpointer user_data)
{
}
void
-on_properties1_activate (GtkMenuItem *menuitem,
- gpointer user_data)
+on_properties1_activate (GtkMenuItem *menuitem,
+ gpointer user_data)
{
}
void
-on_preferences2_activate (GtkMenuItem *menuitem,
- gpointer user_data)
+on_preferences2_activate (GtkMenuItem *menuitem,
+ gpointer user_data)
{
}
void
-on_about2_activate (GtkMenuItem *menuitem,
- gpointer user_data)
+on_about2_activate (GtkMenuItem *menuitem,
+ gpointer user_data)
{
}
while (bnet_recv(UA_sock) > 0) {
def = strchr(UA_sock->msg, '=');
if (!def) {
- continue;
+ continue;
}
*def++ = 0;
if (strcmp(UA_sock->msg, "job") == 0 ||
strcmp(UA_sock->msg, "messages") == 0 ||
strcmp(UA_sock->msg, "level") == 0 ||
strcmp(UA_sock->msg, "type") == 0) {
- continue;
+ continue;
}
/* Now handle combo boxes */
list = find_combo_list(UA_sock->msg);
if (!list) {
- continue;
+ continue;
}
item = g_list_find_custom(list, def, compare_func);
bsnprintf(cmd, sizeof(cmd), "combo_restore_%s", UA_sock->msg);
combo = lookup_widget(restore_dialog, cmd);
if (!combo) {
- continue;
+ continue;
}
pos = g_list_position(list, item);
gtk_list_select_item(GTK_LIST(GTK_COMBO(combo)->list), pos);
/* Set defaults that correspond to new job selection */
set_restore_dialog_defaults();
}
+
+void
+on_dir_button_clicked(GtkButton *toolbutton, gpointer user_data)
+{
+ write_director("status dir");
+}