Index: src/view/katestatusbar.cpp =================================================================== --- src/view/katestatusbar.cpp +++ src/view/katestatusbar.cpp @@ -272,6 +272,8 @@ text = i18n("[BLOCK] %1", text); m_inputMode->setText(text); + + modifiedChanged(); } void KateStatusBar::cursorPositionChanged() @@ -347,16 +349,22 @@ { const bool mod = m_view->doc()->isModified(); const bool modOnHD = m_view->doc()->isModifiedOnDisc(); + const bool readOnly = !m_view->doc()->isReadWrite(); /** * combine to modified status, update only if changed */ - unsigned int newStatus = (unsigned int)mod | ((unsigned int)modOnHD << 1); + unsigned int newStatus = (unsigned int)mod | ((unsigned int)modOnHD << 1) | ((unsigned int)readOnly << 2); if (m_modifiedStatus == newStatus) return; m_modifiedStatus = newStatus; switch (m_modifiedStatus) { + case 0x0: + m_modified->setIcon(QIcon::fromTheme(QStringLiteral("text-plain"))); + m_modified->setWhatsThis(i18n("Meaning of current icon: Document was not modified since it was loaded")); + break; + case 0x1: m_modified->setIcon(QIcon::fromTheme(QStringLiteral("document-save"))); m_modified->setWhatsThis(i18n("Meaning of current icon: Document was modified since it was loaded")); @@ -374,8 +382,8 @@ break; default: - m_modified->setIcon(QIcon::fromTheme(QStringLiteral("text-plain"))); - m_modified->setWhatsThis(i18n("Meaning of current icon: Document was not modified since it was loaded")); + m_modified->setIcon(QIcon::fromTheme(QStringLiteral("lock"))); + m_modified->setWhatsThis(i18n("Meaning of current icon: Document is in read-only mode")); break; } }