From 39ef8e3e2d5a2dc8ef98af25e4f154da7aefb58c Mon Sep 17 00:00:00 2001 From: Niels De Graef Date: Fri, 23 Dec 2016 00:02:09 +0100 Subject: [PATCH] Replace intltool with gettext. Bug 771643. Signed-off-by: Niels De Graef --- CMakeLists.txt | 13 +++- INSTALL | 4 +- cmake/FindIntltool.cmake | 44 ----------- cmake/{Gettext.cmake => FindXGettext.cmake} | 84 ++++++++++++--------- debian/control | 1 - desktop/CMakeLists.txt | 51 ++++++++----- desktop/geary-attach.contract.in | 4 +- desktop/geary-autostart.desktop.in | 10 +-- desktop/org.gnome.Geary.appdata.xml.in | 28 +++---- desktop/org.gnome.Geary.desktop.in | 12 +-- po/POTFILES.in | 59 +++++++-------- 11 files changed, 149 insertions(+), 161 deletions(-) delete mode 100644 cmake/FindIntltool.cmake rename cmake/{Gettext.cmake => FindXGettext.cmake} (57%) diff --git a/CMakeLists.txt b/CMakeLists.txt index 3199468c..67bfeb77 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -137,12 +137,17 @@ endif() find_package(Git QUIET) -# intl -include(Gettext) +# xgettext +include(FindXGettext) +SET(MIN_XGETTEXT_VERSION "0.19.8") if (XGETTEXT_FOUND) - message(STATUS "xgettext found") + if (XGETTEXT_VERSION VERSION_LESS MIN_XGETTEXT_VERSION) + message (FATAL_ERROR "xgettext found, but version is ${XGETTEXT_VERSION} (minimum version required is ${MIN_XGETTEXT_VERSION}).") + else () + message(STATUS "xgettext found, version ${XGETTEXT_VERSION}") + endif () else () - message(STATUS "xgettext not found") + message (FATAL_ERROR "xgettext not found") endif () # GResources diff --git a/INSTALL b/INSTALL index 2fe6cc44..44962ecb 100644 --- a/INSTALL +++ b/INSTALL @@ -63,7 +63,7 @@ Fedora 25 and later ships with the correct versions of the required libraries. Install them by running this command: - $ sudo dnf install vala gobject-introspection-devel intltool cmake \ + $ sudo yum install vala gobject-introspection-devel cmake \ desktop-file-utils gnome-doc-utils libcanberra-devel libgee-devel \ glib2-devel gmime-devel gtk3-devel libnotify-devel sqlite-devel \ webkitgtk4-devel libsecret-devel libxml2-devel vala-tools \ @@ -82,7 +82,7 @@ Install them by running this command: - $ sudo apt-get install valac libgirepository1.0-dev intltool \ + $ sudo apt-get install valac libgirepository1.0-dev \ cmake desktop-file-utils gnome-doc-utils libcanberra-dev \ libgee-0.8-dev libglib2.0-dev libgmime-2.6-dev libgtk-3-dev \ libsecret-1-dev libxml2-dev libnotify-dev libsqlite3-dev \ diff --git a/cmake/FindIntltool.cmake b/cmake/FindIntltool.cmake deleted file mode 100644 index fb710557..00000000 --- a/cmake/FindIntltool.cmake +++ /dev/null @@ -1,44 +0,0 @@ -# FindIntltool.cmake -# -# Jim Nelson -# Copyright 2016 Software Freedom Conservancy Inc. - -find_program (INTLTOOL_MERGE_EXECUTABLE intltool-merge) - -if (INTLTOOL_MERGE_EXECUTABLE) - set (INTLTOOL_MERGE_FOUND TRUE) -else (INTLTOOL_MERGE_EXECUTABLE) - set (INTLTOOL_MERGE_FOUND FALSE) -endif (INTLTOOL_MERGE_EXECUTABLE) - -if (INTLTOOL_MERGE_FOUND) - macro (INTLTOOL_MERGE_APPDATA appstream_name po_dir) - add_custom_target (${appstream_name}.in ALL - ${INTLTOOL_MERGE_EXECUTABLE} --xml-style ${CMAKE_SOURCE_DIR}/${po_dir} - ${CMAKE_CURRENT_SOURCE_DIR}/${appstream_name}.in ${appstream_name} - ) - install (FILES ${CMAKE_CURRENT_BINARY_DIR}/${appstream_name} DESTINATION ${CMAKE_INSTALL_PREFIX}/share/metainfo) - endmacro (INTLTOOL_MERGE_APPDATA appstream_name po_dir) - macro (INTLTOOL_MERGE_DESKTOP desktop_id po_dir) - add_custom_target (org.gnome.Geary.desktop ALL - ${INTLTOOL_MERGE_EXECUTABLE} --desktop-style ${CMAKE_SOURCE_DIR}/${po_dir} - ${CMAKE_CURRENT_SOURCE_DIR}/${desktop_id}.in ${desktop_id} - ) - install (FILES ${CMAKE_CURRENT_BINARY_DIR}/org.gnome.Geary.desktop DESTINATION ${CMAKE_INSTALL_PREFIX}/share/applications) - endmacro (INTLTOOL_MERGE_DESKTOP desktop_id po_dir) - macro (INTLTOOL_MERGE_AUTOSTART_DESKTOP desktop_id po_dir) - add_custom_target (geary-autostart.desktop ALL - ${INTLTOOL_MERGE_EXECUTABLE} --desktop-style ${CMAKE_SOURCE_DIR}/${po_dir} - ${CMAKE_CURRENT_SOURCE_DIR}/${desktop_id}.in ${desktop_id} - ) - install (FILES ${CMAKE_CURRENT_BINARY_DIR}/geary-autostart.desktop DESTINATION ${CMAKE_INSTALL_PREFIX}/share/applications) - endmacro (INTLTOOL_MERGE_AUTOSTART_DESKTOP desktop_id po_dir) - macro (INTLTOOL_MERGE_CONTRACT desktop_id po_dir) - add_custom_target (geary-attach.contract ALL - ${INTLTOOL_MERGE_EXECUTABLE} --desktop-style ${CMAKE_SOURCE_DIR}/${po_dir} - ${CMAKE_CURRENT_SOURCE_DIR}/${desktop_id}.in ${desktop_id} - ) - install (FILES ${CMAKE_CURRENT_BINARY_DIR}/geary-attach.contract DESTINATION ${CMAKE_INSTALL_PREFIX}/share/contractor) - endmacro (INTLTOOL_MERGE_CONTRACT desktop_id po_dir) -endif (INTLTOOL_MERGE_FOUND) - diff --git a/cmake/Gettext.cmake b/cmake/FindXGettext.cmake similarity index 57% rename from cmake/Gettext.cmake rename to cmake/FindXGettext.cmake index 3247b3b5..c6437f85 100644 --- a/cmake/Gettext.cmake +++ b/cmake/FindXGettext.cmake @@ -21,6 +21,7 @@ # GETTEXT_FOUND: True if gettext has been found. # XGETTEXT_EXECUTABLE: the full path to the xgettext. # XGETTEXT_FOUND: True if xgettext has been found. +# XGETTEXT_VERSION: The xgettext version. # #=================================================================== # Macros: @@ -55,66 +56,81 @@ SET(XGETTEXT_OPTIONS_DEFAULT --language=C --keyword=_ --keyword=N_ --keyword=C_:1c,2 --keyword=NC_:1c,2 -s --escape --add-comments="/" --package-name=${PROJECT_NAME} --package-version=${VERSION}) +# Check for gettext IF (GETTEXT_MSGMERGE_EXECUTABLE AND GETTEXT_MSGFMT_EXECUTABLE AND GETTEXT_MSGCAT_EXECUTABLE) SET(GETTEXT_FOUND TRUE) ELSE (GETTEXT_MSGMERGE_EXECUTABLE AND GETTEXT_MSGFMT_EXECUTABLE) SET(GETTEXT_FOUND FALSE) IF (GetText_REQUIRED) - MESSAGE(FATAL_ERROR "GetText not found") + MESSAGE(FATAL_ERROR "GetText not found") ENDIF (GetText_REQUIRED) ENDIF (GETTEXT_MSGMERGE_EXECUTABLE AND GETTEXT_MSGFMT_EXECUTABLE AND GETTEXT_MSGCAT_EXECUTABLE) +# Check xgettext and the version IF(XGETTEXT_EXECUTABLE) SET(XGETTEXT_FOUND TRUE) + + # Liberally taken from + # https://github.com/boghison/mixcloudscope/blob/master/cmake/FindXGettext.cmake + execute_process(COMMAND ${XGETTEXT_EXECUTABLE} --version + OUTPUT_VARIABLE _xgettext_version + ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE) + if (_xgettext_version MATCHES "^xgettext \\(.*\\) [0-9]") + string( + REGEX REPLACE "^xgettext \\([^\\)]*\\) ([0-9\\.]+[^ \n]*).*" "\\1" + XGETTEXT_VERSION "${_xgettext_version}" + ) + endif() + unset(_xgettext_version) ELSE(XGETTEXT_EXECUTABLE) MESSAGE(STATUS "xgettext not found.") SET(XGETTTEXT_FOUND FALSE) ENDIF(XGETTEXT_EXECUTABLE) +# Set the default options if not specified IF(NOT DEFINED XGETTEXT_OPTIONS) SET(XGETTEXT_OPTIONS ${XGETTEXT_OPTIONS_DEFAULT}) ENDIF(NOT DEFINED XGETTEXT_OPTIONS) +# Add translations target IF(XGETTEXT_FOUND) MACRO(GETTEXT_CREATE_TRANSLATIONS _firstLang) - SET(_gmoFiles) - SET(_addToAll) - SET(_is_comment FALSE) + SET(_gmoFiles) + SET(_addToAll) + SET(_is_comment FALSE) - FOREACH (_currentLang ${_firstLang} ${ARGN}) - IF(_currentLang STREQUAL "ALL") - SET(_addToAll "ALL") - ELSEIF(_currentLang STREQUAL "COMMENT") - SET(_is_comment TRUE) - ELSEIF(_is_comment) - SET(_is_comment FALSE) - SET(_comment ${_currentLang}) - ELSE() - SET(_lang ${_currentLang}) - GET_FILENAME_COMPONENT(_absFile ${_currentLang}.po ABSOLUTE) - GET_FILENAME_COMPONENT(_abs_PATH ${_absFile} PATH) - SET(_gmoFile ${CMAKE_CURRENT_BINARY_DIR}/${_lang}.mo) + FOREACH (_currentLang ${_firstLang} ${ARGN}) + IF(_currentLang STREQUAL "ALL") + SET(_addToAll "ALL") + ELSEIF(_currentLang STREQUAL "COMMENT") + SET(_is_comment TRUE) + ELSEIF(_is_comment) + SET(_is_comment FALSE) + SET(_comment ${_currentLang}) + ELSE() + SET(_lang ${_currentLang}) + GET_FILENAME_COMPONENT(_absFile ${_currentLang}.po ABSOLUTE) + GET_FILENAME_COMPONENT(_abs_PATH ${_absFile} PATH) + SET(_gmoFile ${CMAKE_CURRENT_BINARY_DIR}/${_lang}.mo) - #MESSAGE("_absFile=${_absFile} _abs_PATH=${_abs_PATH} _lang=${_lang} curr_bin=${CMAKE_CURRENT_BINARY_DIR}") - ADD_CUSTOM_COMMAND( - OUTPUT ${_gmoFile} - COMMAND ${GETTEXT_MSGFMT_EXECUTABLE} -o ${_gmoFile} ${_absFile} - DEPENDS ${_absFile} - WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} - ) + #MESSAGE("_absFile=${_absFile} _abs_PATH=${_abs_PATH} _lang=${_lang} curr_bin=${CMAKE_CURRENT_BINARY_DIR}") + ADD_CUSTOM_COMMAND( + OUTPUT ${_gmoFile} + COMMAND ${GETTEXT_MSGFMT_EXECUTABLE} -o ${_gmoFile} ${_absFile} + DEPENDS ${_absFile} + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} + ) INSTALL(FILES ${_gmoFile} DESTINATION share/locale/${_lang}/LC_MESSAGES RENAME ${GETTEXT_PACKAGE}.mo) - SET(_gmoFiles ${_gmoFiles} ${_gmoFile}) - ENDIF() - ENDFOREACH (_currentLang ) + SET(_gmoFiles ${_gmoFiles} ${_gmoFile}) + ENDIF() + ENDFOREACH (_currentLang ) - IF(DEFINED _comment) - ADD_CUSTOM_TARGET(translations ${_addToAll} DEPENDS ${_gmoFiles} COMMENT ${_comment}) - ELSE(DEFINED _comment) - ADD_CUSTOM_TARGET(translations ${_addToAll} DEPENDS ${_gmoFiles}) - ENDIF(DEFINED _comment) + IF(DEFINED _comment) + ADD_CUSTOM_TARGET(translations ${_addToAll} DEPENDS ${_gmoFiles} COMMENT ${_comment}) + ELSE(DEFINED _comment) + ADD_CUSTOM_TARGET(translations ${_addToAll} DEPENDS ${_gmoFiles}) + ENDIF(DEFINED _comment) ENDMACRO(GETTEXT_CREATE_TRANSLATIONS ) ENDIF(XGETTEXT_FOUND) - - diff --git a/debian/control b/debian/control index e68f86a7..61ffd315 100644 --- a/debian/control +++ b/debian/control @@ -18,7 +18,6 @@ Build-Depends: debhelper (>= 8), libsqlite3-dev (>= 3.7.4), libmessaging-menu-dev (>= 12.10.2), libunity-dev (>= 5.12.0), - intltool, libgirepository1.0-dev (>= 1.32.0), desktop-file-utils, gnome-doc-utils, diff --git a/desktop/CMakeLists.txt b/desktop/CMakeLists.txt index 927c9d41..6f0d0b37 100644 --- a/desktop/CMakeLists.txt +++ b/desktop/CMakeLists.txt @@ -2,24 +2,34 @@ # Build and install org.gnome.Geary.desktop # -include (FindIntltool) include (FindDesktopFileValidate) -if (INTLTOOL_MERGE_FOUND) - INTLTOOL_MERGE_APPDATA (org.gnome.Geary.appdata.xml po) - INTLTOOL_MERGE_DESKTOP (org.gnome.Geary.desktop po) - INTLTOOL_MERGE_AUTOSTART_DESKTOP (geary-autostart.desktop po) - if (DESKTOP_VALIDATE) - if (DESKTOP_FILE_VALIDATE_FOUND) - VALIDATE_DESKTOP_FILE (org.gnome.Geary.desktop) - VALIDATE_DESKTOP_FILE (geary-autostart.desktop) - else (DESKTOP_FILE_VALIDATE_FOUND) - message (FATAL_ERROR "desktop-file-validate must be installed to validate generated .desktop file") - endif (DESKTOP_FILE_VALIDATE_FOUND) - endif (DESKTOP_VALIDATE) -else (INTLTOOL_MERGE_FOUND) - message (FATAL_ERROR "intltool must be installed to generate .desktop file") -endif (INTLTOOL_MERGE_FOUND) +add_custom_target (org.gnome.Geary.appdata.xml ALL + ${GETTEXT_MSGFMT_EXECUTABLE} --xml -d '${CMAKE_SOURCE_DIR}/po' + --template '${CMAKE_CURRENT_SOURCE_DIR}/org.gnome.Geary.appdata.xml.in' -o org.gnome.Geary.appdata.xml +) +add_custom_target (org.gnome.Geary.desktop ALL + ${GETTEXT_MSGFMT_EXECUTABLE} --desktop -d '${CMAKE_SOURCE_DIR}/po' + --template '${CMAKE_CURRENT_SOURCE_DIR}/org.gnome.Geary.desktop.in' -o org.gnome.Geary.desktop +) +add_custom_target (geary-autostart.desktop ALL + ${GETTEXT_MSGFMT_EXECUTABLE} --desktop -d '${CMAKE_SOURCE_DIR}/po' + --template '${CMAKE_CURRENT_SOURCE_DIR}/geary-autostart.desktop.in' -o geary-autostart.desktop +) + +if (DESKTOP_VALIDATE) + if (DESKTOP_FILE_VALIDATE_FOUND) + VALIDATE_DESKTOP_FILE (org.gnome.Geary.desktop) + VALIDATE_DESKTOP_FILE (geary-autostart.desktop) + else (DESKTOP_FILE_VALIDATE_FOUND) + message (FATAL_ERROR "desktop-file-validate must be installed to validate generated .desktop file") + endif (DESKTOP_FILE_VALIDATE_FOUND) +endif (DESKTOP_VALIDATE) + +install (FILES ${CMAKE_CURRENT_BINARY_DIR}/org.gnome.Geary.appdata.xml DESTINATION ${CMAKE_INSTALL_PREFIX}/share/metainfo) +install (FILES ${CMAKE_CURRENT_BINARY_DIR}/org.gnome.Geary.desktop DESTINATION ${CMAKE_INSTALL_PREFIX}/share/applications) +install (FILES ${CMAKE_CURRENT_BINARY_DIR}/geary-autostart.desktop DESTINATION ${CMAKE_INSTALL_PREFIX}/share/applications) +install (FILES ${CMAKE_CURRENT_BINARY_DIR}/geary-attach.contract DESTINATION ${CMAKE_INSTALL_PREFIX}/share/contractor) # Optional: run update-desktop-database at install time. # (This has to happen after the org.gnome.Geary.desktop file is installed.) @@ -48,8 +58,11 @@ if (DISABLE_CONTRACT) message (STATUS "Install Contractor contract: OFF") else (DISABLE_CONTRACT) message (STATUS "Install Contractor contract: ON") - if (INTLTOOL_MERGE_FOUND) - INTLTOOL_MERGE_CONTRACT (geary-attach.contract po) + if (GETTEXT_FOUND) + add_custom_target (geary-attach.contract ALL + ${GETTEXT_MSGFMT_EXECUTABLE} --desktop -d '${CMAKE_SOURCE_DIR}/po' + --template '${CMAKE_CURRENT_SOURCE_DIR}/geary-attach.contract.in' -o geary-attach.contract + ) # Can't validate Contractor file since it isn't a valid Desktop # file according to desktop-file-validate from desktop-file-utils 0.22: @@ -63,6 +76,6 @@ else (DISABLE_CONTRACT) # VALIDATE_DESKTOP_FILE (geary-attach.contract) # endif (DESKTOP_FILE_VALIDATE_FOUND) # endif (DESKTOP_VALIDATE) - endif (INTLTOOL_MERGE_FOUND) + endif (GETTEXT_FOUND) install (PROGRAMS geary-attach DESTINATION bin) endif (DISABLE_CONTRACT) diff --git a/desktop/geary-attach.contract.in b/desktop/geary-attach.contract.in index 1ebd4f46..298c6e0a 100644 --- a/desktop/geary-attach.contract.in +++ b/desktop/geary-attach.contract.in @@ -1,6 +1,6 @@ [Contractor Entry] -_Name=Send by email +Name=Send by email Icon=mail-send -_Description=Send files using Geary +Description=Send files using Geary MimeType=!inode; Exec=geary-attach %F diff --git a/desktop/geary-autostart.desktop.in b/desktop/geary-autostart.desktop.in index c6d5a6d1..c0b6dd2f 100644 --- a/desktop/geary-autostart.desktop.in +++ b/desktop/geary-autostart.desktop.in @@ -1,9 +1,9 @@ [Desktop Entry] -_Name=Geary -_GenericName=Email -_X-GNOME-FullName=Geary Mail -_Comment=Send and receive email -_Keywords=Email;E-mail;Mail; +Name=Geary +GenericName=Email +X-GNOME-FullName=Geary Mail +Comment=Send and receive email +Keywords=Email;E-mail;Mail; Icon=geary TryExec=geary Exec=geary --hidden diff --git a/desktop/org.gnome.Geary.appdata.xml.in b/desktop/org.gnome.Geary.appdata.xml.in index 02f1109d..3012cfb7 100644 --- a/desktop/org.gnome.Geary.appdata.xml.in +++ b/desktop/org.gnome.Geary.appdata.xml.in @@ -8,29 +8,29 @@ geary-list@gnome.org - <_name>Geary + Geary - <_developer_name>Geary Development Team + Geary Development Team - <_summary>Send and receive email + Send and receive email - <_p> +

Geary is an email application built around conversations, for the GNOME 3 desktop. It allows you to read, find and send email with a straightforward, modern interface. - - <_p> +

+

Conversations allow you to read a complete discussion without having to find and click from message to message. - - <_p>Geary’s features include: +

+

Geary’s features include:

    - <_li>Quick email account setup - <_li>Shows related messages together in conversations - <_li>Fast, full text and keyword search - <_li>Full-featured HTML and plain text message composer - <_li>Desktop notification of new mail - <_li>Compatible with GMail, Yahoo! Mail, Outlook.com and other IMAP servers +
  • Quick email account setup
  • +
  • Shows related messages together in conversations
  • +
  • Fast, full text and keyword search
  • +
  • Full-featured HTML and plain text message composer
  • +
  • Desktop notification of new mail
  • +
  • Compatible with GMail, Yahoo! Mail, Outlook.com and other IMAP servers
diff --git a/desktop/org.gnome.Geary.desktop.in b/desktop/org.gnome.Geary.desktop.in index 3935cbfb..62a4772e 100644 --- a/desktop/org.gnome.Geary.desktop.in +++ b/desktop/org.gnome.Geary.desktop.in @@ -1,10 +1,10 @@ [Desktop Entry] -_Name=Geary -_GenericName=Email -_X-GNOME-FullName=Geary Email -_Comment=Send and receive email +Name=Geary +GenericName=Email +X-GNOME-FullName=Geary Email +Comment=Send and receive email # Translators: These are desktop search terms. Do not translate semicolons, end line with a semicolon. -_Keywords=Mail;E-mail;IMAP;GMail;Yahoo;Hotmail;Outlook; +Keywords=Mail;E-mail;IMAP;GMail;Yahoo;Hotmail;Outlook; Icon=geary TryExec=geary Exec=geary %U @@ -16,5 +16,5 @@ StartupNotify=true Actions=Compose; [Desktop Action Compose] -_Name=Compose Message +Name=Compose Message Exec=geary mailto: diff --git a/po/POTFILES.in b/po/POTFILES.in index 271ab79c..cb893d42 100644 --- a/po/POTFILES.in +++ b/po/POTFILES.in @@ -1,8 +1,7 @@ -[encoding: UTF-8] desktop/org.gnome.Geary.appdata.xml.in desktop/org.gnome.Geary.desktop.in desktop/geary-autostart.desktop.in -[type: gettext/ini]desktop/geary-attach.contract.in +desktop/geary-attach.contract.in src/geary-version.vala.in src/client/accounts/account-dialog-account-list-pane.vala src/client/accounts/account-dialog-add-edit-pane.vala @@ -385,31 +384,31 @@ src/engine/util/util-time.vala src/engine/util/util-timeout-manager.vala src/engine/util/util-trillian.vala src/mailer/main.vala -[type: gettext/glade]ui/account_cannot_remove.glade -[type: gettext/glade]ui/account_list.glade -[type: gettext/glade]ui/account_spinner.glade -[type: gettext/glade]ui/certificate_warning_dialog.glade -[type: gettext/glade]ui/composer-headerbar.ui -[type: gettext/glade]ui/composer-link-popover.ui -[type: gettext/glade]ui/composer-menus.ui -[type: gettext/glade]ui/composer-widget.ui -[type: gettext/glade]ui/conversation-email.ui -[type: gettext/glade]ui/conversation-email-attachment-view.ui -[type: gettext/glade]ui/conversation-email-menus.ui -[type: gettext/glade]ui/conversation-message-menus.ui -[type: gettext/glade]ui/conversation-message.ui -[type: gettext/glade]ui/conversation-viewer.ui -[type: gettext/glade]ui/edit_alternate_emails.glade -[type: gettext/glade]ui/empty-placeholder.ui -[type: gettext/glade]ui/find_bar.glade -[type: gettext/glade]ui/folder-popover.ui -[type: gettext/glade]ui/gtk/help-overlay.ui -[type: gettext/glade]ui/gtk/menus.ui -[type: gettext/glade]ui/login.glade -[type: gettext/glade]ui/main-toolbar.ui -[type: gettext/glade]ui/main-toolbar-menus.ui -[type: gettext/glade]ui/main-window.ui -[type: gettext/glade]ui/password-dialog.glade -[type: gettext/glade]ui/preferences-dialog.ui -[type: gettext/glade]ui/remove_confirm.glade -[type: gettext/glade]ui/upgrade_dialog.glade +ui/account_cannot_remove.glade +ui/account_list.glade +ui/account_spinner.glade +ui/certificate_warning_dialog.glade +ui/composer-headerbar.ui +ui/composer-link-popover.ui +ui/composer-menus.ui +ui/composer-widget.ui +ui/conversation-email.ui +ui/conversation-email-attachment-view.ui +ui/conversation-email-menus.ui +ui/conversation-message-menus.ui +ui/conversation-message.ui +ui/conversation-viewer.ui +ui/edit_alternate_emails.glade +ui/empty-placeholder.ui +ui/find_bar.glade +ui/folder-popover.ui +ui/gtk/help-overlay.ui +ui/gtk/menus.ui +ui/login.glade +ui/main-toolbar.ui +ui/main-window.ui +ui/main-toolbar-menus.ui +ui/password-dialog.glade +ui/preferences-dialog.ui +ui/remove_confirm.glade +ui/upgrade_dialog.glade