mirror of
https://github.com/AyuGram/AyuGramDesktop.git
synced 2025-04-14 13:17:08 +02:00
Removed selection marks from unselectable messages.
This commit is contained in:
parent
059a4cf0d8
commit
ccb41f778e
9 changed files with 24 additions and 12 deletions
|
@ -666,7 +666,8 @@ bool InnerWidget::elementUnderCursor(
|
|||
return (Element::Hovered() == view);
|
||||
}
|
||||
|
||||
HistoryView::SelectionModeResult InnerWidget::elementInSelectionMode() {
|
||||
HistoryView::SelectionModeResult InnerWidget::elementInSelectionMode(
|
||||
const HistoryView::Element *) {
|
||||
return {};
|
||||
}
|
||||
|
||||
|
|
|
@ -94,7 +94,8 @@ public:
|
|||
HistoryView::Context elementContext() override;
|
||||
bool elementUnderCursor(
|
||||
not_null<const HistoryView::Element*> view) override;
|
||||
HistoryView::SelectionModeResult elementInSelectionMode() override;
|
||||
HistoryView::SelectionModeResult elementInSelectionMode(
|
||||
const HistoryView::Element *view) override;
|
||||
bool elementIntersectsRange(
|
||||
not_null<const HistoryView::Element*> view,
|
||||
int from,
|
||||
|
|
|
@ -155,7 +155,11 @@ public:
|
|||
not_null<const Element*> view) override {
|
||||
return (Element::Moused() == view);
|
||||
}
|
||||
HistoryView::SelectionModeResult elementInSelectionMode() override {
|
||||
HistoryView::SelectionModeResult elementInSelectionMode(
|
||||
const Element *view) override {
|
||||
if (view && view->data()->isSponsored()) {
|
||||
return HistoryView::SelectionModeResult();
|
||||
}
|
||||
return _widget
|
||||
? _widget->inSelectionMode()
|
||||
: HistoryView::SelectionModeResult();
|
||||
|
|
|
@ -111,7 +111,8 @@ bool DefaultElementDelegate::elementUnderCursor(
|
|||
return false;
|
||||
}
|
||||
|
||||
SelectionModeResult DefaultElementDelegate::elementInSelectionMode() {
|
||||
SelectionModeResult DefaultElementDelegate::elementInSelectionMode(
|
||||
const Element *view) {
|
||||
return {};
|
||||
}
|
||||
|
||||
|
|
|
@ -80,7 +80,8 @@ class ElementDelegate {
|
|||
public:
|
||||
virtual Context elementContext() = 0;
|
||||
virtual bool elementUnderCursor(not_null<const Element*> view) = 0;
|
||||
virtual SelectionModeResult elementInSelectionMode() = 0;
|
||||
virtual SelectionModeResult elementInSelectionMode(
|
||||
const Element *view) = 0;
|
||||
virtual bool elementIntersectsRange(
|
||||
not_null<const Element*> view,
|
||||
int from,
|
||||
|
@ -136,7 +137,7 @@ public:
|
|||
class DefaultElementDelegate : public ElementDelegate {
|
||||
public:
|
||||
bool elementUnderCursor(not_null<const Element*> view) override;
|
||||
SelectionModeResult elementInSelectionMode() override;
|
||||
SelectionModeResult elementInSelectionMode(const Element *view) override;
|
||||
bool elementIntersectsRange(
|
||||
not_null<const Element*> view,
|
||||
int from,
|
||||
|
|
|
@ -1782,7 +1782,11 @@ bool ListWidget::elementUnderCursor(
|
|||
return (_overElement == view);
|
||||
}
|
||||
|
||||
SelectionModeResult ListWidget::elementInSelectionMode() {
|
||||
SelectionModeResult ListWidget::elementInSelectionMode(
|
||||
const HistoryView::Element *view) {
|
||||
if (view && !_delegate->listIsItemGoodForSelection(view->data())) {
|
||||
return {};
|
||||
}
|
||||
return inSelectionMode();
|
||||
}
|
||||
|
||||
|
|
|
@ -391,7 +391,7 @@ public:
|
|||
// ElementDelegate interface.
|
||||
Context elementContext() override;
|
||||
bool elementUnderCursor(not_null<const Element*> view) override;
|
||||
SelectionModeResult elementInSelectionMode() override;
|
||||
SelectionModeResult elementInSelectionMode(const Element *view) override;
|
||||
bool elementIntersectsRange(
|
||||
not_null<const Element*> view,
|
||||
int from,
|
||||
|
|
|
@ -1100,7 +1100,7 @@ void Message::draw(Painter &p, const PaintContext &context) const {
|
|||
if (hasGesture) {
|
||||
p.translate(context.gestureHorizontal.translation, 0);
|
||||
}
|
||||
const auto selectionModeResult = delegate()->elementInSelectionMode();
|
||||
const auto selectionModeResult = delegate()->elementInSelectionMode(this);
|
||||
const auto selectionTranslation = (selectionModeResult.progress > 0)
|
||||
? (selectionModeResult.progress
|
||||
* AdditionalSpaceForSelectionCheckbox(this, g))
|
||||
|
@ -3868,7 +3868,7 @@ bool Message::displayFastReply() const {
|
|||
return hasFastReply()
|
||||
&& data()->isRegular()
|
||||
&& canSendAnything()
|
||||
&& !delegate()->elementInSelectionMode().inSelectionMode;
|
||||
&& !delegate()->elementInSelectionMode(this).inSelectionMode;
|
||||
}
|
||||
|
||||
bool Message::displayRightActionComments() const {
|
||||
|
@ -4032,7 +4032,7 @@ void Message::drawRightAction(
|
|||
|
||||
ClickHandlerPtr Message::rightActionLink(
|
||||
std::optional<QPoint> pressPoint) const {
|
||||
if (delegate()->elementInSelectionMode().progress > 0) {
|
||||
if (delegate()->elementInSelectionMode(this).progress > 0) {
|
||||
return nullptr;
|
||||
}
|
||||
ensureRightAction();
|
||||
|
|
|
@ -898,7 +898,7 @@ void RepliesWidget::setupSwipeReply() {
|
|||
}
|
||||
}, [=, show = controller()->uiShow()](int cursorTop) {
|
||||
auto result = HistoryView::SwipeHandlerFinishData();
|
||||
if (_inner->elementInSelectionMode().inSelectionMode) {
|
||||
if (_inner->elementInSelectionMode(nullptr).inSelectionMode) {
|
||||
return result;
|
||||
}
|
||||
const auto view = _inner->lookupItemByY(cursorTop);
|
||||
|
|
Loading…
Add table
Reference in a new issue