2016-04-09 18:06:41 +10:00
|
|
|
<?xml version="1.0" encoding="UTF-8"?>
|
|
|
|
|
<!-- Generated with glade 3.20.0 -->
|
|
|
|
|
<interface>
|
2016-10-22 09:20:08 +11:00
|
|
|
<requires lib="gtk+" version="3.14"/>
|
2016-04-09 18:06:41 +10:00
|
|
|
<template class="ConversationViewer" parent="GtkStack">
|
2016-04-15 02:18:01 +10:00
|
|
|
<property name="name">conversation_viewer</property>
|
2016-04-09 18:06:41 +10:00
|
|
|
<property name="visible">True</property>
|
|
|
|
|
<property name="transition_type">crossfade</property>
|
|
|
|
|
<child>
|
2016-07-25 10:33:42 +10:00
|
|
|
<object class="GtkSpinner" id="loading_page">
|
2016-10-22 09:20:08 +11:00
|
|
|
<property name="width_request">32</property>
|
|
|
|
|
<property name="height_request">32</property>
|
2016-04-09 18:06:41 +10:00
|
|
|
<property name="visible">True</property>
|
2016-10-22 09:20:08 +11:00
|
|
|
<property name="halign">center</property>
|
|
|
|
|
<property name="valign">center</property>
|
2016-04-09 18:06:41 +10:00
|
|
|
</object>
|
|
|
|
|
<packing>
|
2016-07-25 10:33:42 +10:00
|
|
|
<property name="name">loading_page</property>
|
2016-04-09 18:06:41 +10:00
|
|
|
</packing>
|
|
|
|
|
</child>
|
|
|
|
|
<child>
|
2016-08-14 13:22:40 +10:00
|
|
|
<object class="GtkGrid" id="no_conversations_page">
|
2016-04-09 18:06:41 +10:00
|
|
|
<property name="visible">True</property>
|
2016-07-25 10:33:42 +10:00
|
|
|
<property name="orientation">vertical</property>
|
|
|
|
|
<child>
|
|
|
|
|
<placeholder/>
|
|
|
|
|
</child>
|
2016-04-09 18:06:41 +10:00
|
|
|
</object>
|
|
|
|
|
<packing>
|
2016-07-25 10:33:42 +10:00
|
|
|
<property name="name">no_conversations_page</property>
|
2016-04-09 18:06:41 +10:00
|
|
|
<property name="position">1</property>
|
|
|
|
|
</packing>
|
|
|
|
|
</child>
|
|
|
|
|
<child>
|
Reimplement in-conversation find.
* 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.
2016-08-22 11:42:54 +10:00
|
|
|
<object class="GtkGrid" id="conversation_page">
|
2016-04-09 18:06:41 +10:00
|
|
|
<property name="visible">True</property>
|
2017-02-28 21:18:07 +11:00
|
|
|
<property name="orientation">vertical</property>
|
2016-04-09 18:06:41 +10:00
|
|
|
<child>
|
Reimplement in-conversation find.
* 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.
2016-08-22 11:42:54 +10:00
|
|
|
<object class="GtkSearchBar" id="conversation_find_bar">
|
|
|
|
|
<property name="visible">True</property>
|
|
|
|
|
<property name="app_paintable">True</property>
|
|
|
|
|
<property name="hexpand">True</property>
|
2016-09-12 20:55:10 +10:00
|
|
|
<signal name="notify::search-mode-enabled" handler="on_find_mode_changed" swapped="no"/>
|
Reimplement in-conversation find.
* 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.
2016-08-22 11:42:54 +10:00
|
|
|
<child>
|
|
|
|
|
<object class="GtkGrid">
|
|
|
|
|
<property name="visible">True</property>
|
|
|
|
|
<child>
|
|
|
|
|
<object class="GtkSearchEntry" id="conversation_find_entry">
|
|
|
|
|
<property name="visible">True</property>
|
|
|
|
|
<property name="primary_icon_name">edit-find-symbolic</property>
|
|
|
|
|
<property name="primary_icon_activatable">False</property>
|
|
|
|
|
<property name="primary_icon_sensitive">False</property>
|
|
|
|
|
<property name="placeholder_text" translatable="yes">Find in conversation</property>
|
2019-04-18 23:13:34 -04:00
|
|
|
<property name="width_chars">28</property>
|
2016-09-12 20:55:10 +10:00
|
|
|
<signal name="search-changed" handler="on_find_text_changed" swapped="no"/>
|
Reimplement in-conversation find.
* 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.
2016-08-22 11:42:54 +10:00
|
|
|
</object>
|
|
|
|
|
<packing>
|
|
|
|
|
<property name="left_attach">0</property>
|
|
|
|
|
<property name="top_attach">0</property>
|
|
|
|
|
</packing>
|
|
|
|
|
</child>
|
|
|
|
|
<child>
|
|
|
|
|
<object class="GtkButton" id="conversation_find_prev">
|
|
|
|
|
<property name="sensitive">False</property>
|
|
|
|
|
<property name="receives_default">True</property>
|
|
|
|
|
<property name="no_show_all">True</property>
|
|
|
|
|
<property name="tooltip_text" translatable="yes">Find the previous occurrence of the search string.</property>
|
|
|
|
|
<signal name="clicked" handler="on_find_prev" swapped="no"/>
|
|
|
|
|
<child>
|
|
|
|
|
<object class="GtkImage">
|
|
|
|
|
<property name="visible">True</property>
|
|
|
|
|
<property name="icon_name">go-up-symbolic</property>
|
|
|
|
|
</object>
|
|
|
|
|
</child>
|
|
|
|
|
</object>
|
|
|
|
|
<packing>
|
|
|
|
|
<property name="left_attach">1</property>
|
|
|
|
|
<property name="top_attach">0</property>
|
|
|
|
|
</packing>
|
|
|
|
|
</child>
|
|
|
|
|
<child>
|
|
|
|
|
<object class="GtkButton" id="conversation_find_next">
|
|
|
|
|
<property name="sensitive">False</property>
|
|
|
|
|
<property name="receives_default">True</property>
|
|
|
|
|
<property name="no_show_all">True</property>
|
|
|
|
|
<property name="tooltip_text" translatable="yes">Find the next occurrence of the search string.</property>
|
|
|
|
|
<signal name="activate" handler="on_find_next" swapped="no"/>
|
|
|
|
|
<child>
|
|
|
|
|
<object class="GtkImage">
|
|
|
|
|
<property name="visible">True</property>
|
|
|
|
|
<property name="icon_name">go-down-symbolic</property>
|
|
|
|
|
</object>
|
|
|
|
|
</child>
|
|
|
|
|
</object>
|
|
|
|
|
<packing>
|
|
|
|
|
<property name="left_attach">2</property>
|
|
|
|
|
<property name="top_attach">0</property>
|
|
|
|
|
</packing>
|
|
|
|
|
</child>
|
|
|
|
|
<style>
|
|
|
|
|
<class name="linked"/>
|
|
|
|
|
</style>
|
|
|
|
|
</object>
|
|
|
|
|
</child>
|
|
|
|
|
</object>
|
|
|
|
|
<packing>
|
|
|
|
|
<property name="left_attach">0</property>
|
|
|
|
|
<property name="top_attach">0</property>
|
|
|
|
|
</packing>
|
|
|
|
|
</child>
|
|
|
|
|
<child>
|
2017-02-28 21:18:07 +11:00
|
|
|
<placeholder/>
|
2016-04-09 18:06:41 +10:00
|
|
|
</child>
|
|
|
|
|
</object>
|
|
|
|
|
<packing>
|
|
|
|
|
<property name="name">conversation_page</property>
|
|
|
|
|
<property name="position">2</property>
|
|
|
|
|
</packing>
|
|
|
|
|
</child>
|
|
|
|
|
<child>
|
2016-08-14 13:22:40 +10:00
|
|
|
<object class="GtkGrid" id="multiple_conversations_page">
|
2016-04-09 18:06:41 +10:00
|
|
|
<property name="visible">True</property>
|
|
|
|
|
<property name="orientation">vertical</property>
|
|
|
|
|
<child>
|
2016-07-25 10:33:42 +10:00
|
|
|
<placeholder/>
|
2016-04-09 18:06:41 +10:00
|
|
|
</child>
|
|
|
|
|
</object>
|
|
|
|
|
<packing>
|
2016-07-25 10:33:42 +10:00
|
|
|
<property name="name">multiple_conversations_page</property>
|
2016-04-09 18:06:41 +10:00
|
|
|
<property name="position">3</property>
|
|
|
|
|
</packing>
|
|
|
|
|
</child>
|
2016-07-25 10:33:42 +10:00
|
|
|
<child>
|
2016-08-14 13:22:40 +10:00
|
|
|
<object class="GtkGrid" id="empty_folder_page">
|
2016-07-25 10:33:42 +10:00
|
|
|
<property name="visible">True</property>
|
|
|
|
|
<property name="orientation">vertical</property>
|
|
|
|
|
<child>
|
|
|
|
|
<placeholder/>
|
|
|
|
|
</child>
|
|
|
|
|
</object>
|
|
|
|
|
<packing>
|
|
|
|
|
<property name="name">empty_folder_page</property>
|
|
|
|
|
<property name="position">4</property>
|
|
|
|
|
</packing>
|
|
|
|
|
</child>
|
|
|
|
|
<child>
|
2016-08-14 13:22:40 +10:00
|
|
|
<object class="GtkGrid" id="empty_search_page">
|
2016-07-25 10:33:42 +10:00
|
|
|
<property name="visible">True</property>
|
|
|
|
|
<property name="orientation">vertical</property>
|
|
|
|
|
<child>
|
|
|
|
|
<placeholder/>
|
|
|
|
|
</child>
|
|
|
|
|
</object>
|
|
|
|
|
<packing>
|
|
|
|
|
<property name="name">empty_search_page</property>
|
|
|
|
|
<property name="position">5</property>
|
|
|
|
|
</packing>
|
|
|
|
|
</child>
|
Reenable and update code for attached, full pane message composer.
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
composer.
(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.
2016-04-11 02:52:53 +10:00
|
|
|
<child>
|
2016-08-14 13:22:40 +10:00
|
|
|
<object class="GtkGrid" id="composer_page">
|
Reenable and update code for attached, full pane message composer.
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
composer.
(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.
2016-04-11 02:52:53 +10:00
|
|
|
<property name="visible">True</property>
|
|
|
|
|
<property name="orientation">vertical</property>
|
|
|
|
|
<child>
|
|
|
|
|
<placeholder/>
|
|
|
|
|
</child>
|
|
|
|
|
</object>
|
|
|
|
|
<packing>
|
|
|
|
|
<property name="name">composer_page</property>
|
2016-07-25 10:33:42 +10:00
|
|
|
<property name="position">6</property>
|
Reenable and update code for attached, full pane message composer.
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
composer.
(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.
2016-04-11 02:52:53 +10:00
|
|
|
</packing>
|
|
|
|
|
</child>
|
2016-04-09 18:06:41 +10:00
|
|
|
</template>
|
|
|
|
|
</interface>
|