feat: complete settings view + signatures + signatures DAO + icons

- SettingsView: complete UI with tabs for Accounts, Categories, Rules, Templates, Signatures, General, Appearance
- Categories: QTreeWidget with hierarchical view, color picker, parent categories
- Rules: QListWidget with RuleEditorDialog integration, toggle enabled
- Templates: QListWidget with TemplateEditorDialog integration
- Signatures: QListWidget with SignatureEditorDialog integration
- SignatureDao: full CRUD with default signature support
- common_structs.h: QColor for Category, all structs centralized
- icons.qrc: updated with Linear/Outline/Bold icons from resources
- Category: QColor instead of QString for color
- EmailTreeModel/DateGroupProxyModel: email grouping by date
- MailListView: QTreeView with date grouping combo
- ReaderView: subject frame with shadow, avatar in header, body inside header
- MainWindow: frameless with rounded corners, 1px border, edge resize, no status bar
- icons.qrc: complete icon set from resources/icons/SVG
This commit is contained in:
2026-08-24 10:29:13 +02:00
parent 2281b01f49
commit fdef311257
12 changed files with 1406 additions and 310 deletions
+49 -15
View File
@@ -1,21 +1,55 @@
<RCC>
<qresource prefix="/icons">
<!-- App icons -->
<file alias="app.svg">resources/icons/app.svg</file>
<file alias="sync.svg">resources/icons/sync.svg</file>
<file alias="settings.svg">resources/icons/settings.svg</file>
<file alias="minimize.svg">resources/icons/minimize.svg</file>
<file alias="maximize.svg">resources/icons/maximize.svg</file>
<file alias="restore.svg">resources/icons/restore.svg</file>
<file alias="close.svg">resources/icons/close.svg</file>
<file>resources/icons/SVG/Outline/Essentional, UI/Trash Bin Minimalistic.svg</file>
<file>resources/icons/SVG/Outline/Messages, Conversation/Paperclip.svg</file>
<file>resources/icons/SVG/Bold Duotone/Messages, Conversation/Plain.svg</file>
<file>resources/icons/SVG/Outline/Files/File Text.svg</file>
<file>resources/icons/SVG/Bold/Text Formatting/Text Bold.svg</file>
<file>resources/icons/SVG/Outline/Text Formatting/Text Italic.svg</file>
<file>resources/icons/SVG/Outline/Text Formatting/Text Underline.svg</file>
<file>resources/icons/SVG/Linear/Arrows Action/Square Top Down.svg</file>
<file>resources/icons/SVG/Linear/Arrows Action/Square Top Up.svg</file>
<file>resources/icons/SVG/Linear/Essentional, UI/Close Square.svg</file>
<!-- Window controls -->
<file alias="minimize.svg">resources/icons/SVG/Linear/Arrows Action/Minimize Square Minimalistic.svg</file>
<file alias="maximize.svg">resources/icons/SVG/Linear/Arrows Action/Maximize Square Minimalistic.svg</file>
<file alias="restore.svg">resources/icons/SVG/Linear/Arrows Action/Maximize Square 2.svg</file>
<file alias="close.svg">resources/icons/SVG/Linear/Essentional, UI/Close Square.svg</file>
<!-- Mail actions -->
<file alias="attachment.svg">resources/icons/SVG/Outline/Messages, Conversation/Paperclip.svg</file>
<file alias="send.svg">resources/icons/SVG/Bold Duotone/Messages, Conversation/Plain.svg</file>
<file alias="reply.svg">resources/icons/SVG/Linear/Arrows Action/Reply.svg</file>
<file alias="forward.svg">resources/icons/SVG/Linear/Arrows Action/Forward.svg</file>
<file alias="trash.svg">resources/icons/SVG/Linear/Essentional, UI/Trash Bin Minimalistic.svg</file>
<file alias="filter.svg">resources/icons/SVG/Linear/Design, Tools/Filters.svg</file>
<file alias="play.svg">resources/icons/SVG/Linear/Time/Stopwatch Play.svg</file>
<file alias="file-text.svg">resources/icons/SVG/Linear/Files/File Text.svg</file>
<!-- UI elements -->
<file alias="dropdown.png">resources/icons/SVG/Linear/Arrows Action/Square Top Down.svg</file>
<file alias="detach.svg">resources/icons/SVG/Linear/Arrows Action/Square Top Down.svg</file>
<file alias="import.svg">resources/icons/SVG/Linear/Arrows Action/Import.svg</file>
<file alias="export.svg">resources/icons/SVG/Linear/Arrows Action/Export.svg</file>
<!-- Bold text formatting -->
<file alias="bold.svg">resources/icons/SVG/Bold/Text Formatting/Text Bold.svg</file>
<file alias="italic.svg">resources/icons/SVG/Outline/Text Formatting/Text Italic.svg</file>
<file alias="underline.svg">resources/icons/SVG/Outline/Text Formatting/Text Underline.svg</file>
<!-- User/Contact -->
<file alias="user.svg">resources/icons/SVG/Linear/Users/User.svg</file>
<!-- Calendar -->
<file alias="calendar.svg">resources/icons/SVG/Linear/Time/Calendar.svg</file>
<file alias="calendar-add.svg">resources/icons/SVG/Linear/Time/Calendar Add.svg</file>
<!-- Sync/Refresh - using existing icons -->
<file alias="refresh.svg">resources/icons/SVG/Linear/Arrows Action/Square Top Down.svg</file>
<file alias="sync_all.svg">resources/icons/SVG/Linear/Arrows Action/Square Top Up.svg</file>
<!-- Menu dots -->
<file alias="dots.svg">resources/icons/SVG/Linear/Essentional, UI/Menu Dots.svg</file>
<!-- Design tools -->
<file alias="palette.svg">resources/icons/SVG/Linear/Design, Tools/Palette.svg</file>
<!-- Calendar -->
<file alias="calendar-add.svg">resources/icons/SVG/Linear/Time/Calendar Add.svg</file>
</qresource>
</RCC>
</RCC>