mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-11-26 03:11:59 +00:00
Display externally modified status
This commit is contained in:
parent
7c123507a4
commit
1e57fd12b1
@ -33,10 +33,8 @@ void WorkAreaManager::remove(WorkArea * wa)
|
|||||||
|
|
||||||
void WorkAreaManager::redrawAll(bool update_metrics)
|
void WorkAreaManager::redrawAll(bool update_metrics)
|
||||||
{
|
{
|
||||||
iterator it = work_areas_.begin();
|
for (WorkArea * wa : work_areas_)
|
||||||
iterator const en = work_areas_.end();
|
wa->redraw(update_metrics);
|
||||||
for (; it != en; ++it)
|
|
||||||
(*it)->redraw(update_metrics);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -50,12 +48,11 @@ void WorkAreaManager::closeAll()
|
|||||||
|
|
||||||
void WorkAreaManager::updateTitles()
|
void WorkAreaManager::updateTitles()
|
||||||
{
|
{
|
||||||
iterator it = work_areas_.begin();
|
for (WorkArea * wa : work_areas_)
|
||||||
iterator const en = work_areas_.end();
|
wa->updateWindowTitle();
|
||||||
for (; it != en; ++it)
|
|
||||||
(*it)->updateWindowTitle();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
} // namespace frontend
|
} // namespace frontend
|
||||||
} // namespace lyx
|
} // namespace lyx
|
||||||
|
|
||||||
|
@ -38,7 +38,8 @@ public:
|
|||||||
void redrawAll(bool update_metrics);
|
void redrawAll(bool update_metrics);
|
||||||
///
|
///
|
||||||
void closeAll();
|
void closeAll();
|
||||||
/// Update window titles of all users.
|
/// Update window titles of all users and the external modifications
|
||||||
|
/// warning.
|
||||||
void updateTitles();
|
void updateTitles();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
@ -1121,6 +1121,12 @@ void GuiView::updateWindowTitle(GuiWorkArea * wa)
|
|||||||
Buffer const & buf = wa->bufferView().buffer();
|
Buffer const & buf = wa->bufferView().buffer();
|
||||||
// Set the windows title
|
// Set the windows title
|
||||||
docstring title = buf.fileName().displayName(130) + from_ascii("[*]");
|
docstring title = buf.fileName().displayName(130) + from_ascii("[*]");
|
||||||
|
if (buf.notifiesExternalModification()) {
|
||||||
|
title = bformat(_("%1$s (modified externally)"), title);
|
||||||
|
// If the external modification status has changed, then maybe the status of
|
||||||
|
// buffer-save has changed too.
|
||||||
|
updateToolbars();
|
||||||
|
}
|
||||||
#ifndef Q_WS_MAC
|
#ifndef Q_WS_MAC
|
||||||
title += from_ascii(" - LyX");
|
title += from_ascii(" - LyX");
|
||||||
#endif
|
#endif
|
||||||
|
@ -251,7 +251,7 @@ GuiWorkArea::Private::Private(GuiWorkArea * parent)
|
|||||||
need_resize_(false), schedule_redraw_(false), preedit_lines_(1),
|
need_resize_(false), schedule_redraw_(false), preedit_lines_(1),
|
||||||
pixel_ratio_(1.0),
|
pixel_ratio_(1.0),
|
||||||
completer_(new GuiCompleter(p, p)), dialog_mode_(false),
|
completer_(new GuiCompleter(p, p)), dialog_mode_(false),
|
||||||
read_only_(false), clean_(true)
|
read_only_(false), clean_(true), externally_modified_(false)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1390,12 +1390,16 @@ QVariant GuiWorkArea::inputMethodQuery(Qt::InputMethodQuery query) const
|
|||||||
void GuiWorkArea::updateWindowTitle()
|
void GuiWorkArea::updateWindowTitle()
|
||||||
{
|
{
|
||||||
Buffer const & buf = bufferView().buffer();
|
Buffer const & buf = bufferView().buffer();
|
||||||
if (buf.fileName() != d->file_name_ || buf.isReadonly() != d->read_only_
|
if (buf.fileName() != d->file_name_
|
||||||
|| buf.lyxvc().vcstatus() != d->vc_status_ || buf.isClean() != d->clean_) {
|
|| buf.isReadonly() != d->read_only_
|
||||||
|
|| buf.lyxvc().vcstatus() != d->vc_status_
|
||||||
|
|| buf.isClean() != d->clean_
|
||||||
|
|| buf.notifiesExternalModification() != d->externally_modified_) {
|
||||||
d->file_name_ = buf.fileName();
|
d->file_name_ = buf.fileName();
|
||||||
d->read_only_ = buf.isReadonly();
|
d->read_only_ = buf.isReadonly();
|
||||||
d->vc_status_ = buf.lyxvc().vcstatus();
|
d->vc_status_ = buf.lyxvc().vcstatus();
|
||||||
d->clean_ = buf.isClean();
|
d->clean_ = buf.isClean();
|
||||||
|
d->externally_modified_ = buf.notifiesExternalModification();
|
||||||
Q_EMIT titleChanged(this);
|
Q_EMIT titleChanged(this);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -2052,9 +2056,14 @@ void TabWorkArea::updateTabTexts()
|
|||||||
QString tab_tooltip = it->abs();
|
QString tab_tooltip = it->abs();
|
||||||
if (buf.isReadonly()) {
|
if (buf.isReadonly()) {
|
||||||
setTabIcon(tab_index, QIcon(getPixmap("images/", "emblem-readonly", "svgz,png")));
|
setTabIcon(tab_index, QIcon(getPixmap("images/", "emblem-readonly", "svgz,png")));
|
||||||
tab_tooltip = qt_("%1 (read only)").arg(it->abs());
|
tab_tooltip = qt_("%1 (read only)").arg(tab_tooltip);
|
||||||
} else
|
} else
|
||||||
setTabIcon(tab_index, QIcon());
|
setTabIcon(tab_index, QIcon());
|
||||||
|
if (buf.notifiesExternalModification()) {
|
||||||
|
QString const warn = qt_("%1 (modified externally)");
|
||||||
|
tab_tooltip = warn.arg(tab_tooltip);
|
||||||
|
tab_text += QChar(0x26a0);
|
||||||
|
}
|
||||||
setTabText(tab_index, tab_text);
|
setTabText(tab_index, tab_text);
|
||||||
setTabToolTip(tab_index, tab_tooltip);
|
setTabToolTip(tab_index, tab_tooltip);
|
||||||
}
|
}
|
||||||
|
@ -196,6 +196,8 @@ struct GuiWorkArea::Private
|
|||||||
docstring vc_status_;
|
docstring vc_status_;
|
||||||
///
|
///
|
||||||
bool clean_;
|
bool clean_;
|
||||||
|
///
|
||||||
|
bool externally_modified_;
|
||||||
|
|
||||||
}; // GuiWorkArea
|
}; // GuiWorkArea
|
||||||
|
|
||||||
|
@ -990,6 +990,8 @@ void MenuDefinition::expandDocuments()
|
|||||||
QString label = toqstr(b.fileName().displayName(20));
|
QString label = toqstr(b.fileName().displayName(20));
|
||||||
if (!b.isClean())
|
if (!b.isClean())
|
||||||
label += "*";
|
label += "*";
|
||||||
|
if (b.notifiesExternalModification())
|
||||||
|
label += QChar(0x26a0);
|
||||||
if (i < 10)
|
if (i < 10)
|
||||||
label = QString::number(i) + ". " + label + '|' + QString::number(i);
|
label = QString::number(i) + ". " + label + '|' + QString::number(i);
|
||||||
add(MenuItem(MenuItem::Command, label,
|
add(MenuItem(MenuItem::Command, label,
|
||||||
@ -1007,6 +1009,8 @@ void MenuDefinition::expandDocuments()
|
|||||||
QString label = toqstr(b->fileName().displayName(20));
|
QString label = toqstr(b->fileName().displayName(20));
|
||||||
if (!b->isClean())
|
if (!b->isClean())
|
||||||
label += "*";
|
label += "*";
|
||||||
|
if (b->notifiesExternalModification())
|
||||||
|
label += QChar(0x26a0);
|
||||||
if (i < 10)
|
if (i < 10)
|
||||||
label = QString::number(i) + ". " + label + '|' + QString::number(i);
|
label = QString::number(i) + ". " + label + '|' + QString::number(i);
|
||||||
item.submenu().add(MenuItem(MenuItem::Command, label,
|
item.submenu().add(MenuItem(MenuItem::Command, label,
|
||||||
|
Loading…
Reference in New Issue
Block a user