30 |
|
|
31 |
extern GtkWidget *mainwindow; |
extern GtkWidget *mainwindow; |
32 |
|
|
33 |
/* ok clicked, changed log not saved */ |
void |
|
static void |
|
|
on_saveokbutton_clicked (GtkButton * button, gpointer user_data) |
|
|
{ |
|
|
save_windowsize_and_cleanup (); |
|
|
gtk_main_quit (); |
|
|
} |
|
|
|
|
|
static void |
|
|
on_savecancelbutton_clicked (GtkButton * button, gpointer user_data) |
|
|
{ |
|
|
gtk_widget_destroy (gtk_widget_get_toplevel (GTK_WIDGET (button))); |
|
|
gtk_widget_set_sensitive (mainwindow, 1); |
|
|
} |
|
|
|
|
|
/* save dialog is deleted */ |
|
|
static gboolean |
|
|
on_savedialog_delete_event (GtkWidget * widget, GdkEvent * event, |
|
|
gpointer user_data) |
|
|
{ |
|
|
gtk_widget_set_sensitive (mainwindow, 1); |
|
|
return FALSE; |
|
|
} |
|
|
|
|
|
GtkWidget* |
|
34 |
create_savedialog (void) |
create_savedialog (void) |
35 |
{ |
{ |
36 |
GtkWidget *savedialog; |
GtkWidget *savedialog, *vbox, *image, *label; |
37 |
GdkPixbuf *savedialog_icon_pixbuf; |
gint response; |
|
GtkWidget *dialog_vbox3; |
|
|
GtkWidget *vbox43; |
|
|
GtkWidget *image50; |
|
|
GtkWidget *label2; |
|
|
GtkWidget *dialog_action_area3; |
|
|
GtkWidget *savecancelbutton; |
|
|
GtkWidget *saveokbutton; |
|
|
|
|
|
savedialog = gtk_dialog_new (); |
|
|
gtk_window_set_title (GTK_WINDOW (savedialog), _("xlog - saving")); |
|
|
gtk_window_set_position (GTK_WINDOW (savedialog), GTK_WIN_POS_MOUSE); |
|
|
savedialog_icon_pixbuf = create_pixbuf ("xlog.png"); |
|
|
if (savedialog_icon_pixbuf) |
|
|
{ |
|
|
gtk_window_set_icon (GTK_WINDOW (savedialog), savedialog_icon_pixbuf); |
|
|
g_object_unref (savedialog_icon_pixbuf); |
|
|
} |
|
|
|
|
|
dialog_vbox3 = GTK_DIALOG (savedialog)->vbox; |
|
|
gtk_widget_show (dialog_vbox3); |
|
|
|
|
|
vbox43 = gtk_vbox_new (TRUE, 0); |
|
|
gtk_widget_show (vbox43); |
|
|
gtk_box_pack_start (GTK_BOX (dialog_vbox3), vbox43, FALSE, FALSE, 0); |
|
|
|
|
|
image50 = gtk_image_new_from_stock ("gtk-dialog-question", GTK_ICON_SIZE_DIALOG); |
|
|
gtk_widget_show (image50); |
|
|
gtk_box_pack_start (GTK_BOX (vbox43), image50, TRUE, TRUE, 0); |
|
|
|
|
|
label2 = gtk_label_new (_("One of your logs has not been saved, do you want to quit anyway?")); |
|
|
gtk_widget_show (label2); |
|
|
gtk_box_pack_start (GTK_BOX (vbox43), label2, TRUE, TRUE, 0); |
|
|
gtk_label_set_justify (GTK_LABEL (label2), GTK_JUSTIFY_CENTER); |
|
|
gtk_label_set_line_wrap (GTK_LABEL (label2), TRUE); |
|
|
gtk_misc_set_padding (GTK_MISC (label2), 10, 10); |
|
|
|
|
|
dialog_action_area3 = GTK_DIALOG (savedialog)->action_area; |
|
|
gtk_widget_show (dialog_action_area3); |
|
|
gtk_button_box_set_layout (GTK_BUTTON_BOX (dialog_action_area3), GTK_BUTTONBOX_SPREAD); |
|
|
|
|
|
savecancelbutton = gtk_button_new_from_stock ("gtk-cancel"); |
|
|
gtk_widget_show (savecancelbutton); |
|
|
gtk_dialog_add_action_widget (GTK_DIALOG (savedialog), savecancelbutton, GTK_RESPONSE_CANCEL); |
|
|
GTK_WIDGET_SET_FLAGS (savecancelbutton, GTK_CAN_DEFAULT); |
|
|
|
|
|
saveokbutton = gtk_button_new_from_stock ("gtk-quit"); |
|
|
gtk_widget_show (saveokbutton); |
|
|
gtk_dialog_add_action_widget (GTK_DIALOG (savedialog), saveokbutton, GTK_RESPONSE_OK); |
|
|
GTK_WIDGET_SET_FLAGS (saveokbutton, GTK_CAN_DEFAULT); |
|
|
|
|
|
g_signal_connect ((gpointer) savedialog, "delete_event", |
|
|
G_CALLBACK (on_savedialog_delete_event), |
|
|
NULL); |
|
|
g_signal_connect ((gpointer) savecancelbutton, "clicked", |
|
|
G_CALLBACK (on_savecancelbutton_clicked), |
|
|
NULL); |
|
|
g_signal_connect ((gpointer) saveokbutton, "clicked", |
|
|
G_CALLBACK (on_saveokbutton_clicked), |
|
|
NULL); |
|
38 |
|
|
39 |
return savedialog; |
savedialog = gtk_dialog_new_with_buttons (_("xlog - saving"), |
40 |
|
GTK_WINDOW(mainwindow), GTK_DIALOG_DESTROY_WITH_PARENT, |
41 |
|
GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, |
42 |
|
GTK_STOCK_OK, GTK_RESPONSE_OK, NULL); |
43 |
|
vbox = gtk_vbox_new (TRUE, 0); |
44 |
|
gtk_container_add |
45 |
|
(GTK_CONTAINER (GTK_DIALOG (savedialog)->vbox), vbox); |
46 |
|
image = gtk_image_new_from_stock |
47 |
|
("gtk-dialog-question", GTK_ICON_SIZE_DIALOG); |
48 |
|
gtk_widget_show (image); |
49 |
|
gtk_box_pack_start (GTK_BOX (vbox), image, FALSE, FALSE, 0); |
50 |
|
|
51 |
|
label = gtk_label_new |
52 |
|
(_("One of your logs has not been saved, do you want to quit anyway?")); |
53 |
|
gtk_widget_show (label); |
54 |
|
gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 0); |
55 |
|
gtk_label_set_justify (GTK_LABEL (label), GTK_JUSTIFY_CENTER); |
56 |
|
gtk_label_set_line_wrap (GTK_LABEL (label), TRUE); |
57 |
|
gtk_widget_show_all (savedialog); |
58 |
|
response = gtk_dialog_run (GTK_DIALOG(savedialog)); |
59 |
|
if (response == GTK_RESPONSE_OK) |
60 |
|
{ |
61 |
|
save_windowsize_and_cleanup (); |
62 |
|
gtk_main_quit (); |
63 |
|
} |
64 |
|
gtk_widget_destroy (savedialog); |
65 |
} |
} |
66 |
|
|