• Michael Gratton's avatar
    Reimplement in-conversation find. · dca845d8
    Michael Gratton authored
    * src/client/application/geary-controller.vala (GearyController): Remove
      ACTION_FIND_NEXT_IN_CONVERSATION and
      ACTION_FIND_PREVIOUS_IN_CONVERSATION arctions and callbacks since they
      will be taken care of by the search entry & search bar buttons, and
      remove from accelerators.ui. Add ACTION_TOGGLE_FIND action to handle
      toggling find bar in the same way as the search bar.
    
    * src/client/components/main-toolbar.vala (MainToolbar): Add new button
      and infrastrcuture for toggling the find bar.
    
    * src/client/conversation-viewer/conversation-viewer.vala
      (ConversationViewer): Convert ::conversation_page to be grid, add new
      ::conversation_scroller property for the scrollbar, update call
      sites. Add props for accessing find widgets, remove old find methods
      and add callbacks for handling find start, change, etc.
    
    * src/client/conversation-viewer/conversation-email.vala,
      src/client/conversation-viewer/conversation-message.vala: Add methods
      for accessing selected text for find.
    
    * src/client/conversation-viewer/conversation-listbox.vala
      (ConversationListBox::highlight_search_terms): Updated to return a flag
      specifiying whether any search results were found, and to
      expand/collapse messsages depending on whether they have any.
    
    * src/client/conversation-viewer/conversation-message.vala
      (ConversationMessage::highlight_search_terms): Keep track of how many
      results were found, and return that.
    
    * ui/conversation-viewer.ui: Convert conversation_page to be a grid, add
      a search bar and search widgets to it, and move conversation
      ScrolledWindow to it.
    dca845d8
conversation-viewer.vala 14.1 KB