mirror of
https://github.com/telegramdesktop/tdesktop
synced 2025-02-21 15:47:38 +00:00
Added shortcuts to flip photos in media viewer.
This commit is contained in:
parent
0248be5543
commit
33aa904cb7
@ -1200,6 +1200,9 @@ void OverlayWidget::setStaticContent(QImage image) {
|
||||
image = std::move(image).convertToFormat(kGood);
|
||||
}
|
||||
image.setDevicePixelRatio(style::DevicePixelRatio());
|
||||
if (_flip) {
|
||||
image = image.mirrored(_flip & Qt::Horizontal, _flip & Qt::Vertical);
|
||||
}
|
||||
_staticContent = std::move(image);
|
||||
_staticContentTransparent = IsSemitransparent(_staticContent);
|
||||
}
|
||||
@ -2286,6 +2289,7 @@ OverlayWidget::~OverlayWidget() {
|
||||
|
||||
void OverlayWidget::assignMediaPointer(DocumentData *document) {
|
||||
_savePhotoVideoWhenLoaded = SavePhotoVideo::None;
|
||||
_flip = {};
|
||||
_photo = nullptr;
|
||||
_photoMedia = nullptr;
|
||||
if (_document != document) {
|
||||
@ -2314,6 +2318,7 @@ void OverlayWidget::assignMediaPointer(not_null<PhotoData*> photo) {
|
||||
_documentMedia = nullptr;
|
||||
_documentLoadingTo = QString();
|
||||
if (_photo != photo) {
|
||||
_flip = {};
|
||||
_photo = photo;
|
||||
_photoMedia = _photo->createMediaView();
|
||||
_photoMedia->wanted(Data::PhotoSize::Small, fileOrigin());
|
||||
@ -5461,6 +5466,26 @@ void OverlayWidget::handleKeyPress(not_null<QKeyEvent*> e) {
|
||||
activateControls();
|
||||
}
|
||||
moveToNext(-1);
|
||||
} else if (key == Qt::Key_H) {
|
||||
if (_flip & Qt::Horizontal) {
|
||||
_flip &= ~Qt::Horizontal;
|
||||
} else {
|
||||
_flip |= Qt::Horizontal;
|
||||
}
|
||||
if (_photo) {
|
||||
validatePhotoCurrentImage();
|
||||
redisplayContent();
|
||||
}
|
||||
} else if (key == Qt::Key_V) {
|
||||
if (_flip & Qt::Vertical) {
|
||||
_flip &= ~Qt::Vertical;
|
||||
} else {
|
||||
_flip |= Qt::Vertical;
|
||||
}
|
||||
if (_photo) {
|
||||
validatePhotoCurrentImage();
|
||||
redisplayContent();
|
||||
}
|
||||
} else if (key == Qt::Key_Right) {
|
||||
if (_controlsHideTimer.isActive()) {
|
||||
activateControls();
|
||||
|
@ -638,6 +638,8 @@ private:
|
||||
bool _streamedQualityChangeFinished = false;
|
||||
bool _showAsPip = false;
|
||||
|
||||
Qt::Orientations _flip;
|
||||
|
||||
std::unique_ptr<Stories::View> _stories;
|
||||
std::shared_ptr<Show> _cachedShow;
|
||||
rpl::event_stream<> _storiesChanged;
|
||||
|
Loading…
Reference in New Issue
Block a user