*
* \author John Levon
*
- * Full author contact details are available in file CREDITS
+ * Full author contact details are available in file CREDITS.
*/
#include <config.h>
-#include "ViewBase.h"
-#include "ButtonControllerBase.h"
#include "ControlChanges.h"
-#include "frontends/Dialogs.h"
-#include "frontends/LyXView.h"
+
+#include "author.h"
#include "buffer.h"
-#include "lyxfind.h"
-#include "lyxfunc.h"
-#include "debug.h"
+#include "bufferparams.h"
#include "BufferView.h"
-#include "support/lstrings.h"
+#include "changes.h"
#include "funcrequest.h"
-#include "author.h"
+#include "lyxfind.h"
+#include "support/lyxtime.h"
+
+using std::string;
+
+namespace lyx {
-ControlChanges::ControlChanges(LyXView & lv, Dialogs & d)
- : ControlDialogBD(lv, d)
+namespace frontend {
+
+
+ControlChanges::ControlChanges(Dialog & parent)
+ : Dialog::Controller(parent)
+{}
+
+
+bool ControlChanges::find()
{
+ return findNextChange(kernel().bufferview());
}
-void ControlChanges::find()
+bool ControlChanges::changed()
{
- lyxfind::findNextChange(bufferview());
+ Change c(kernel().bufferview()->getCurrentChange());
+ return c.type != Change::UNCHANGED;
}
-string const ControlChanges::getChangeDate()
+docstring const ControlChanges::getChangeDate()
{
- Change c(bufferview()->getCurrentChange());
+ Change c(kernel().bufferview()->getCurrentChange());
if (c.type == Change::UNCHANGED || !c.changetime)
- return string();
- return ctime(&c.changetime);
+ return docstring();
+
+ // FIXME UNICODE
+ return from_utf8(formatted_time(c.changetime));
}
-string const ControlChanges::getChangeAuthor()
+docstring const ControlChanges::getChangeAuthor()
{
- Change c(bufferview()->getCurrentChange());
+ Change c(kernel().bufferview()->getCurrentChange());
if (c.type == Change::UNCHANGED)
- return string();
+ return docstring();
- Author const & a(bufferview()->buffer()->authors().get(c.author));
+ Author const & a(kernel().buffer().params().authors().get(c.author));
- string author(a.name());
+ docstring author(a.name());
if (!a.email().empty()) {
author += " (";
- author += a.email() + ")";
+ author += a.email();
+ author += ")";
}
return author;
}
-void ControlChanges::accept()
+bool ControlChanges::accept()
{
- lv_.dispatch(FuncRequest(LFUN_ACCEPT_CHANGE));
- lyxfind::findNextChange(bufferview());
+ kernel().dispatch(FuncRequest(LFUN_CHANGE_ACCEPT));
+ return findNextChange(kernel().bufferview());
}
-void ControlChanges::reject()
+bool ControlChanges::reject()
{
- lv_.dispatch(FuncRequest(LFUN_REJECT_CHANGE));
- lyxfind::findNextChange(bufferview());
+ kernel().dispatch(FuncRequest(LFUN_CHANGE_REJECT));
+ return findNextChange(kernel().bufferview());
}
+
+
+} // namespace frontend
+} // namespace lyx