X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=bacula%2Fsrc%2Fgnome2-console%2Fcallbacks.c;h=7e1295a7923d7267f3463bd984d70c05ffd416c6;hb=377bf815eefec1e61a1e97469ae972a52aefde58;hp=f6fbfb930ea29c6480bad492aa1a269c06ab7d13;hpb=f4fadeaf83a912e0a19c19eacd0c7113b21f0a67;p=bacula%2Fbacula diff --git a/bacula/src/gnome2-console/callbacks.c b/bacula/src/gnome2-console/callbacks.c index f6fbfb930e..7e1295a792 100644 --- a/bacula/src/gnome2-console/callbacks.c +++ b/bacula/src/gnome2-console/callbacks.c @@ -1,6 +1,34 @@ /* * 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 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 + 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 Kern Sibbald. + 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 @@ -14,7 +42,7 @@ #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 @@ -127,9 +155,9 @@ static void add_to_history(gchar *ecmd) int i; GList *hp; for (i=0; idata); - 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; } @@ -153,34 +181,34 @@ on_entry1_key_press_event(GtkWidget *widget, GdkEventKey *event, gpointer user_d gtk_entry_set_text((GtkEntry *)entry1, ""); } else if (event->keyval == KEY_Up) { if (!hc) { - if (!hist) { - return FALSE; - } - 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) { - if (!hist) { - return FALSE; - } - 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) { - if (!hist) { - return FALSE; - } - 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) { - if (!hist) { - return FALSE; - } - hc = g_list_last(hist); + if (!hist) { + return FALSE; + } + hc = g_list_last(hist); } gtk_entry_set_text((GtkEntry *)entry1, (gchar *)hc->data); } @@ -294,30 +322,30 @@ static void set_run_defaults() 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; + strcmp(UA_sock->msg, "when") == 0) { + 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; + entry = lookup_widget(run_dialog, "entry_where"); + 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); @@ -383,8 +411,8 @@ static char *get_spin_text(GtkWidget *dialog, const char *spin_name) 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(); @@ -394,20 +422,20 @@ on_run_ok_clicked(GtkButton *button, gpointer user_data) 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), - "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); + "run job=\"%s\" fileset=\"%s\" level=%s client=\"%s\" pool=\"%s\" " + "when=\"%s\" where=\"%s\" storage=\"%s\" priority=\"%s\"\n", + job, fileset, level, client, pool, when, where, storage, priority); write_director(cmd); set_text(cmd, strlen(cmd)); write_director("yes"); @@ -479,8 +507,8 @@ on_label_ok_clicked(GtkButton *button, gpointer user_data) } bsnprintf(cmd, sizeof(cmd), - "label name=\"%s\" pool=\"%s\" storage=\"%s\" slot=%s", - volume, pool, storage, slot); + "label volume=\"%s\" pool=\"%s\" storage=\"%s\" slot=%s\n", + volume, pool, storage, slot); write_director(cmd); set_text(cmd, strlen(cmd)); } @@ -516,12 +544,12 @@ on_select_files_button_clicked(GtkButton *button, gpointer user_data) } bsnprintf(cmd, sizeof(cmd), - "restore select current fileset=\"%s\" client=\"%s\" pool=\"%s\" " - "storage=\"%s\"", fileset, client, pool, storage); + "restore select current fileset=\"%s\" client=\"%s\" pool=\"%s\" " + "storage=\"%s\"\n", 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 @@ -554,96 +582,96 @@ on_restore_files_delete_event(GtkWidget *widget, GdkEvent *event, gpointer user_ 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) { } @@ -668,28 +696,28 @@ void set_restore_dialog_defaults() 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 || - strcmp(UA_sock->msg, "where") == 0 || - strcmp(UA_sock->msg, "messages") == 0 || - strcmp(UA_sock->msg, "level") == 0 || - strcmp(UA_sock->msg, "type") == 0) { - continue; + strcmp(UA_sock->msg, "when") == 0 || + strcmp(UA_sock->msg, "where") == 0 || + strcmp(UA_sock->msg, "messages") == 0 || + strcmp(UA_sock->msg, "level") == 0 || + strcmp(UA_sock->msg, "type") == 0) { + 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); @@ -704,3 +732,9 @@ on_restore_job_entry_changed(GtkEditable *editable, gpointer user_data) /* 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"); +}