Added button highlighting for flipped image to photo editor.

This commit is contained in:
23rd 2021-02-22 11:14:23 +03:00
parent 1a7d5b7c95
commit 183408cb2d
3 changed files with 18 additions and 2 deletions

View file

@ -57,7 +57,10 @@ PhotoEditor::PhotoEditor(
_modifications,
_undoController,
std::move(data)))
, _controls(base::make_unique_q<PhotoEditorControls>(this, _undoController))
, _controls(base::make_unique_q<PhotoEditorControls>(
this,
_undoController,
_modifications))
, _colorPicker(std::make_unique<ColorPicker>(
this,
Deserialize(Core::App().settings().photoEditorBrush()))) {

View file

@ -135,6 +135,7 @@ void HorizontalContainer::updateChildrenPosition() {
PhotoEditorControls::PhotoEditorControls(
not_null<Ui::RpWidget*> parent,
std::shared_ptr<UndoController> undoController,
const PhotoModifications modifications,
bool doneControls)
: RpWidget(parent)
, _bg(st::mediaviewSaveMsgBg)
@ -173,7 +174,8 @@ PhotoEditorControls::PhotoEditorControls(
false,
_bg,
st::lightButtonFg,
st::photoEditorRotateButton.ripple)) {
st::photoEditorRotateButton.ripple))
, _flipped(modifications.flipped) {
_transformButtons->updateChildrenPosition();
_paintButtons->updateChildrenPosition();
@ -241,6 +243,14 @@ PhotoEditorControls::PhotoEditorControls(
: &st::photoEditorRedoButtonInactive);
}, lifetime());
_flipButton->clicks(
) | rpl::start_with_next([=] {
_flipped = !_flipped;
_flipButton->setIconOverride(_flipped
? &st::photoEditorFlipButton.iconOver
: nullptr);
}, _flipButton->lifetime());
}
rpl::producer<int> PhotoEditorControls::rotateRequests() const {

View file

@ -26,6 +26,7 @@ public:
PhotoEditorControls(
not_null<Ui::RpWidget*> parent,
std::shared_ptr<UndoController> undoController,
const PhotoModifications modifications,
bool doneControls = true);
[[nodiscard]] rpl::producer<int> rotateRequests() const;
@ -53,6 +54,8 @@ private:
const base::unique_qptr<EdgeButton> _cancel;
const base::unique_qptr<EdgeButton> _done;
bool _flipped;
rpl::variable<PhotoEditorMode> _mode;
};