3 * This file is part of LyX, the document processor.
4 * Licence details can be found in the file COPYING.
8 * Full author contact details are available in file CREDITS
14 #pragma implementation
18 #include "ControlChanges.h"
19 #include "FormChanges.h"
20 #include "forms/form_changes.h"
22 #include FORMS_H_LOCATION
24 typedef FormCB<ControlChanges, FormDB<FD_changes> > base_class;
26 FormChanges::FormChanges()
27 : base_class(_("LyX: Merge changes"))
31 void FormChanges::build()
33 dialog_.reset(build_changes(this));
35 bc().setCancel(dialog_->button_close);
36 bc().addReadOnly(dialog_->button_accept);
37 bc().addReadOnly(dialog_->button_reject);
41 void FormChanges::update()
43 fl_set_object_label(dialog_->author, "");
44 fl_set_object_label(dialog_->date, "");
45 // FIXME: enable/disable accept/reject
49 ButtonPolicy::SMInput FormChanges::input(FL_OBJECT * obj, long)
51 if (obj == dialog_->button_accept) {
52 controller().accept();
53 return ButtonPolicy::SMI_VALID;
56 if (obj == dialog_->button_reject) {
57 controller().reject();
58 return ButtonPolicy::SMI_VALID;
61 if (obj != dialog_->button_next)
62 return ButtonPolicy::SMI_VALID;
66 string author(controller().getChangeAuthor());
67 string date(controller().getChangeDate());
69 date = _("Changed at : ") + date;
71 if (!author.empty()) {
72 author = _("Change made by : ") + author;
74 fl_set_object_label(dialog_->author, author.c_str());
75 fl_set_object_label(dialog_->date, date.c_str());
77 // Yes, this is needed.
78 fl_redraw_form(form());
80 return ButtonPolicy::SMI_VALID;