mirror of
https://github.com/olivierkes/manuskript.git
synced 2024-05-16 19:02:32 +12:00
Implement characters filter
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
This commit is contained in:
parent
29fbe2acbb
commit
3c0ab18fea
|
@ -25,10 +25,13 @@ class CharactersView:
|
|||
self.charactersStore = builder.get_object("characters_store")
|
||||
self.refreshCharacterStore()
|
||||
|
||||
self.filteredCharactersStore = builder.get_object("filtered_characters_store")
|
||||
self.mainCharactersStore = builder.get_object("main_characters_store")
|
||||
self.secondaryCharactersStore = builder.get_object("secondary_characters_store")
|
||||
self.minorCharactersStore = builder.get_object("minor_characters_store")
|
||||
|
||||
self.filteredCharactersStore.set_visible_func(self.filterCharacters)
|
||||
|
||||
self.mainCharactersStore.set_visible_func(lambda model, iter, userdata: model[iter][3] == Importance.MAIN.value)
|
||||
self.secondaryCharactersStore.set_visible_func(lambda model, iter, userdata: model[iter][3] == Importance.SECONDARY.value)
|
||||
self.minorCharactersStore.set_visible_func(lambda model, iter, userdata: model[iter][3] == Importance.MINOR.value)
|
||||
|
@ -195,8 +198,14 @@ class CharactersView:
|
|||
self.character.remove()
|
||||
self.refreshCharacterStore()
|
||||
|
||||
def filterCharacters(self, model, iter, userdata):
|
||||
name = validString(model[iter][1])
|
||||
text = self.filterCharactersBuffer.get_text()
|
||||
|
||||
return text in name
|
||||
|
||||
def filterCharactersChanged(self, buffer: Gtk.EntryBuffer):
|
||||
pass
|
||||
self.filteredCharactersStore.refilter()
|
||||
|
||||
def filterCharactersDeletedText(self, buffer: Gtk.EntryBuffer, position: int, n_chars: int):
|
||||
self.filterCharactersChanged(buffer)
|
||||
|
|
|
@ -37,14 +37,17 @@ along with Manuskript. If not, see <http://www.gnu.org/licenses/>.
|
|||
<column type="gint"/>
|
||||
</columns>
|
||||
</object>
|
||||
<object class="GtkTreeModelFilter" id="main_characters_store">
|
||||
<object class="GtkTreeModelFilter" id="filtered_characters_store">
|
||||
<property name="child-model">characters_store</property>
|
||||
</object>
|
||||
<object class="GtkTreeModelFilter" id="main_characters_store">
|
||||
<property name="child-model">filtered_characters_store</property>
|
||||
</object>
|
||||
<object class="GtkTreeModelFilter" id="minor_characters_store">
|
||||
<property name="child-model">characters_store</property>
|
||||
<property name="child-model">filtered_characters_store</property>
|
||||
</object>
|
||||
<object class="GtkTreeModelFilter" id="secondary_characters_store">
|
||||
<property name="child-model">characters_store</property>
|
||||
<property name="child-model">filtered_characters_store</property>
|
||||
</object>
|
||||
<object class="GtkTextBuffer" id="conflict"/>
|
||||
<object class="GtkListStore" id="details_store">
|
||||
|
|
Loading…
Reference in a new issue