• Michael Gratton's avatar
    Reenable and update code for attached, full pane message composer. · 5184a38f
    Michael Gratton authored
    Display attached+un-embedded composer as an additional ConversationViewer
    stack page, although it realy should be broken as its own top-level
    widget - there's already too much state in ConversationViewer.
    * src/client/conversation-viewer/conversation-viewer.vala: Remove old
      composer boxes code. Add new ViewState enum, property and methods to
      define and manipulate the current view state - either conversation or
      (do_conversation): New method to put the viewer in conversation mode.
      (do_compose): New method to put the viewer in compose mode, hook up the
      composer widget, and handle ConversationListView selection management
      for now.
      (on_folder_selected, on_conversation_count_changed,
      on_conversations_selected): Ensure these methods do the right thing
      depending on the viewer's current view state.
      (set_paned_composer): Replaced by ::do_compose, fixed call sites.
      (show_multiple_selected): Minor code clean up - moved down to a more
      appropriate location.
    * src/client/composer/composer-box.vala (ComposerBox): Don't attempt to
      up-manage it's parent's state, since the parent has a much better idea
      of how best to do that. Likewise move code to manage previous
      ConversationList selection out, provide signal so the a more
      appropriate class can manage it instead.
    * src/client/composer/composer-container.vala: Add some method comments.
    * ui/conversation-viewer.ui: Add new page to the stack for the composer.
conversation-viewer.ui 3.74 KB