<p>Update bookmark list also on any line changes in the document</p>

<p>In addition to updating the bookmark list on document notebook tab change<br>
and adding/removing line markers, also rebuild the bookmark list<br>
when the text in the document changes with lines added or deleted.</p>

<p>Should fix SF bugs 129 and 39.</p>

<p>This implements some ideas mentioned in the above bug reports like updating the bookmark list<br>
in an idle callback. Additionally, the list store is detach from the GtkTreeView to increase performance on big bookmark lists.</p>

<p>Maybe it is still worth to add a refresh button (or rather a context menu item to refresh) but I would try it without at first.</p>

<p>There is one issue left: if the <code>Transpose current line</code> feature is used, the bookmarks don't update. But this is not a problem in the plugin but rather in either Geany or Scintilla as the marker also stays at the "old" line. This should be managed separately.</p>

<hr>

<h4>You can view, comment on, or merge this pull request online at:</h4>
<p>  <a href='https://github.com/geany/geany-plugins/pull/284'>https://github.com/geany/geany-plugins/pull/284</a></p>

<h4>Commit Summary</h4>
<ul>
  <li>Move bookmark list refresh into an idle callback</li>
  <li>Detach and re-attach the GtkTreeView model when updating</li>
  <li>Update bookmark list also on any line changes in the document</li>
</ul>

<h4>File Changes</h4>
<ul>
  <li>
    <strong>M</strong>
    <a href="https://github.com/geany/geany-plugins/pull/284/files#diff-0">addons/src/ao_bookmarklist.c</a>
    (66)
  </li>
</ul>

<h4>Patch Links:</h4>
<ul>
  <li><a href='https://github.com/geany/geany-plugins/pull/284.patch'>https://github.com/geany/geany-plugins/pull/284.patch</a></li>
  <li><a href='https://github.com/geany/geany-plugins/pull/284.diff'>https://github.com/geany/geany-plugins/pull/284.diff</a></li>
</ul>

<p style="font-size:small;-webkit-text-size-adjust:none;color:#666;">—<br>Reply to this email directly or <a href="https://github.com/geany/geany-plugins/pull/284">view it on GitHub</a>.<img alt="" height="1" src="https://github.com/notifications/beacon/ABDrJ4rjeB5iTA_eVG7MnGhaUbx3xKZaks5oydPQgaJpZM4F-upi.gif" width="1" /></p>
<div itemscope itemtype="http://schema.org/EmailMessage">
<div itemprop="action" itemscope itemtype="http://schema.org/ViewAction">
  <link itemprop="url" href="https://github.com/geany/geany-plugins/pull/284"></link>
  <meta itemprop="name" content="View Pull Request"></meta>
</div>
<meta itemprop="description" content="View this Pull Request on GitHub"></meta>
</div>