void UpdateForDocument ()
{
ThreadAssist.AssertInMainThread ();
var current_size = Document.FileSize;
string size_str = null;
if (original_size_string == null) {
size_str = original_size_string = new Hyena.Query.FileSizeQueryValue (current_size).ToUserQuery ();
original_size = current_size;
} else if (current_size == original_size) {
size_str = original_size_string;
} else {
string current_size_string = new Hyena.Query.FileSizeQueryValue (current_size).ToUserQuery ();
if (current_size_string == original_size_string) {
size_str = original_size_string;
} else {
// Translators: this string is used to show current/original file size, eg "2 MB (originally 1 MB)"
size_str = String.Format (Catalog.GetString ("{0} (originally {1})"), current_size_string, original_size_string);
}
}
status_label.Text = String.Format ("{0} \u2013 {1}",
String.Format (Catalog.GetPluralString ("{0} page", "{0} pages", Document.Count), Document.Count),
size_str
);
var title = Document.Title;
var filename = Document.Filename;
if (Document.HasUnsavedChanges) {
filename = "*" + filename;
}
Window.Title = title == null ? filename : String.Format ("{0} - {1}", filename, title);
}