feat: responsive compact mail view + folder unread badges
- CompactMailDelegate: card-based view for narrow panels (<420px) * Avatar with hash-based color, sender + date (relative format) * Subject line with attachment icon * Action buttons: flag, delete, category, more (context menu) * Unread highlight with light blue background + bold sender - MailListView: automatic switch between tree/table (wide) and list/cards (narrow) * QStackedWidget with QTreeView + QListView sharing same proxy model * resizeEvent threshold at 420px * Signals forwarded to MainMainWindow for actions - FolderTreeDelegate: custom paint for folder tree * Unread count badge (blue pill) right-aligned on folder nodes * Account nodes bold, folder nodes normal weight * Proper indentation per depth level - MailItemDao::countUnreadByFolderId() for real-time unread counts - MainMainWindow handlers for compact actions (flag, delete, category, more menu)
This commit is contained in:
@@ -0,0 +1,12 @@
|
||||
# Generated by Boost 1.90.0
|
||||
|
||||
set(PACKAGE_VERSION 1.90.0)
|
||||
|
||||
if(PACKAGE_VERSION VERSION_LESS PACKAGE_FIND_VERSION)
|
||||
set(PACKAGE_VERSION_COMPATIBLE FALSE)
|
||||
else()
|
||||
set(PACKAGE_VERSION_COMPATIBLE TRUE)
|
||||
if(PACKAGE_FIND_VERSION STREQUAL PACKAGE_VERSION)
|
||||
set(PACKAGE_VERSION_EXACT TRUE)
|
||||
endif()
|
||||
endif()
|
||||
@@ -0,0 +1,115 @@
|
||||
# Generated by Boost 1.90.0
|
||||
|
||||
if(TARGET Boost::date_time)
|
||||
return()
|
||||
endif()
|
||||
|
||||
if(Boost_VERBOSE OR Boost_DEBUG)
|
||||
message(STATUS "Found boost_date_time ${boost_date_time_VERSION} at ${boost_date_time_DIR}")
|
||||
endif()
|
||||
|
||||
mark_as_advanced(boost_date_time_DIR)
|
||||
|
||||
# Compute the include and library directories relative to this file.
|
||||
|
||||
get_filename_component(_BOOST_CMAKEDIR "${CMAKE_CURRENT_LIST_DIR}/../" REALPATH)
|
||||
|
||||
# If the computed and the original directories are symlink-equivalent, use original
|
||||
if(EXISTS "/build/boost1.90-Jxx13U/boost1.90-1.90.0/debian/tmp/usr/lib/x86_64-linux-gnu/cmake")
|
||||
get_filename_component(_BOOST_CMAKEDIR_ORIGINAL "/build/boost1.90-Jxx13U/boost1.90-1.90.0/debian/tmp/usr/lib/x86_64-linux-gnu/cmake" REALPATH)
|
||||
if(_BOOST_CMAKEDIR STREQUAL _BOOST_CMAKEDIR_ORIGINAL)
|
||||
set(_BOOST_CMAKEDIR "/build/boost1.90-Jxx13U/boost1.90-1.90.0/debian/tmp/usr/lib/x86_64-linux-gnu/cmake")
|
||||
endif()
|
||||
unset(_BOOST_CMAKEDIR_ORIGINAL)
|
||||
endif()
|
||||
|
||||
get_filename_component(_BOOST_INCLUDEDIR "${_BOOST_CMAKEDIR}/../../../include/" ABSOLUTE)
|
||||
get_filename_component(_BOOST_LIBDIR "${_BOOST_CMAKEDIR}/../" ABSOLUTE)
|
||||
|
||||
include(${CMAKE_CURRENT_LIST_DIR}/../BoostDetectToolset-1.90.0.cmake)
|
||||
|
||||
if(Boost_DEBUG)
|
||||
message(STATUS "Scanning ${CMAKE_CURRENT_LIST_DIR}/libboost_date_time-variant*.cmake")
|
||||
endif()
|
||||
|
||||
file(GLOB __boost_variants "${CMAKE_CURRENT_LIST_DIR}/libboost_date_time-variant*.cmake")
|
||||
|
||||
macro(_BOOST_SKIPPED fname reason)
|
||||
if(Boost_VERBOSE OR Boost_DEBUG)
|
||||
message(STATUS " [ ] ${fname}")
|
||||
endif()
|
||||
list(APPEND __boost_skipped "${fname} (${reason})")
|
||||
endmacro()
|
||||
|
||||
list(LENGTH __boost_variants _BOOST_SINGLE_VARIANT)
|
||||
if(NOT _BOOST_SINGLE_VARIANT EQUAL 1)
|
||||
set(_BOOST_SINGLE_VARIANT 0)
|
||||
endif()
|
||||
|
||||
foreach(f IN LISTS __boost_variants)
|
||||
if(Boost_DEBUG)
|
||||
message(STATUS " Including ${f}")
|
||||
endif()
|
||||
include(${f})
|
||||
endforeach()
|
||||
|
||||
unset(_BOOST_SINGLE_VARIANT)
|
||||
unset(_BOOST_LIBDIR)
|
||||
unset(_BOOST_INCLUDEDIR)
|
||||
unset(_BOOST_CMAKEDIR)
|
||||
|
||||
if(NOT __boost_variants AND (Boost_VERBOSE OR Boost_DEBUG))
|
||||
message(STATUS " Library has no variants and is considered not found")
|
||||
endif()
|
||||
|
||||
if(NOT TARGET Boost::date_time)
|
||||
set(__boost_message "No suitable build variant has been found.")
|
||||
if(__boost_skipped)
|
||||
set(__boost_message "${__boost_message}\nThe following variants have been tried and rejected:")
|
||||
foreach(s IN LISTS __boost_skipped)
|
||||
set(__boost_message "${__boost_message}\n* ${s}")
|
||||
endforeach()
|
||||
endif()
|
||||
set(boost_date_time_FOUND 0)
|
||||
set(boost_date_time_NOT_FOUND_MESSAGE ${__boost_message})
|
||||
unset(__boost_message)
|
||||
unset(__boost_skipped)
|
||||
unset(__boost_variants)
|
||||
unset(_BOOST_DATE_TIME_DEPS)
|
||||
return()
|
||||
endif()
|
||||
|
||||
unset(__boost_skipped)
|
||||
unset(__boost_variants)
|
||||
|
||||
if(_BOOST_DATE_TIME_DEPS)
|
||||
list(REMOVE_DUPLICATES _BOOST_DATE_TIME_DEPS)
|
||||
if(Boost_VERBOSE OR Boost_DEBUG)
|
||||
message(STATUS "Adding boost_date_time dependencies: ${_BOOST_DATE_TIME_DEPS}")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
foreach(dep_boost_date_time IN LISTS _BOOST_DATE_TIME_DEPS)
|
||||
set(_BOOST_QUIET)
|
||||
if(boost_date_time_FIND_QUIETLY)
|
||||
set(_BOOST_QUIET QUIET)
|
||||
endif()
|
||||
set(_BOOST_REQUIRED)
|
||||
if(boost_date_time_FIND_REQUIRED)
|
||||
set(_BOOST_REQUIRED REQUIRED)
|
||||
endif()
|
||||
get_filename_component(_BOOST_CMAKEDIR "${CMAKE_CURRENT_LIST_DIR}/../" ABSOLUTE)
|
||||
find_package(boost_${dep_boost_date_time} 1.90.0 EXACT CONFIG ${_BOOST_REQUIRED} ${_BOOST_QUIET} HINTS ${_BOOST_CMAKEDIR})
|
||||
set_property(TARGET Boost::date_time APPEND PROPERTY INTERFACE_LINK_LIBRARIES Boost::${dep_boost_date_time})
|
||||
unset(_BOOST_QUIET)
|
||||
unset(_BOOST_REQUIRED)
|
||||
unset(_BOOST_CMAKEDIR)
|
||||
if(NOT boost_${dep_boost_date_time}_FOUND)
|
||||
set(boost_date_time_FOUND 0)
|
||||
set(boost_date_time_NOT_FOUND_MESSAGE "A required dependency, boost_${dep_boost_date_time}, has not been found.")
|
||||
unset(_BOOST_DATE_TIME_DEPS)
|
||||
return()
|
||||
endif()
|
||||
endforeach()
|
||||
|
||||
unset(_BOOST_DATE_TIME_DEPS)
|
||||
+90
@@ -0,0 +1,90 @@
|
||||
# Generated by Boost 1.90.0
|
||||
|
||||
# address-model=64
|
||||
|
||||
if(CMAKE_SIZEOF_VOID_P EQUAL 4)
|
||||
_BOOST_SKIPPED("libboost_date_time.so.1.90.0" "64 bit, need 32")
|
||||
return()
|
||||
endif()
|
||||
|
||||
# layout=system
|
||||
|
||||
# toolset=gcc15
|
||||
|
||||
# link=shared
|
||||
|
||||
if(DEFINED Boost_USE_STATIC_LIBS)
|
||||
if(Boost_USE_STATIC_LIBS)
|
||||
_BOOST_SKIPPED("libboost_date_time.so.1.90.0" "shared, Boost_USE_STATIC_LIBS=${Boost_USE_STATIC_LIBS}")
|
||||
return()
|
||||
endif()
|
||||
else()
|
||||
if(WIN32 AND NOT _BOOST_SINGLE_VARIANT)
|
||||
_BOOST_SKIPPED("libboost_date_time.so.1.90.0" "shared, default on Windows is static, set Boost_USE_STATIC_LIBS=OFF to override")
|
||||
return()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# runtime-link=shared
|
||||
|
||||
if(Boost_USE_STATIC_RUNTIME)
|
||||
_BOOST_SKIPPED("libboost_date_time.so.1.90.0" "shared runtime, Boost_USE_STATIC_RUNTIME=${Boost_USE_STATIC_RUNTIME}")
|
||||
return()
|
||||
endif()
|
||||
|
||||
# runtime-debugging=off
|
||||
|
||||
if(Boost_USE_DEBUG_RUNTIME)
|
||||
_BOOST_SKIPPED("libboost_date_time.so.1.90.0" "release runtime, Boost_USE_DEBUG_RUNTIME=${Boost_USE_DEBUG_RUNTIME}")
|
||||
return()
|
||||
endif()
|
||||
|
||||
# threading=multi
|
||||
|
||||
# variant=release
|
||||
|
||||
if(NOT "${Boost_USE_RELEASE_LIBS}" STREQUAL "" AND NOT Boost_USE_RELEASE_LIBS)
|
||||
_BOOST_SKIPPED("libboost_date_time.so.1.90.0" "release, Boost_USE_RELEASE_LIBS=${Boost_USE_RELEASE_LIBS}")
|
||||
return()
|
||||
endif()
|
||||
|
||||
if(Boost_VERBOSE OR Boost_DEBUG)
|
||||
message(STATUS " [x] libboost_date_time.so.1.90.0")
|
||||
endif()
|
||||
|
||||
# Create imported target Boost::date_time
|
||||
|
||||
if(NOT TARGET Boost::date_time)
|
||||
add_library(Boost::date_time SHARED IMPORTED)
|
||||
|
||||
set_target_properties(Boost::date_time PROPERTIES
|
||||
INTERFACE_INCLUDE_DIRECTORIES "${_BOOST_INCLUDEDIR}"
|
||||
INTERFACE_COMPILE_DEFINITIONS "BOOST_DATE_TIME_NO_LIB"
|
||||
)
|
||||
endif()
|
||||
|
||||
# Target file name: libboost_date_time.so.1.90.0
|
||||
|
||||
get_target_property(__boost_imploc Boost::date_time IMPORTED_LOCATION_RELEASE)
|
||||
if(__boost_imploc)
|
||||
message(SEND_ERROR "Target Boost::date_time already has an imported location '${__boost_imploc}', which is being overwritten with '${_BOOST_LIBDIR}/libboost_date_time.so.1.90.0'")
|
||||
endif()
|
||||
unset(__boost_imploc)
|
||||
|
||||
set_property(TARGET Boost::date_time APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE)
|
||||
|
||||
set_target_properties(Boost::date_time PROPERTIES
|
||||
IMPORTED_LINK_INTERFACE_LANGUAGES_RELEASE CXX
|
||||
IMPORTED_LOCATION_RELEASE "${_BOOST_LIBDIR}/libboost_date_time.so.1.90.0"
|
||||
)
|
||||
|
||||
set_target_properties(Boost::date_time PROPERTIES
|
||||
MAP_IMPORTED_CONFIG_MINSIZEREL Release
|
||||
MAP_IMPORTED_CONFIG_RELWITHDEBINFO Release
|
||||
)
|
||||
|
||||
set_property(TARGET Boost::date_time APPEND
|
||||
PROPERTY INTERFACE_COMPILE_DEFINITIONS "BOOST_DATE_TIME_DYN_LINK"
|
||||
)
|
||||
|
||||
list(APPEND _BOOST_DATE_TIME_DEPS headers)
|
||||
+86
@@ -0,0 +1,86 @@
|
||||
# Generated by Boost 1.90.0
|
||||
|
||||
# address-model=64
|
||||
|
||||
if(CMAKE_SIZEOF_VOID_P EQUAL 4)
|
||||
_BOOST_SKIPPED("libboost_date_time.a" "64 bit, need 32")
|
||||
return()
|
||||
endif()
|
||||
|
||||
# layout=system
|
||||
|
||||
# toolset=gcc15
|
||||
|
||||
# link=static
|
||||
|
||||
if(DEFINED Boost_USE_STATIC_LIBS)
|
||||
if(NOT Boost_USE_STATIC_LIBS)
|
||||
_BOOST_SKIPPED("libboost_date_time.a" "static, Boost_USE_STATIC_LIBS=${Boost_USE_STATIC_LIBS}")
|
||||
return()
|
||||
endif()
|
||||
else()
|
||||
if(NOT WIN32 AND NOT _BOOST_SINGLE_VARIANT)
|
||||
_BOOST_SKIPPED("libboost_date_time.a" "static, default is shared, set Boost_USE_STATIC_LIBS=ON to override")
|
||||
return()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# runtime-link=shared
|
||||
|
||||
if(Boost_USE_STATIC_RUNTIME)
|
||||
_BOOST_SKIPPED("libboost_date_time.a" "shared runtime, Boost_USE_STATIC_RUNTIME=${Boost_USE_STATIC_RUNTIME}")
|
||||
return()
|
||||
endif()
|
||||
|
||||
# runtime-debugging=off
|
||||
|
||||
if(Boost_USE_DEBUG_RUNTIME)
|
||||
_BOOST_SKIPPED("libboost_date_time.a" "release runtime, Boost_USE_DEBUG_RUNTIME=${Boost_USE_DEBUG_RUNTIME}")
|
||||
return()
|
||||
endif()
|
||||
|
||||
# threading=multi
|
||||
|
||||
# variant=release
|
||||
|
||||
if(NOT "${Boost_USE_RELEASE_LIBS}" STREQUAL "" AND NOT Boost_USE_RELEASE_LIBS)
|
||||
_BOOST_SKIPPED("libboost_date_time.a" "release, Boost_USE_RELEASE_LIBS=${Boost_USE_RELEASE_LIBS}")
|
||||
return()
|
||||
endif()
|
||||
|
||||
if(Boost_VERBOSE OR Boost_DEBUG)
|
||||
message(STATUS " [x] libboost_date_time.a")
|
||||
endif()
|
||||
|
||||
# Create imported target Boost::date_time
|
||||
|
||||
if(NOT TARGET Boost::date_time)
|
||||
add_library(Boost::date_time STATIC IMPORTED)
|
||||
|
||||
set_target_properties(Boost::date_time PROPERTIES
|
||||
INTERFACE_INCLUDE_DIRECTORIES "${_BOOST_INCLUDEDIR}"
|
||||
INTERFACE_COMPILE_DEFINITIONS "BOOST_DATE_TIME_NO_LIB"
|
||||
)
|
||||
endif()
|
||||
|
||||
# Target file name: libboost_date_time.a
|
||||
|
||||
get_target_property(__boost_imploc Boost::date_time IMPORTED_LOCATION_RELEASE)
|
||||
if(__boost_imploc)
|
||||
message(SEND_ERROR "Target Boost::date_time already has an imported location '${__boost_imploc}', which is being overwritten with '${_BOOST_LIBDIR}/libboost_date_time.a'")
|
||||
endif()
|
||||
unset(__boost_imploc)
|
||||
|
||||
set_property(TARGET Boost::date_time APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE)
|
||||
|
||||
set_target_properties(Boost::date_time PROPERTIES
|
||||
IMPORTED_LINK_INTERFACE_LANGUAGES_RELEASE CXX
|
||||
IMPORTED_LOCATION_RELEASE "${_BOOST_LIBDIR}/libboost_date_time.a"
|
||||
)
|
||||
|
||||
set_target_properties(Boost::date_time PROPERTIES
|
||||
MAP_IMPORTED_CONFIG_MINSIZEREL Release
|
||||
MAP_IMPORTED_CONFIG_RELWITHDEBINFO Release
|
||||
)
|
||||
|
||||
list(APPEND _BOOST_DATE_TIME_DEPS headers)
|
||||
Reference in New Issue
Block a user