mirror of
https://github.com/AyuGram/AyuGramDesktop.git
synced 2025-06-03 21:54:05 +02:00
Added correspond colors for every swipe dialog action.
This commit is contained in:
parent
d7a89ef122
commit
b079c79390
3 changed files with 36 additions and 6 deletions
|
@ -138,4 +138,29 @@ QString ResolveSwipeDialogLabel(Ui::SwipeDialogActionLabel action) {
|
|||
};
|
||||
}
|
||||
|
||||
const style::color &ResolveSwipeActionBg(
|
||||
Ui::SwipeDialogActionLabel action) {
|
||||
switch (action) {
|
||||
case Ui::SwipeDialogActionLabel::Delete:
|
||||
return st::attentionButtonFg;
|
||||
case Ui::SwipeDialogActionLabel::Disabled:
|
||||
return st::windowSubTextFgOver;
|
||||
case Ui::SwipeDialogActionLabel::Mute:
|
||||
case Ui::SwipeDialogActionLabel::Unmute:
|
||||
case Ui::SwipeDialogActionLabel::Pin:
|
||||
case Ui::SwipeDialogActionLabel::Unpin:
|
||||
case Ui::SwipeDialogActionLabel::Read:
|
||||
case Ui::SwipeDialogActionLabel::Unread:
|
||||
case Ui::SwipeDialogActionLabel::Archive:
|
||||
case Ui::SwipeDialogActionLabel::Unarchive:
|
||||
default:
|
||||
return st::windowBgActive;
|
||||
};
|
||||
}
|
||||
|
||||
const style::color &ResolveSwipeActionBgActive(
|
||||
Ui::SwipeDialogActionLabel action) {
|
||||
return st::windowSubTextFgOver;
|
||||
}
|
||||
|
||||
} // namespace Dialogs
|
||||
|
|
|
@ -39,4 +39,9 @@ void PerformSwipeDialogAction(
|
|||
|
||||
[[nodiscard]] QString ResolveSwipeDialogLabel(Ui::SwipeDialogActionLabel);
|
||||
|
||||
[[nodiscard]] const style::color &ResolveSwipeActionBg(
|
||||
Ui::SwipeDialogActionLabel);
|
||||
[[nodiscard]] const style::color &ResolveSwipeActionBgActive(
|
||||
Ui::SwipeDialogActionLabel);
|
||||
|
||||
} // namespace Dialogs
|
||||
|
|
|
@ -879,10 +879,14 @@ void PaintRow(
|
|||
swipeTranslation,
|
||||
geometry.height());
|
||||
p.setClipRegion(swipeActionRect);
|
||||
p.fillRect(swipeActionRect, st::attentionButtonFg);
|
||||
const auto labelType = ResolveSwipeDialogLabel(
|
||||
history,
|
||||
context.swipeContext.action,
|
||||
context.filter);
|
||||
p.fillRect(swipeActionRect, ResolveSwipeActionBg(labelType));
|
||||
if (context.swipeContext.data.reachRatio) {
|
||||
p.setPen(Qt::NoPen);
|
||||
p.setBrush(st::windowBgActive);
|
||||
p.setBrush(ResolveSwipeActionBgActive(labelType));
|
||||
const auto r = swipeTranslation
|
||||
* context.swipeContext.data.reachRatio;
|
||||
const auto offset = st::dialogsSwipeActionSize
|
||||
|
@ -909,10 +913,6 @@ void PaintRow(
|
|||
- iconOffset * 2
|
||||
- st::dialogsSwipeActionSize;
|
||||
const auto availableWidth = geometry.width() - left;
|
||||
const auto labelType = ResolveSwipeDialogLabel(
|
||||
history,
|
||||
context.swipeContext.action,
|
||||
context.filter);
|
||||
p.setFont(SwipeActionFont(labelType, availableWidth));
|
||||
p.drawText(
|
||||
QRect(left, 0, availableWidth, geometry.height()),
|
||||
|
|
Loading…
Add table
Reference in a new issue