From 216b9ec52f3759ecf59211edb57bd69c029f2125 Mon Sep 17 00:00:00 2001
From: John Preston <johnprestonmail@gmail.com>
Date: Sat, 19 Dec 2015 21:09:24 +0300
Subject: [PATCH] overview redesign started (four out of six not working)

---
 Telegram/Resources/style.txt             |    6 -
 Telegram/SourceFiles/art/sprite.png      |  Bin 181869 -> 179013 bytes
 Telegram/SourceFiles/art/sprite_200x.png |  Bin 245738 -> 240472 bytes
 Telegram/SourceFiles/history.cpp         | 2265 ++++++++++------------
 Telegram/SourceFiles/history.h           |  237 ++-
 Telegram/SourceFiles/mainwidget.cpp      |    3 -
 Telegram/SourceFiles/overviewwidget.cpp  |  534 +++--
 Telegram/SourceFiles/overviewwidget.h    |   20 +-
 8 files changed, 1375 insertions(+), 1690 deletions(-)

diff --git a/Telegram/Resources/style.txt b/Telegram/Resources/style.txt
index 49d5bb475..4dddb8965 100644
--- a/Telegram/Resources/style.txt
+++ b/Telegram/Resources/style.txt
@@ -1172,12 +1172,6 @@ mediaHeaderSkip: 5px;
 mediaThumbSize: 48px;
 mediaNameTop: 3px;
 mediaDetailsShift: 3px;
-mediaMusicOutImg: sprite(322px, 345px, 48px, 48px);
-mediaMusicInImg: sprite(322px, 395px, 48px, 48px);
-mediaPlayOutImg: sprite(122px, 341px, 48px, 48px);
-mediaPlayInImg: sprite(172px, 341px, 48px, 48px);
-mediaPauseOutImg: sprite(222px, 341px, 48px, 48px);
-mediaPauseInImg: sprite(272px, 341px, 48px, 48px);
 mediaInFg: msgInDateFg;
 mediaInFgSelected: msgInDateFgSelected;
 mediaOutFg: msgOutDateFg;
diff --git a/Telegram/SourceFiles/art/sprite.png b/Telegram/SourceFiles/art/sprite.png
index 91a9f8ac0e266a5218fd152a4867f8bcb7726a73..fd9350ad111973ba93e3ef68405a8d15af590066 100644
GIT binary patch
delta 54988
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
CNI-%B

delta 57866
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

diff --git a/Telegram/SourceFiles/art/sprite_200x.png b/Telegram/SourceFiles/art/sprite_200x.png
index 53fa4b7928a60df78651aa4a4fa7a109c361c676..7a42854dc69f03d202078d071b4a4b2c8c5a2c32 100644
GIT binary patch
delta 73494
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%0A_f4EA@BwH+eLH$^9=l$V!hg3}&T
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

delta 78801
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
aoG?O1MhqBcHP>?xT$|k7*I!@9iu(_+y97W0

diff --git a/Telegram/SourceFiles/history.cpp b/Telegram/SourceFiles/history.cpp
index d00e5c990..176636931 100644
--- a/Telegram/SourceFiles/history.cpp
+++ b/Telegram/SourceFiles/history.cpp
@@ -3180,7 +3180,7 @@ HistoryPhoto::HistoryPhoto(PeerData *chat, const MTPDphoto &photo, int32 width)
 , _openl(new PhotoLink(_data, chat))
 , _pixw(1)
 , _pixh(1) {
-	w = width;
+	_width = width;
 	init();
 }
 
@@ -3208,9 +3208,9 @@ void HistoryPhoto::initDimensions(const HistoryItem *parent) {
 
 	if (parent->toHistoryMessage()) {
 		bool bubble = parent->hasBubble();
-		w = tw;
+
 		int32 minWidth = qMax(st::minPhotoSize, parent->infoWidth() + 2 * (st::msgDateImgDelta + st::msgDateImgPadding.x()));
-		int32 maxActualWidth = qMax(w, minWidth);
+		int32 maxActualWidth = qMax(tw, minWidth);
 		_maxw = qMax(maxActualWidth, th);
 		_minh = qMax(th, int32(st::minPhotoSize));
 		if (bubble) {
@@ -3222,8 +3222,7 @@ void HistoryPhoto::initDimensions(const HistoryItem *parent) {
 			}
 		}
 	} else {
-		th = w; // square chat photo updates
-		_maxw = _minh = w;
+		_maxw = _minh = _width;
 	}
 }
 
@@ -3258,39 +3257,92 @@ int32 HistoryPhoto::resize(int32 width, const HistoryItem *parent) {
 	if (_pixh < 1) _pixh = 1;
 
 	int32 minWidth = qMax(st::minPhotoSize, parent->infoWidth() + 2 * (st::msgDateImgDelta + st::msgDateImgPadding.x()));
-	w = qMax(_pixw, int16(minWidth));
+	_width = qMax(_pixw, int16(minWidth));
 	_height = qMax(_pixh, int16(st::minPhotoSize));
 	if (bubble) {
+		_width += st::mediaPadding.left() + st::mediaPadding.right();
 		_height += st::mediaPadding.top() + st::mediaPadding.bottom();
-		w += st::mediaPadding.left() + st::mediaPadding.right();
 		if (!_caption.isEmpty()) {
-			int32 captionw = w - st::msgPadding.left() - st::msgPadding.right();
+			int32 captionw = _width - st::msgPadding.left() - st::msgPadding.right();
 			_height += st::mediaCaptionSkip + _caption.countHeight(captionw) + st::msgPadding.bottom();
 		}
 	}
 	return _height;
 }
 
-const QString HistoryPhoto::inDialogsText() const {
-	return _caption.isEmpty() ? lang(lng_in_dlg_photo) : _caption.original(0, 0xFFFF, Text::ExpandLinksNone);
+void HistoryPhoto::draw(Painter &p, const HistoryItem *parent, const QRect &r, bool selected, uint64 ms) const {
+	if (_width < st::msgPadding.left() + st::msgPadding.right() + 1) return;
+	int32 skipx = 0, skipy = 0, width = _width, height = _height;
+	bool bubble = parent->hasBubble();
+	bool out = parent->out(), fromChannel = parent->fromChannel(), outbg = out && !fromChannel;
+
+	int32 captionw = width - st::msgPadding.left() - st::msgPadding.right();
+
+	if (bubble) {
+		skipx = st::mediaPadding.left();
+		skipy = st::mediaPadding.top();
+
+		width -= st::mediaPadding.left() + st::mediaPadding.right();
+		height -= skipy + st::mediaPadding.bottom();
+		if (!_caption.isEmpty()) {
+			height -= st::mediaCaptionSkip + _caption.countHeight(captionw) + st::msgPadding.bottom();
+		}
+	} else {
+		App::roundShadow(p, 0, 0, width, height, selected ? st::msgInShadowSelected : st::msgInShadow, selected ? InSelectedShadowCorners : InShadowCorners);
+	}
+	_data->full->load(false, false);
+
+	bool full = _data->full->loaded();
+	QPixmap pix;
+	if (full) {
+		pix = _data->full->pixSingle(_pixw, _pixh, width, height);
+	} else {
+		pix = _data->thumb->pixBlurredSingle(_pixw, _pixh, width, height);
+	}
+
+	p.drawPixmapLeft(skipx, skipy, _width, pix);
+	if (!full) {
+		uint64 dt = itemAnimations().animate(parent, ms);
+		int32 cnt = int32(st::photoLoaderCnt), period = int32(st::photoLoaderPeriod), t = dt % period, delta = int32(st::photoLoaderDelta);
+
+		int32 x = (width - st::photoLoader.width()) / 2, y = (height - st::photoLoader.height()) / 2;
+		p.fillRect(skipx + x, skipy + y, st::photoLoader.width(), st::photoLoader.height(), st::photoLoaderBg->b);
+		x += (st::photoLoader.width() - cnt * st::photoLoaderPoint.width() - (cnt - 1) * st::photoLoaderSkip) / 2;
+		y += (st::photoLoader.height() - st::photoLoaderPoint.height()) / 2;
+		QColor c(st::white->c);
+		QBrush b(c);
+		for (int32 i = 0; i < cnt; ++i) {
+			t -= delta;
+			while (t < 0) t += period;
+
+			float64 alpha = (t >= st::photoLoaderDuration1 + st::photoLoaderDuration2) ? 0 : ((t > st::photoLoaderDuration1 ? ((st::photoLoaderDuration1 + st::photoLoaderDuration2 - t) / st::photoLoaderDuration2) : (t / st::photoLoaderDuration1)));
+			c.setAlphaF(st::photoLoaderAlphaMin + alpha * (1 - st::photoLoaderAlphaMin));
+			b.setColor(c);
+			p.fillRect(skipx + x + i * (st::photoLoaderPoint.width() + st::photoLoaderSkip), skipy + y, st::photoLoaderPoint.width(), st::photoLoaderPoint.height(), b);
+		}
+	}
+
+	if (selected) {
+		App::roundRect(p, rtlrect(skipx, skipy, width, height, _width), textstyleCurrent()->selectOverlay, SelectedOverlayCorners);
+	}
+
+	// date
+	if (_caption.isEmpty()) {
+		if (parent->getMedia() == this) {
+			int32 fullRight = skipx + width, fullBottom = skipy + height;
+			parent->drawInfo(p, fullRight, fullBottom, 2 * skipx + width, selected, InfoDisplayOverImage);
+		}
+	} else {
+		p.setPen(st::black);
+		_caption.draw(p, st::msgPadding.left(), skipy + height + st::mediaPadding.bottom() + st::mediaCaptionSkip, captionw);
+	}
 }
 
-const QString HistoryPhoto::inHistoryText() const {
-	return qsl("[ ") + lang(lng_in_dlg_photo) + (_caption.isEmpty() ? QString() : (qsl(", ") + _caption.original(0, 0xFFFF, Text::ExpandLinksAll))) + qsl(" ]");
-}
-
-bool HistoryPhoto::hasPoint(int32 x, int32 y, const HistoryItem *parent, int32 width) const {
-	if (width < 0) width = w;
-	return (x >= 0 && y >= 0 && x < width && y < _height);
-}
-
-void HistoryPhoto::getState(TextLinkPtr &lnk, HistoryCursorState &state, int32 x, int32 y, const HistoryItem *parent, int32 width) const {
+void HistoryPhoto::getState(TextLinkPtr &lnk, HistoryCursorState &state, int32 x, int32 y, const HistoryItem *parent) const {
+	if (_width < st::msgPadding.left() + st::msgPadding.right() + 1) return;
+	int32 skipx = 0, skipy = 0, width = _width, height = _height;
 	bool bubble = parent->hasBubble();
 
-	if (width < 0) width = w;
-	if (width < 1) return;
-
-	int skipx = 0, skipy = 0, height = _height;
 	if (bubble) {
 		skipx = st::mediaPadding.left();
 		skipy = st::mediaPadding.top();
@@ -3320,8 +3372,10 @@ void HistoryPhoto::getState(TextLinkPtr &lnk, HistoryCursorState &state, int32 x
 	}
 }
 
-HistoryMedia *HistoryPhoto::clone() const {
-	return new HistoryPhoto(*this);
+void HistoryPhoto::getStateOverview(TextLinkPtr &lnk, int32 x, int32 y, const HistoryItem *parent, int32 width) const {
+	if (x >= 0 && y >= 0 && x < width && y < width) {
+		lnk = _openl;
+	}
 }
 
 void HistoryPhoto::updateFrom(const MTPMessageMedia &media, HistoryItem *parent, bool allowEmitResize) {
@@ -3358,72 +3412,12 @@ void HistoryPhoto::updateFrom(const MTPMessageMedia &media, HistoryItem *parent,
 	}
 }
 
-void HistoryPhoto::draw(Painter &p, const HistoryItem *parent, const QRect &r, bool selected, uint64 ms) const {
-	if (w < st::msgPadding.left() + st::msgPadding.right() + 1) return;
-	int32 width = w, height = _height, skipx = 0, skipy = 0;
-	int32 captionw = width - st::msgPadding.left() - st::msgPadding.right();
+const QString HistoryPhoto::inDialogsText() const {
+	return _caption.isEmpty() ? lang(lng_in_dlg_photo) : _caption.original(0, 0xFFFF, Text::ExpandLinksNone);
+}
 
-	bool bubble = parent->hasBubble();
-	bool fromChannel = parent->fromChannel(), out = parent->out(), outbg = out && !fromChannel;
-
-	if (bubble) {
-		skipx = st::mediaPadding.left();
-		skipy = st::mediaPadding.top();
-
-		width -= st::mediaPadding.left() + st::mediaPadding.right();
-		height -= skipy + st::mediaPadding.bottom();
-		if (!_caption.isEmpty()) {
-			height -= st::mediaCaptionSkip + _caption.countHeight(captionw) + st::msgPadding.bottom();
-		}
-	} else {
-		App::roundShadow(p, 0, 0, width, _height, selected ? st::msgInShadowSelected : st::msgInShadow, selected ? InSelectedShadowCorners : InShadowCorners);
-	}
-	_data->full->load(false, false);
-
-	bool full = _data->full->loaded();
-	QPixmap pix;
-	if (full) {
-		pix = _data->full->pixSingle(_pixw, _pixh, width, height);
-	} else {
-		pix = _data->thumb->pixBlurredSingle(_pixw, _pixh, width, height);
-	}
-
-	p.drawPixmapLeft(skipx, skipy, w, pix);
-	if (!full) {
-		uint64 dt = itemAnimations().animate(parent, ms);
-		int32 cnt = int32(st::photoLoaderCnt), period = int32(st::photoLoaderPeriod), t = dt % period, delta = int32(st::photoLoaderDelta);
-
-		int32 x = (width - st::photoLoader.width()) / 2, y = (height - st::photoLoader.height()) / 2;
-		p.fillRect(skipx + x, skipy + y, st::photoLoader.width(), st::photoLoader.height(), st::photoLoaderBg->b);
-		x += (st::photoLoader.width() - cnt * st::photoLoaderPoint.width() - (cnt - 1) * st::photoLoaderSkip) / 2;
-		y += (st::photoLoader.height() - st::photoLoaderPoint.height()) / 2;
-		QColor c(st::white->c);
-		QBrush b(c);
-		for (int32 i = 0; i < cnt; ++i) {
-			t -= delta;
-			while (t < 0) t += period;
-				
-			float64 alpha = (t >= st::photoLoaderDuration1 + st::photoLoaderDuration2) ? 0 : ((t > st::photoLoaderDuration1 ? ((st::photoLoaderDuration1 + st::photoLoaderDuration2 - t) / st::photoLoaderDuration2) : (t / st::photoLoaderDuration1)));
-			c.setAlphaF(st::photoLoaderAlphaMin + alpha * (1 - st::photoLoaderAlphaMin));
-			b.setColor(c);
-			p.fillRect(skipx + x + i * (st::photoLoaderPoint.width() + st::photoLoaderSkip), skipy + y, st::photoLoaderPoint.width(), st::photoLoaderPoint.height(), b);
-		}
-	}
-
-	if (selected) {
-		App::roundRect(p, rtlrect(skipx, skipy, width, height, w), textstyleCurrent()->selectOverlay, SelectedOverlayCorners);
-	}
-
-	// date
-	if (_caption.isEmpty()) {
-		if (parent->getMedia() == this) {
-			int32 fullRight = skipx + width, fullBottom = skipy + height;
-			parent->drawInfo(p, fullRight, fullBottom, 2 * skipx + width, selected, InfoDisplayOverImage);
-		}
-	} else {
-		p.setPen(st::black);
-		_caption.draw(p, st::msgPadding.left(), skipy + height + st::mediaPadding.bottom() + st::mediaCaptionSkip, captionw);
-	}
+const QString HistoryPhoto::inHistoryText() const {
+	return qsl("[ ") + lang(lng_in_dlg_photo) + (_caption.isEmpty() ? QString() : (qsl(", ") + _caption.original(0, 0xFFFF, Text::ExpandLinksAll))) + qsl(" ]");
 }
 
 ImagePtr HistoryPhoto::replyPreview() {
@@ -3651,10 +3645,10 @@ void HistoryVideo::initDimensions(const HistoryItem *parent) {
 		th = st::msgVideoSize.height();
 	}
 
-	w = _thumbw = qMax(tw, 1);
+	_thumbw = qMax(tw, 1);
 	int32 minWidth = qMax(st::minPhotoSize, parent->infoWidth() + 2 * (st::msgDateImgDelta + st::msgDateImgPadding.x()));
 	minWidth = qMax(minWidth, videoMaxStatusWidth(_data) + 2 * int32(st::msgDateImgDelta + st::msgDateImgPadding.x()));
-	_maxw = qMax(w, minWidth);
+	_maxw = qMax(_thumbw, minWidth);
 	_minh = qMax(th, int32(st::minPhotoSize));
 	if (bubble) {
 		_maxw += st::mediaPadding.left() + st::mediaPadding.right();
@@ -3665,56 +3659,7 @@ void HistoryVideo::initDimensions(const HistoryItem *parent) {
 	}
 }
 
-void HistoryVideo::setStatusSize(int32 newSize) const {
-	HistoryFileMedia::setStatusSize(newSize, _data->size, _data->duration, 0);
-}
-
-void HistoryVideo::updateStatusText(const HistoryItem *parent) const {
-	bool showPause = false;
-	int32 statusSize = 0, realDuration = 0;
-	if (_data->status == FileDownloadFailed || _data->status == FileUploadFailed) {
-		statusSize = FileStatusSizeFailed;
-	} else if (_data->status == FileUploading) {
-		statusSize = _data->uploadOffset;
-	} else if (_data->loader) {
-		statusSize = _data->loader->currentOffset();
-	} else if (!_data->already().isEmpty()) {
-		statusSize = FileStatusSizeLoaded;
-	} else {
-		statusSize = FileStatusSizeReady;
-	}
-	if (statusSize != _statusSize) {
-		setStatusSize(statusSize);
-	}
-}
-
-void HistoryVideo::regItem(HistoryItem *item) {
-	App::regVideoItem(_data, item);
-}
-
-void HistoryVideo::unregItem(HistoryItem *item) {
-	App::unregVideoItem(_data, item);
-}
-
-const QString HistoryVideo::inDialogsText() const {
-	return _caption.isEmpty() ? lang(lng_in_dlg_video) : _caption.original(0, 0xFFFF, Text::ExpandLinksNone);
-}
-
-const QString HistoryVideo::inHistoryText() const {
-	return qsl("[ ") + lang(lng_in_dlg_video) + (_caption.isEmpty() ? QString() : (qsl(", ") + _caption.original(0, 0xFFFF, Text::ExpandLinksAll))) + qsl(" ]");
-}
-
-bool HistoryVideo::hasPoint(int32 x, int32 y, const HistoryItem *parent, int32 width) const {
-	if (width < 0) width = w;
-	return (x >= 0 && y >= 0 && x < width && y < _height);
-}
-
-int32 HistoryVideo::countHeight(const HistoryItem *parent, int32 width) const {
-	if (width < 0) width = w;
-	if (width >= _maxw) {
-		width = _maxw;
-	}
-
+int32 HistoryVideo::resize(int32 width, const HistoryItem *parent) {
 	bool bubble = parent->hasBubble();
 
 	int32 tw = convertScale(_data->thumb->width()), th = convertScale(_data->thumb->height());
@@ -3736,64 +3681,29 @@ int32 HistoryVideo::countHeight(const HistoryItem *parent, int32 width) const {
 		th = qRound((width / float64(tw)) * th);
 		tw = width;
 	}
-	int32 h = qMax(th, int32(st::minPhotoSize));
+
+	int32 minWidth = qMax(st::minPhotoSize, parent->infoWidth() + 2 * (st::msgDateImgDelta + st::msgDateImgPadding.x()));
+	minWidth = qMax(minWidth, videoMaxStatusWidth(_data) + 2 * int32(st::msgDateImgDelta + st::msgDateImgPadding.x()));
+	_width = qMax(_thumbw, minWidth);
+	_height = qMax(th, int32(st::minPhotoSize));
 	if (bubble) {
-		tw += st::mediaPadding.left() + st::mediaPadding.right();
-		h += st::mediaPadding.top() + st::mediaPadding.bottom();
+		_width += st::mediaPadding.left() + st::mediaPadding.right();
+		_height += st::mediaPadding.top() + st::mediaPadding.bottom();
 		if (!_caption.isEmpty()) {
-			h += st::mediaCaptionSkip + _caption.countHeight(tw - st::msgPadding.left() - st::msgPadding.right()) + st::msgPadding.bottom();
+			int32 captionw = _width - st::msgPadding.left() - st::msgPadding.right();
+			_height += st::mediaCaptionSkip + _caption.countHeight(captionw) + st::msgPadding.bottom();
 		}
 	}
-	return h;
-}
-
-void HistoryVideo::getState(TextLinkPtr &lnk, HistoryCursorState &state, int32 x, int32 y, const HistoryItem *parent, int32 width) const {
-	bool bubble = parent->hasBubble();
-
-	if (width < 0) width = w;
-	if (width < 1) return;
-
-	int skipx = 0, skipy = 0, height = _height;
-	if (bubble) {
-		skipx = st::mediaPadding.left();
-		skipy = st::mediaPadding.top();
-		if (!_caption.isEmpty()) {
-			int32 captionw = width - st::msgPadding.left() - st::msgPadding.right();
-			height -= _caption.countHeight(captionw) + st::msgPadding.bottom();
-			if (x >= st::msgPadding.left() && y >= height && x < st::msgPadding.left() + captionw && y < _height) {
-				bool inText = false;
-				_caption.getState(lnk, inText, x - st::msgPadding.left(), y - height, captionw);
-				state = inText ? HistoryInTextCursorState : HistoryDefaultCursorState;
-			}
-			height -= st::mediaCaptionSkip;
-		}
-		width -= st::mediaPadding.left() + st::mediaPadding.right();
-		height -= skipy + st::mediaPadding.bottom();
-	}
-	if (x >= skipx && y >= skipy && x < skipx + width && y < skipy + height) {
-		lnk = _data->already().isEmpty() ? (_data->loader ? _cancell : _savel) : _openl;
-		if (_caption.isEmpty() && parent->getMedia() == this) {
-			int32 fullRight = skipx + width, fullBottom = skipy + height;
-			bool inDate = parent->pointInTime(fullRight, fullBottom, x, y, InfoDisplayOverImage);
-			if (inDate) {
-				state = HistoryInDateCursorState;
-			}
-		}
-		return;
-	}
-}
-
-HistoryMedia *HistoryVideo::clone() const {
-	return new HistoryVideo(*this);
+	return _height;
 }
 
 void HistoryVideo::draw(Painter &p, const HistoryItem *parent, const QRect &r, bool selected, uint64 ms) const {
-	if (w < st::msgPadding.left() + st::msgPadding.right() + 1) return;
-	int32 width = w, height = _height, skipx = 0, skipy = 0;
-	int32 captionw = width - st::msgPadding.left() - st::msgPadding.right();
-
+	if (_width < st::msgPadding.left() + st::msgPadding.right() + 1) return;
+	int32 skipx = 0, skipy = 0, width = _width, height = _height;
 	bool bubble = parent->hasBubble();
-	bool fromChannel = parent->fromChannel(), out = parent->out(), outbg = out && !fromChannel;
+	bool out = parent->out(), fromChannel = parent->fromChannel(), outbg = out && !fromChannel;
+
+	int32 captionw = width - st::msgPadding.left() - st::msgPadding.right();
 
 	if (_data->loader) {
 		ensureAnimation(parent);
@@ -3814,11 +3724,11 @@ void HistoryVideo::draw(Painter &p, const HistoryItem *parent, const QRect &r, b
 			height -= st::mediaCaptionSkip + _caption.countHeight(captionw) + st::msgPadding.bottom();
 		}
 	} else {
-		App::roundShadow(p, 0, 0, width, _height, selected ? st::msgInShadowSelected : st::msgInShadow, selected ? InSelectedShadowCorners : InShadowCorners);
+		App::roundShadow(p, 0, 0, width, height, selected ? st::msgInShadowSelected : st::msgInShadow, selected ? InSelectedShadowCorners : InShadowCorners);
 	}
 	_data->thumb->checkload();
 
-	QRect rthumb(rtlrect(skipx, skipy, width, height, w));
+	QRect rthumb(rtlrect(skipx, skipy, width, height, _width));
 
 	QPixmap pix = _data->thumb->pixBlurredSingle(_thumbw, 0, width, height);
 	p.drawPixmap(rthumb.topLeft(), pix);
@@ -3865,10 +3775,10 @@ void HistoryVideo::draw(Painter &p, const HistoryItem *parent, const QRect &r, b
 	int32 statusX = skipx + st::msgDateImgDelta + st::msgDateImgPadding.x(), statusY = skipy + st::msgDateImgDelta + st::msgDateImgPadding.y();
 	int32 statusW = st::normalFont->width(_statusText) + 2 * st::msgDateImgPadding.x();
 	int32 statusH = st::normalFont->height + 2 * st::msgDateImgPadding.y();
-	App::roundRect(p, rtlrect(statusX - st::msgDateImgPadding.x(), statusY - st::msgDateImgPadding.y(), statusW, statusH, w), selected ? st::msgDateImgBgSelected : st::msgDateImgBg, selected ? DateSelectedCorners : DateCorners);
+	App::roundRect(p, rtlrect(statusX - st::msgDateImgPadding.x(), statusY - st::msgDateImgPadding.y(), statusW, statusH, _width), selected ? st::msgDateImgBgSelected : st::msgDateImgBg, selected ? DateSelectedCorners : DateCorners);
 	p.setFont(st::normalFont);
 	p.setPen(st::white);
-	p.drawTextLeft(statusX, statusY, w, _statusText, statusW - 2 * st::msgDateImgPadding.x());
+	p.drawTextLeft(statusX, statusY, _width, _statusText, statusW - 2 * st::msgDateImgPadding.x());
 
 	// date
 	if (_caption.isEmpty()) {
@@ -3882,44 +3792,86 @@ void HistoryVideo::draw(Painter &p, const HistoryItem *parent, const QRect &r, b
 	}
 }
 
-int32 HistoryVideo::resize(int32 width, const HistoryItem *parent) {
+void HistoryVideo::getState(TextLinkPtr &lnk, HistoryCursorState &state, int32 x, int32 y, const HistoryItem *parent) const {
+	if (_width < st::msgPadding.left() + st::msgPadding.right() + 1) return;
+	int32 skipx = 0, skipy = 0, width = _width, height = _height;
 	bool bubble = parent->hasBubble();
 
-	int32 tw = convertScale(_data->thumb->width()), th = convertScale(_data->thumb->height());
-	if (!tw || !th) {
-		tw = th = 1;
-	}
-	if (tw * st::msgVideoSize.height() > th * st::msgVideoSize.width()) {
-		th = qRound((st::msgVideoSize.width() / float64(tw)) * th);
-		tw = st::msgVideoSize.width();
-	} else {
-		tw = qRound((st::msgVideoSize.height() / float64(th)) * tw);
-		th = st::msgVideoSize.height();
-	}
-
 	if (bubble) {
-		width -= st::mediaPadding.left() + st::mediaPadding.right();
-	}
-	if (width < tw) {
-		th = qRound((width / float64(tw)) * th);
-		tw = width;
-	}
-	w = _thumbw = tw;
-
-	int32 minWidth = qMax(st::minPhotoSize, parent->infoWidth() + 2 * (st::msgDateImgDelta + st::msgDateImgPadding.x()));
-	minWidth = qMax(minWidth, videoMaxStatusWidth(_data) + 2 * int32(st::msgDateImgDelta + st::msgDateImgPadding.x()));
-	w = qMax(w, minWidth);
-
-	_height = qMax(th, int32(st::minPhotoSize));
-	if (bubble) {
-		w += st::mediaPadding.left() + st::mediaPadding.right();
-		_height += st::mediaPadding.top() + st::mediaPadding.bottom();
+		skipx = st::mediaPadding.left();
+		skipy = st::mediaPadding.top();
 		if (!_caption.isEmpty()) {
-			int32 captionw = w - st::msgPadding.left() - st::msgPadding.right();
-			_height += st::mediaCaptionSkip + _caption.countHeight(captionw) + st::msgPadding.bottom();
+			int32 captionw = width - st::msgPadding.left() - st::msgPadding.right();
+			height -= _caption.countHeight(captionw) + st::msgPadding.bottom();
+			if (x >= st::msgPadding.left() && y >= height && x < st::msgPadding.left() + captionw && y < _height) {
+				bool inText = false;
+				_caption.getState(lnk, inText, x - st::msgPadding.left(), y - height, captionw);
+				state = inText ? HistoryInTextCursorState : HistoryDefaultCursorState;
+			}
+			height -= st::mediaCaptionSkip;
 		}
+		width -= st::mediaPadding.left() + st::mediaPadding.right();
+		height -= skipy + st::mediaPadding.bottom();
 	}
-	return _height;
+	if (x >= skipx && y >= skipy && x < skipx + width && y < skipy + height) {
+		lnk = _data->already().isEmpty() ? (_data->loader ? _cancell : _savel) : _openl;
+		if (_caption.isEmpty() && parent->getMedia() == this) {
+			int32 fullRight = skipx + width, fullBottom = skipy + height;
+			bool inDate = parent->pointInTime(fullRight, fullBottom, x, y, InfoDisplayOverImage);
+			if (inDate) {
+				state = HistoryInDateCursorState;
+			}
+		}
+		return;
+	}
+}
+
+void HistoryVideo::drawOverview(Painter &p, int32 width, const HistoryItem *parent, const QRect &r, bool selected, uint64 ms) const {
+}
+
+void HistoryVideo::getStateOverview(TextLinkPtr &lnk, int32 x, int32 y, const HistoryItem *parent, int32 width) const {
+	if (x >= 0 && y >= 0 && x < width && y < width) {
+		lnk = _data->already().isEmpty() ? (_data->loader ? _cancell : _savel) : _openl;
+	}
+}
+
+void HistoryVideo::setStatusSize(int32 newSize) const {
+	HistoryFileMedia::setStatusSize(newSize, _data->size, _data->duration, 0);
+}
+
+const QString HistoryVideo::inDialogsText() const {
+	return _caption.isEmpty() ? lang(lng_in_dlg_video) : _caption.original(0, 0xFFFF, Text::ExpandLinksNone);
+}
+
+const QString HistoryVideo::inHistoryText() const {
+	return qsl("[ ") + lang(lng_in_dlg_video) + (_caption.isEmpty() ? QString() : (qsl(", ") + _caption.original(0, 0xFFFF, Text::ExpandLinksAll))) + qsl(" ]");
+}
+
+void HistoryVideo::updateStatusText(const HistoryItem *parent) const {
+	bool showPause = false;
+	int32 statusSize = 0, realDuration = 0;
+	if (_data->status == FileDownloadFailed || _data->status == FileUploadFailed) {
+		statusSize = FileStatusSizeFailed;
+	} else if (_data->status == FileUploading) {
+		statusSize = _data->uploadOffset;
+	} else if (_data->loader) {
+		statusSize = _data->loader->currentOffset();
+	} else if (!_data->already().isEmpty()) {
+		statusSize = FileStatusSizeLoaded;
+	} else {
+		statusSize = FileStatusSizeReady;
+	}
+	if (statusSize != _statusSize) {
+		setStatusSize(statusSize);
+	}
+}
+
+void HistoryVideo::regItem(HistoryItem *item) {
+	App::regVideoItem(_data, item);
+}
+
+void HistoryVideo::unregItem(HistoryItem *item) {
+	App::unregVideoItem(_data, item);
 }
 
 ImagePtr HistoryVideo::replyPreview() {
@@ -3950,6 +3902,159 @@ HistoryAudio::HistoryAudio(const HistoryAudio &other) : HistoryFileMedia()
 	setStatusSize(other._statusSize);
 }
 
+void HistoryAudio::initDimensions(const HistoryItem *parent) {
+	_maxw = st::msgFileMinWidth;
+
+	int32 tleft = 0, tright = 0;
+
+	tleft = st::msgFilePadding.left() + st::msgFileSize + st::msgFilePadding.right();
+	tright = st::msgFileThumbPadding.left();
+	_maxw = qMax(_maxw, tleft + audioMaxStatusWidth(_data) + int(st::mediaUnreadSkip + st::mediaUnreadSize) + parent->skipBlockWidth() + st::msgPadding.right());
+
+	_maxw = qMax(tleft + st::semiboldFont->width(lang(lng_media_audio)) + tright, _maxw);
+	_maxw = qMin(_maxw, int(st::msgMaxWidth));
+
+	_height = _minh = st::msgFilePadding.top() + st::msgFileSize + st::msgFilePadding.bottom();
+}
+
+void HistoryAudio::draw(Painter &p, const HistoryItem *parent, const QRect &r, bool selected, uint64 ms) const {
+	if (_width < st::msgPadding.left() + st::msgPadding.right() + 1) return;
+
+	bool out = parent->out(), fromChannel = parent->fromChannel(), outbg = out && !fromChannel;
+	bool already = !_data->already().isEmpty(), hasdata = !_data->data.isEmpty();
+
+	if (!_data->loader && _data->status == FileReady && !already && !hasdata && _data->size < AudioVoiceMsgInMemory) {
+		_data->save(QString());
+	}
+
+	if (_data->loader) {
+		ensureAnimation(parent);
+		if (!_animation->radial.animating()) {
+			_animation->radial.start(_data->progress());
+		}
+	}
+	bool showPause = updateStatusText(parent);
+	bool radial = isRadialAnimation(ms);
+
+	int32 nameleft = 0, nametop = 0, nameright = 0, statustop = 0, linktop = 0;
+
+	nameleft = st::msgFilePadding.left() + st::msgFileSize + st::msgFilePadding.right();
+	nametop = st::msgFileNameTop;
+	nameright = st::msgFilePadding.left();
+	statustop = st::msgFileStatusTop;
+
+	QRect inner(rtlrect(st::msgFilePadding.left(), st::msgFilePadding.top(), st::msgFileSize, st::msgFileSize, _width));
+	p.setPen(Qt::NoPen);
+	if (selected) {
+		p.setBrush(outbg ? st::msgFileOutBgSelected : st::msgFileInBgSelected);
+	} else if (_animation && _animation->_a_thumbOver.animating()) {
+		_animation->_a_thumbOver.step(ms);
+		float64 over = _animation->a_thumbOver.current();
+		p.setBrush(style::interpolate(outbg ? st::msgFileOutBg : st::msgFileInBg, outbg ? st::msgFileOutBgOver : st::msgFileInBgOver, over));
+	} else {
+		bool over = textlnkDrawOver(_data->loader ? _cancell : _savel);
+		p.setBrush(outbg ? (over ? st::msgFileOutBgOver : st::msgFileOutBg) : (over ? st::msgFileInBgOver : st::msgFileInBg));
+	}
+
+	p.setRenderHint(QPainter::HighQualityAntialiasing);
+	p.drawEllipse(inner);
+	p.setRenderHint(QPainter::HighQualityAntialiasing, false);
+
+	if (radial) {
+		QRect rinner(inner.marginsRemoved(QMargins(st::msgFileRadialLine, st::msgFileRadialLine, st::msgFileRadialLine, st::msgFileRadialLine)));
+		style::color bg(outbg ? (selected ? st::msgOutBgSelected : st::msgOutBg) : (selected ? st::msgInBgSelected : st::msgInBg));
+		_animation->radial.draw(p, rinner, bg);
+	}
+
+	style::sprite icon;
+	if (showPause) {
+		icon = outbg ? (selected ? st::msgFileOutPauseSelected : st::msgFileOutPause) : (selected ? st::msgFileInPauseSelected : st::msgFileInPause);
+	} else if (_statusSize < 0 || _statusSize == FileStatusSizeLoaded) {
+		icon = outbg ? (selected ? st::msgFileOutPlaySelected : st::msgFileOutPlay) : (selected ? st::msgFileInPlaySelected : st::msgFileInPlay);
+	} else if (_data->loader) {
+		icon = outbg ? (selected ? st::msgFileOutCancelSelected : st::msgFileOutCancel) : (selected ? st::msgFileInCancelSelected : st::msgFileInCancel);
+	} else {
+		icon = outbg ? (selected ? st::msgFileOutDownloadSelected : st::msgFileOutDownload) : (selected ? st::msgFileInDownloadSelected : st::msgFileInDownload);
+	}
+	p.drawSpriteCenter(inner, icon);
+
+	int32 namewidth = _width - nameleft - nameright;
+
+	p.setFont(st::semiboldFont);
+	p.setPen(st::black);
+	p.drawTextLeft(nameleft, nametop, _width, lang(lng_media_audio));
+
+	style::color status(outbg ? (selected ? st::mediaOutFgSelected : st::mediaOutFg) : (selected ? st::mediaInFgSelected : st::mediaInFg));
+	p.setFont(st::normalFont);
+	p.setPen(status);
+	p.drawTextLeft(nameleft, statustop, _width, _statusText);
+
+	if (parent->isMediaUnread()) {
+		int32 w = st::normalFont->width(_statusText);
+		if (w + st::mediaUnreadSkip + st::mediaUnreadSize <= namewidth) {
+			p.setPen(Qt::NoPen);
+			p.setBrush(outbg ? (selected ? st::msgFileOutBgSelected : st::msgFileOutBg) : (selected ? st::msgFileInBgSelected : st::msgFileInBg));
+
+			p.setRenderHint(QPainter::HighQualityAntialiasing, true);
+			p.drawEllipse(rtlrect(nameleft + w + st::mediaUnreadSkip, statustop + st::mediaUnreadTop, st::mediaUnreadSize, st::mediaUnreadSize, _width));
+			p.setRenderHint(QPainter::HighQualityAntialiasing, false);
+		}
+	}
+}
+
+void HistoryAudio::getState(TextLinkPtr &lnk, HistoryCursorState &state, int32 x, int32 y, const HistoryItem *parent) const {
+	if (_width < st::msgPadding.left() + st::msgPadding.right() + 1) return;
+
+	bool out = parent->out(), fromChannel = parent->fromChannel(), outbg = out && !fromChannel;
+	bool already = !_data->already().isEmpty(), hasdata = !_data->data.isEmpty();
+
+	bool showPause = updateStatusText(parent);
+
+	int32 nameleft = 0, nametop = 0, nameright = 0, statustop = 0, linktop = 0;
+
+	QRect inner(rtlrect(st::msgFilePadding.left(), st::msgFilePadding.top(), st::msgFileSize, st::msgFileSize, _width));
+	if ((_data->loader || _data->status == FileUploading || (!already && !hasdata)) && inner.contains(x, y)) {
+		lnk = (_data->loader || _data->status == FileUploading) ? _cancell : _savel;
+		return;
+	}
+
+	if (x >= 0 && y >= 0 && x < _width && y < _height && !_data->loader && _data->access) {
+		lnk = _openl;
+		return;
+	}
+}
+
+void HistoryAudio::drawOverview(Painter &p, int32 width, const HistoryItem *parent, const QRect &r, bool selected, uint64 ms) const {
+}
+
+void HistoryAudio::getStateOverview(TextLinkPtr &lnk, int32 x, int32 y, const HistoryItem *parent, int32 width) const {
+}
+
+const QString HistoryAudio::inDialogsText() const {
+	return lang(lng_in_dlg_audio);
+}
+
+const QString HistoryAudio::inHistoryText() const {
+	return qsl("[ ") + lang(lng_in_dlg_audio) + qsl(" ]");
+}
+
+void HistoryAudio::regItem(HistoryItem *item) {
+	App::regAudioItem(_data, item);
+}
+
+void HistoryAudio::unregItem(HistoryItem *item) {
+	App::unregAudioItem(_data, item);
+}
+
+void HistoryAudio::updateFrom(const MTPMessageMedia &media, HistoryItem *parent, bool allowEmitResize) {
+	if (media.type() == mtpc_messageMediaAudio) {
+		App::feedAudio(media.c_messageMediaAudio().vaudio, _data);
+		if (!_data->data.isEmpty()) {
+			Local::writeAudio(mediaKey(mtpToLocationType(mtpc_inputAudioFileLocation), _data->dc, _data->id), _data->data);
+		}
+	}
+}
+
 void HistoryAudio::setStatusSize(int32 newSize, qint64 realDuration) const {
 	HistoryFileMedia::setStatusSize(newSize, _data->size, _data->duration, realDuration);
 }
@@ -3988,175 +4093,6 @@ bool HistoryAudio::updateStatusText(const HistoryItem *parent) const {
 	return showPause;
 }
 
-void HistoryAudio::initDimensions(const HistoryItem *parent) {
-	_maxw = st::msgFileMinWidth;
-
-	int32 tleft = 0, tright = 0;
-
-	tleft = st::msgFilePadding.left() + st::msgFileSize + st::msgFilePadding.right();
-	tright = st::msgFileThumbPadding.left();
-	_maxw = qMax(_maxw, tleft + audioMaxStatusWidth(_data) + int(st::mediaUnreadSkip + st::mediaUnreadSize) + parent->skipBlockWidth() + st::msgPadding.right());
-
-	_maxw = qMax(tleft + st::semiboldFont->width(lang(lng_media_audio)) + tright, _maxw);
-	_maxw = qMin(_maxw, int(st::msgMaxWidth));
-
-	_height = _minh = st::msgFilePadding.top() + st::msgFileSize + st::msgFilePadding.bottom();
-}
-
-void HistoryAudio::draw(Painter &p, const HistoryItem *parent, const QRect &r, bool selected, uint64 ms) const {
-	if (w < st::msgPadding.left() + st::msgPadding.right() + 1) return;
-	int32 width = w, height = _height, skipx = 0, skipy = 0;
-
-	bool out = parent->out(), fromChannel = parent->fromChannel(), outbg = out && !fromChannel;
-	bool already = !_data->already().isEmpty(), hasdata = !_data->data.isEmpty();
-
-	if (!_data->loader && _data->status == FileReady && !already && !hasdata && _data->size < AudioVoiceMsgInMemory) {
-		_data->save(QString());
-	}
-
-	if (width >= _maxw) {
-		width = _maxw;
-	}
-
-	if (_data->loader) {
-		ensureAnimation(parent);
-		if (!_animation->radial.animating()) {
-			_animation->radial.start(_data->progress());
-		}
-	}
-	bool showPause = updateStatusText(parent);
-	bool radial = isRadialAnimation(ms);
-
-	int32 nameleft = 0, nametop = 0, nameright = 0, statustop = 0, linktop = 0;
-
-	nameleft = st::msgFilePadding.left() + st::msgFileSize + st::msgFilePadding.right();
-	nametop = st::msgFileNameTop;
-	nameright = st::msgFilePadding.left();
-	statustop = st::msgFileStatusTop;
-
-	QRect inner(rtlrect(st::msgFilePadding.left(), st::msgFilePadding.top(), st::msgFileSize, st::msgFileSize, width));
-	p.setPen(Qt::NoPen);
-	if (selected) {
-		p.setBrush(outbg ? st::msgFileOutBgSelected : st::msgFileInBgSelected);
-	} else if (_animation && _animation->_a_thumbOver.animating()) {
-		_animation->_a_thumbOver.step(ms);
-		float64 over = _animation->a_thumbOver.current();
-		p.setBrush(style::interpolate(outbg ? st::msgFileOutBg : st::msgFileInBg, outbg ? st::msgFileOutBgOver : st::msgFileInBgOver, over));
-	} else {
-		bool over = textlnkDrawOver(_data->loader ? _cancell : _savel);
-		p.setBrush(outbg ? (over ? st::msgFileOutBgOver : st::msgFileOutBg) : (over ? st::msgFileInBgOver : st::msgFileInBg));
-	}
-
-	p.setRenderHint(QPainter::HighQualityAntialiasing);
-	p.drawEllipse(inner);
-	p.setRenderHint(QPainter::HighQualityAntialiasing, false);
-
-	if (radial) {
-		QRect rinner(inner.marginsRemoved(QMargins(st::msgFileRadialLine, st::msgFileRadialLine, st::msgFileRadialLine, st::msgFileRadialLine)));
-		style::color bg(outbg ? (selected ? st::msgOutBgSelected : st::msgOutBg) : (selected ? st::msgInBgSelected : st::msgInBg));
-		_animation->radial.draw(p, rinner, bg);
-	}
-
-	style::sprite icon;
-	if (showPause) {
-		icon = outbg ? (selected ? st::msgFileOutPauseSelected : st::msgFileOutPause) : (selected ? st::msgFileInPauseSelected : st::msgFileInPause);
-	} else if (_statusSize < 0 || _statusSize == FileStatusSizeLoaded) {
-		icon = outbg ? (selected ? st::msgFileOutPlaySelected : st::msgFileOutPlay) : (selected ? st::msgFileInPlaySelected : st::msgFileInPlay);
-	} else if (_data->loader) {
-		icon = outbg ? (selected ? st::msgFileOutCancelSelected : st::msgFileOutCancel) : (selected ? st::msgFileInCancelSelected : st::msgFileInCancel);
-	} else {
-		icon = outbg ? (selected ? st::msgFileOutDownloadSelected : st::msgFileOutDownload) : (selected ? st::msgFileInDownloadSelected : st::msgFileInDownload);
-	}
-	p.drawSpriteCenter(inner, icon);
-
-	int32 namewidth = width - nameleft - nameright;
-
-	p.setFont(st::semiboldFont);
-	p.setPen(st::black);
-	p.drawTextLeft(nameleft, nametop, width, lang(lng_media_audio));
-
-	style::color status(outbg ? (selected ? st::mediaOutFgSelected : st::mediaOutFg) : (selected ? st::mediaInFgSelected : st::mediaInFg));
-	p.setFont(st::normalFont);
-	p.setPen(status);
-	p.drawTextLeft(nameleft, statustop, width, _statusText);
-
-	if (parent->isMediaUnread()) {
-		int32 w = st::normalFont->width(_statusText);
-		if (w + st::mediaUnreadSkip + st::mediaUnreadSize <= namewidth) {
-			p.setPen(Qt::NoPen);
-			p.setBrush(outbg ? (selected ? st::msgFileOutBgSelected : st::msgFileOutBg) : (selected ? st::msgFileInBgSelected : st::msgFileInBg));
-
-			p.setRenderHint(QPainter::HighQualityAntialiasing, true);
-			p.drawEllipse(rtlrect(nameleft + w + st::mediaUnreadSkip, statustop + st::mediaUnreadTop, st::mediaUnreadSize, st::mediaUnreadSize, width));
-			p.setRenderHint(QPainter::HighQualityAntialiasing, false);
-		}
-	}
-}
-
-void HistoryAudio::regItem(HistoryItem *item) {
-	App::regAudioItem(_data, item);
-}
-
-void HistoryAudio::unregItem(HistoryItem *item) {
-	App::unregAudioItem(_data, item);
-}
-
-void HistoryAudio::updateFrom(const MTPMessageMedia &media, HistoryItem *parent, bool allowEmitResize) {
-	if (media.type() == mtpc_messageMediaAudio) {
-		App::feedAudio(media.c_messageMediaAudio().vaudio, _data);
-		if (!_data->data.isEmpty()) {
-			Local::writeAudio(mediaKey(mtpToLocationType(mtpc_inputAudioFileLocation), _data->dc, _data->id), _data->data);
-		}
-	}
-}
-
-const QString HistoryAudio::inDialogsText() const {
-	return lang(lng_in_dlg_audio);
-}
-
-const QString HistoryAudio::inHistoryText() const {
-	return qsl("[ ") + lang(lng_in_dlg_audio) + qsl(" ]");
-}
-
-bool HistoryAudio::hasPoint(int32 x, int32 y, const HistoryItem *parent, int32 width) const {
-	if (width < 0) width = w;
-	if (width >= _maxw) {
-		width = _maxw;
-	}
-	return (x >= 0 && y >= 0 && x < width && y < _height);
-}
-
-void HistoryAudio::getState(TextLinkPtr &lnk, HistoryCursorState &state, int32 x, int32 y, const HistoryItem *parent, int32 width) const {
-	if (width < 0) width = w;
-	if (width < 1) return;
-
-	bool out = parent->out(), fromChannel = parent->fromChannel(), outbg = out && !fromChannel;
-	bool already = !_data->already().isEmpty(), hasdata = !_data->data.isEmpty();
-
-	if (width >= _maxw) {
-		width = _maxw;
-	}
-
-	bool showPause = updateStatusText(parent);
-
-	int32 nameleft = 0, nametop = 0, nameright = 0, statustop = 0, linktop = 0;
-
-	QRect inner(rtlrect(st::msgFilePadding.left(), st::msgFilePadding.top(), st::msgFileSize, st::msgFileSize, width));
-	if ((_data->loader || _data->status == FileUploading || (!already && !hasdata)) && inner.contains(x, y)) {
-		lnk = (_data->loader || _data->status == FileUploading) ? _cancell : _savel;
-		return;
-	}
-
-	if (x >= 0 && y >= 0 && x < width && y < _height && !_data->loader && _data->access) {
-		lnk = _openl;
-		return;
-	}
-}
-
-HistoryMedia *HistoryAudio::clone() const {
-	return new HistoryAudio(*this);
-}
-
 HistoryDocument::HistoryDocument(DocumentData *document) : HistoryFileMedia()
 , _data(document)
 , _linksavel(new DocumentSaveLink(_data))
@@ -4194,6 +4130,232 @@ HistoryDocument::HistoryDocument(const HistoryDocument &other) : HistoryFileMedi
 	setStatusSize(other._statusSize);
 }
 
+void HistoryDocument::initDimensions(const HistoryItem *parent) {
+	_maxw = st::msgFileMinWidth;
+
+	int32 tleft = 0, tright = 0;
+	bool wthumb = withThumb();
+	if (wthumb) {
+		tleft = st::msgFileThumbPadding.left() + st::msgFileThumbSize + st::msgFileThumbPadding.right();
+		tright = st::msgFileThumbPadding.left();
+		_maxw = qMax(_maxw, tleft + documentMaxStatusWidth(_data) + tright);
+	} else {
+		tleft = st::msgFilePadding.left() + st::msgFileSize + st::msgFilePadding.right();
+		tright = st::msgFileThumbPadding.left();
+		_maxw = qMax(_maxw, tleft + documentMaxStatusWidth(_data) + parent->skipBlockWidth() + st::msgPadding.right());
+	}
+
+	_maxw = qMax(tleft + _namew + tright, _maxw);
+	_maxw = qMin(_maxw, int(st::msgMaxWidth));
+
+	if (wthumb) {
+		_minh = st::msgFileThumbPadding.top() + st::msgFileThumbSize + st::msgFileThumbPadding.bottom();
+	} else {
+		_minh = st::msgFilePadding.top() + st::msgFileSize + st::msgFilePadding.bottom();
+	}
+	_height = _minh;
+}
+
+void HistoryDocument::draw(Painter &p, const HistoryItem *parent, const QRect &r, bool selected, uint64 ms) const {
+	if (_width < st::msgPadding.left() + st::msgPadding.right() + 1) return;
+
+	bool out = parent->out(), fromChannel = parent->fromChannel(), outbg = out && !fromChannel;
+	bool already = !_data->already().isEmpty(), hasdata = !_data->data.isEmpty();
+
+	if (_data->loader) {
+		ensureAnimation(parent);
+		if (!_animation->radial.animating()) {
+			_animation->radial.start(_data->progress());
+		}
+	}
+	bool showPause = updateStatusText(parent);
+	bool radial = isRadialAnimation(ms);
+
+	int32 nameleft = 0, nametop = 0, nameright = 0, statustop = 0, linktop = 0;
+	bool wthumb = withThumb();
+	if (wthumb) {
+		nameleft = st::msgFileThumbPadding.left() + st::msgFileThumbSize + st::msgFileThumbPadding.right();
+		nametop = st::msgFileThumbNameTop;
+		nameright = st::msgFileThumbPadding.left();
+		statustop = st::msgFileThumbStatusTop;
+		linktop = st::msgFileThumbLinkTop;
+
+		QRect rthumb(rtlrect(st::msgFileThumbPadding.left(), st::msgFileThumbPadding.top(), st::msgFileThumbSize, st::msgFileThumbSize, _width));
+		if (_data->thumb->loaded()) {
+			QPixmap thumb = (already || hasdata) ? _data->thumb->pixSingle(_thumbw, 0, st::msgFileThumbSize, st::msgFileThumbSize) : _data->thumb->pixBlurredSingle(_thumbw, 0, st::msgFileThumbSize, st::msgFileThumbSize);
+			p.drawPixmap(rthumb.topLeft(), thumb);
+		} else {
+			App::roundRect(p, rthumb, st::black, BlackCorners);
+		}
+		if (selected) {
+			App::roundRect(p, rthumb, textstyleCurrent()->selectOverlay, SelectedOverlayCorners);
+		}
+
+		if (!radial && (already || hasdata)) {
+		} else {
+			QRect inner(rthumb.x() + (rthumb.width() - st::msgFileSize) / 2, rthumb.y() + (rthumb.height() - st::msgFileSize) / 2, st::msgFileSize, st::msgFileSize);
+			p.setPen(Qt::NoPen);
+			if (selected) {
+				p.setBrush(st::msgDateImgBgSelected);
+			} else if (radial && (already || hasdata)) {
+				p.setOpacity(st::msgDateImgBg->c.alphaF() * _animation->radial.opacity());
+				p.setBrush(st::black);
+			} else if (_animation && _animation->_a_thumbOver.animating()) {
+				_animation->_a_thumbOver.step(ms);
+				float64 over = _animation->a_thumbOver.current();
+				p.setOpacity((st::msgDateImgBg->c.alphaF() * (1 - over)) + (st::msgDateImgBgOver->c.alphaF() * over));
+				p.setBrush(st::black);
+			} else {
+				bool over = textlnkDrawOver(_data->loader ? _cancell : _savel);
+				p.setBrush(over ? st::msgDateImgBgOver : st::msgDateImgBg);
+			}
+
+			p.setRenderHint(QPainter::HighQualityAntialiasing);
+			p.drawEllipse(inner);
+			p.setRenderHint(QPainter::HighQualityAntialiasing, false);
+
+			style::sprite icon;
+			if (already || hasdata || _data->loader) {
+				icon = (selected ? st::msgFileInCancelSelected : st::msgFileInCancel);
+			} else {
+				icon = (selected ? st::msgFileInDownloadSelected : st::msgFileInDownload);
+			}
+			p.setOpacity(radial ? _animation->radial.opacity() : 1);
+			p.drawSpriteCenter(inner, icon);
+			if (radial) {
+				p.setOpacity(1);
+
+				QRect rinner(inner.marginsRemoved(QMargins(st::msgFileRadialLine, st::msgFileRadialLine, st::msgFileRadialLine, st::msgFileRadialLine)));
+				_animation->radial.draw(p, rinner, selected ? st::msgInBgSelected : st::msgInBg);
+			}
+		}
+
+		if (_data->status != FileUploadFailed) {
+			const TextLinkPtr &lnk((_data->loader || _data->status == FileUploading) ? _linkcancell : _linksavel);
+			bool over = textlnkDrawOver(lnk);
+			p.setFont(over ? st::semiboldFont->underline() : st::semiboldFont);
+			p.setPen(outbg ? (selected ? st::msgFileThumbLinkOutFgSelected : st::msgFileThumbLinkOutFg) : (selected ? st::msgFileThumbLinkInFgSelected : st::msgFileThumbLinkInFg));
+			p.drawTextLeft(nameleft, linktop, _width, _link, _linkw);
+		}
+	} else {
+		nameleft = st::msgFilePadding.left() + st::msgFileSize + st::msgFilePadding.right();
+		nametop = st::msgFileNameTop;
+		nameright = st::msgFilePadding.left();
+		statustop = st::msgFileStatusTop;
+
+		QRect inner(rtlrect(st::msgFilePadding.left(), st::msgFilePadding.top(), st::msgFileSize, st::msgFileSize, _width));
+		p.setPen(Qt::NoPen);
+		if (selected) {
+			p.setBrush(outbg ? st::msgFileOutBgSelected : st::msgFileInBgSelected);
+		} else if (_animation && _animation->_a_thumbOver.animating()) {
+			float64 over = _animation->a_thumbOver.current();
+			p.setBrush(style::interpolate(outbg ? st::msgFileOutBg : st::msgFileInBg, outbg ? st::msgFileOutBgOver : st::msgFileInBgOver, over));
+		} else {
+			bool over = textlnkDrawOver(_data->loader ? _cancell : _savel);
+			p.setBrush(outbg ? (over ? st::msgFileOutBgOver : st::msgFileOutBg) : (over ? st::msgFileInBgOver : st::msgFileInBg));
+		}
+
+		p.setRenderHint(QPainter::HighQualityAntialiasing);
+		p.drawEllipse(inner);
+		p.setRenderHint(QPainter::HighQualityAntialiasing, false);
+
+		if (radial) {
+			QRect rinner(inner.marginsRemoved(QMargins(st::msgFileRadialLine, st::msgFileRadialLine, st::msgFileRadialLine, st::msgFileRadialLine)));
+			style::color bg(outbg ? (selected ? st::msgOutBgSelected : st::msgOutBg) : (selected ? st::msgInBgSelected : st::msgInBg));
+			_animation->radial.draw(p, rinner, bg);
+		}
+
+		style::sprite icon;
+		if (showPause) {
+			icon = outbg ? (selected ? st::msgFileOutPauseSelected : st::msgFileOutPause) : (selected ? st::msgFileInPauseSelected : st::msgFileInPause);
+		} else if (_statusSize < 0 || _statusSize == FileStatusSizeLoaded) {
+			if (_data->song()) {
+				icon = outbg ? (selected ? st::msgFileOutPlaySelected : st::msgFileOutPlay) : (selected ? st::msgFileInPlaySelected : st::msgFileInPlay);
+			} else if (_data->isImage()) {
+				icon = outbg ? (selected ? st::msgFileOutImageSelected : st::msgFileOutImage) : (selected ? st::msgFileInImageSelected : st::msgFileInImage);
+			} else {
+				icon = outbg ? (selected ? st::msgFileOutFileSelected : st::msgFileOutFile) : (selected ? st::msgFileInFileSelected : st::msgFileInFile);
+			}
+		} else if (_data->loader) {
+			icon = outbg ? (selected ? st::msgFileOutCancelSelected : st::msgFileOutCancel) : (selected ? st::msgFileInCancelSelected : st::msgFileInCancel);
+		} else {
+			icon = outbg ? (selected ? st::msgFileOutDownloadSelected : st::msgFileOutDownload) : (selected ? st::msgFileInDownloadSelected : st::msgFileInDownload);
+		}
+		p.drawSpriteCenter(inner, icon);
+	}
+	int32 namewidth = _width - nameleft - nameright;
+
+	p.setFont(st::semiboldFont);
+	p.setPen(st::black);
+	if (namewidth < _namew) {
+		p.drawTextLeft(nameleft, nametop, _width, st::semiboldFont->elided(_name, namewidth));
+	} else {
+		p.drawTextLeft(nameleft, nametop, _width, _name, _namew);
+	}
+
+	style::color status(outbg ? (selected ? st::mediaOutFgSelected : st::mediaOutFg) : (selected ? st::mediaInFgSelected : st::mediaInFg));
+	p.setFont(st::normalFont);
+	p.setPen(status);
+	p.drawTextLeft(nameleft, statustop, _width, _statusText);
+}
+
+void HistoryDocument::getState(TextLinkPtr &lnk, HistoryCursorState &state, int32 x, int32 y, const HistoryItem *parent) const {
+	if (_width < st::msgPadding.left() + st::msgPadding.right() + 1) return;
+
+	bool out = parent->out(), fromChannel = parent->fromChannel(), outbg = out && !fromChannel;
+	bool already = !_data->already().isEmpty(), hasdata = !_data->data.isEmpty();
+
+	bool showPause = updateStatusText(parent);
+
+	int32 nameleft = 0, nametop = 0, nameright = 0, statustop = 0, linktop = 0;
+	bool wthumb = withThumb();
+	if (wthumb) {
+		nameleft = st::msgFileThumbPadding.left() + st::msgFileThumbSize + st::msgFileThumbPadding.right();
+		linktop = st::msgFileThumbLinkTop;
+
+		QRect rthumb(rtlrect(st::msgFileThumbPadding.left(), st::msgFileThumbPadding.top(), st::msgFileThumbSize, st::msgFileThumbSize, _width));
+
+		if (already || hasdata) {
+		} else {
+			if (rthumb.contains(x, y)) {
+				lnk = (_data->loader || _data->status == FileUploading) ? _cancell : _savel;
+				return;
+			}
+		}
+
+		if (_data->status != FileUploadFailed) {
+			if (rtlrect(nameleft, linktop, _linkw, st::semiboldFont->height, _width).contains(x, y)) {
+				lnk = (_data->loader || _data->status == FileUploading) ? _linkcancell : _linksavel;
+				return;
+			}
+		}
+	} else {
+		QRect inner(rtlrect(st::msgFilePadding.left(), st::msgFilePadding.top(), st::msgFileSize, st::msgFileSize, _width));
+		if ((_data->loader || _data->status == FileUploading || (!already && !hasdata)) && inner.contains(x, y)) {
+			lnk = (_data->loader || _data->status == FileUploading) ? _cancell : _savel;
+			return;
+		}
+	}
+	if (x >= 0 && y >= 0 && x < _width && y < _height && !_data->loader && _data->access) {
+		lnk = _openl;
+		return;
+	}
+}
+
+void HistoryDocument::drawOverview(Painter &p, int32 width, const HistoryItem *parent, const QRect &r, bool selected, uint64 ms) const {
+}
+
+void HistoryDocument::getStateOverview(TextLinkPtr &lnk, int32 x, int32 y, const HistoryItem *parent, int32 width) const {
+}
+
+const QString HistoryDocument::inDialogsText() const {
+	return _name.isEmpty() ? lang(lng_in_dlg_file) : _name;
+}
+
+const QString HistoryDocument::inHistoryText() const {
+	return qsl("[ ") + lang(lng_in_dlg_file) + (_name.isEmpty() ? QString() : (qsl(" : ") + _name)) + qsl(" ]");
+}
+
 void HistoryDocument::setStatusSize(int32 newSize, qint64 realDuration) const {
 	HistoryFileMedia::setStatusSize(newSize, _data->size, _data->song() ? _data->song()->duration : -1, realDuration);
 
@@ -4250,239 +4412,6 @@ bool HistoryDocument::updateStatusText(const HistoryItem *parent) const {
 	return showPause;
 }
 
-void HistoryDocument::initDimensions(const HistoryItem *parent) {
-	_maxw = st::msgFileMinWidth;
-
-	int32 tleft = 0, tright = 0;
-	bool wthumb = withThumb();
-	if (wthumb) {
-		tleft = st::msgFileThumbPadding.left() + st::msgFileThumbSize + st::msgFileThumbPadding.right();
-		tright = st::msgFileThumbPadding.left();
-		_maxw = qMax(_maxw, tleft + documentMaxStatusWidth(_data) + tright);
-	} else {
-		tleft = st::msgFilePadding.left() + st::msgFileSize + st::msgFilePadding.right();
-		tright = st::msgFileThumbPadding.left();
-		_maxw = qMax(_maxw, tleft + documentMaxStatusWidth(_data) + parent->skipBlockWidth() + st::msgPadding.right());
-	}
-
-	_maxw = qMax(tleft + _namew + tright, _maxw);
-	_maxw = qMin(_maxw, int(st::msgMaxWidth));
-
-	if (wthumb) {
-		_height = _minh = st::msgFileThumbPadding.top() + st::msgFileThumbSize + st::msgFileThumbPadding.bottom();
-	} else {
-		_height = _minh = st::msgFilePadding.top() + st::msgFileSize + st::msgFilePadding.bottom();
-	}
-}
-
-void HistoryDocument::draw(Painter &p, const HistoryItem *parent, const QRect &r, bool selected, uint64 ms) const {
-	if (w < st::msgPadding.left() + st::msgPadding.right() + 1) return;
-	int32 width = w, height = _height, skipx = 0, skipy = 0;
-
-	bool out = parent->out(), fromChannel = parent->fromChannel(), outbg = out && !fromChannel;
-	bool already = !_data->already().isEmpty(), hasdata = !_data->data.isEmpty();
-
-	if (width >= _maxw) {
-		width = _maxw;
-	}
-
-	if (_data->loader) {
-		ensureAnimation(parent);
-		if (!_animation->radial.animating()) {
-			_animation->radial.start(_data->progress());
-		}
-	}
-	bool showPause = updateStatusText(parent);
-	bool radial = isRadialAnimation(ms);
-
-	int32 nameleft = 0, nametop = 0, nameright = 0, statustop = 0, linktop = 0;
-	bool wthumb = withThumb();
-	if (wthumb) {
-		nameleft = st::msgFileThumbPadding.left() + st::msgFileThumbSize + st::msgFileThumbPadding.right();
-		nametop = st::msgFileThumbNameTop;
-		nameright = st::msgFileThumbPadding.left();
-		statustop = st::msgFileThumbStatusTop;
-		linktop = st::msgFileThumbLinkTop;
-
-		QRect rthumb(rtlrect(st::msgFileThumbPadding.left(), st::msgFileThumbPadding.top(), st::msgFileThumbSize, st::msgFileThumbSize, width));
-		if (_data->thumb->loaded()) {
-			QPixmap thumb = (already || hasdata) ? _data->thumb->pixSingle(_thumbw, 0, st::msgFileThumbSize, st::msgFileThumbSize) : _data->thumb->pixBlurredSingle(_thumbw, 0, st::msgFileThumbSize, st::msgFileThumbSize);
-			p.drawPixmap(rthumb.topLeft(), thumb);
-		} else {
-			App::roundRect(p, rthumb, st::black, BlackCorners);
-		}
-		if (selected) {
-			App::roundRect(p, rthumb, textstyleCurrent()->selectOverlay, SelectedOverlayCorners);
-		}
-
-		if (!radial && (already || hasdata)) {
-		} else {
-			QRect inner(rthumb.x() + (rthumb.width() - st::msgFileSize) / 2, rthumb.y() + (rthumb.height() - st::msgFileSize) / 2, st::msgFileSize, st::msgFileSize);
-			p.setPen(Qt::NoPen);
-			if (selected) {
-				p.setBrush(st::msgDateImgBgSelected);
-			} else if (radial && (already || hasdata)) {
-				p.setOpacity(st::msgDateImgBg->c.alphaF() * _animation->radial.opacity());
-				p.setBrush(st::black);
-			} else if (_animation && _animation->_a_thumbOver.animating()) {
-				_animation->_a_thumbOver.step(ms);
-				float64 over = _animation->a_thumbOver.current();
-				p.setOpacity((st::msgDateImgBg->c.alphaF() * (1 - over)) + (st::msgDateImgBgOver->c.alphaF() * over));
-				p.setBrush(st::black);
-			} else {
-				bool over = textlnkDrawOver(_data->loader ? _cancell : _savel);
-				p.setBrush(over ? st::msgDateImgBgOver : st::msgDateImgBg);
-			}
-
-			p.setRenderHint(QPainter::HighQualityAntialiasing);
-			p.drawEllipse(inner);
-			p.setRenderHint(QPainter::HighQualityAntialiasing, false);
-
-			style::sprite icon;
-			if (already || hasdata || _data->loader) {
-				icon = (selected ? st::msgFileInCancelSelected : st::msgFileInCancel);
-			} else {
-				icon = (selected ? st::msgFileInDownloadSelected : st::msgFileInDownload);
-			}
-			p.setOpacity(radial ? _animation->radial.opacity() : 1);
-			p.drawSpriteCenter(inner, icon);
-			if (radial) {
-				p.setOpacity(1);
-
-				QRect rinner(inner.marginsRemoved(QMargins(st::msgFileRadialLine, st::msgFileRadialLine, st::msgFileRadialLine, st::msgFileRadialLine)));
-				_animation->radial.draw(p, rinner, selected ? st::msgInBgSelected : st::msgInBg);
-			}
-		}
-
-		if (_data->status != FileUploadFailed) {
-			const TextLinkPtr &lnk((_data->loader || _data->status == FileUploading) ? _linkcancell : _linksavel);
-			bool over = textlnkDrawOver(lnk);
-			p.setFont(over ? st::semiboldFont->underline() : st::semiboldFont);
-			p.setPen(outbg ? (selected ? st::msgFileThumbLinkOutFgSelected : st::msgFileThumbLinkOutFg) : (selected ? st::msgFileThumbLinkInFgSelected : st::msgFileThumbLinkInFg));
-			p.drawTextLeft(nameleft, linktop, width, _link, _linkw);
-		}
-	} else {
-		nameleft = st::msgFilePadding.left() + st::msgFileSize + st::msgFilePadding.right();
-		nametop = st::msgFileNameTop;
-		nameright = st::msgFilePadding.left();
-		statustop = st::msgFileStatusTop;
-
-		QRect inner(rtlrect(st::msgFilePadding.left(), st::msgFilePadding.top(), st::msgFileSize, st::msgFileSize, width));
-		p.setPen(Qt::NoPen);
-		if (selected) {
-			p.setBrush(outbg ? st::msgFileOutBgSelected : st::msgFileInBgSelected);
-		} else if (_animation && _animation->_a_thumbOver.animating()) {
-			float64 over = _animation->a_thumbOver.current();
-			p.setBrush(style::interpolate(outbg ? st::msgFileOutBg : st::msgFileInBg, outbg ? st::msgFileOutBgOver : st::msgFileInBgOver, over));
-		} else {
-			bool over = textlnkDrawOver(_data->loader ? _cancell : _savel);
-			p.setBrush(outbg ? (over ? st::msgFileOutBgOver : st::msgFileOutBg) : (over ? st::msgFileInBgOver : st::msgFileInBg));
-		}
-
-		p.setRenderHint(QPainter::HighQualityAntialiasing);
-		p.drawEllipse(inner);
-		p.setRenderHint(QPainter::HighQualityAntialiasing, false);
-
-		if (radial) {
-			QRect rinner(inner.marginsRemoved(QMargins(st::msgFileRadialLine, st::msgFileRadialLine, st::msgFileRadialLine, st::msgFileRadialLine)));
-			style::color bg(outbg ? (selected ? st::msgOutBgSelected : st::msgOutBg) : (selected ? st::msgInBgSelected : st::msgInBg));
-			_animation->radial.draw(p, rinner, bg);
-		}
-
-		style::sprite icon;
-		if (showPause) {
-			icon = outbg ? (selected ? st::msgFileOutPauseSelected : st::msgFileOutPause) : (selected ? st::msgFileInPauseSelected : st::msgFileInPause);
-		} else if (_statusSize < 0 || _statusSize == FileStatusSizeLoaded) {
-			if (_data->song()) {
-				icon = outbg ? (selected ? st::msgFileOutPlaySelected : st::msgFileOutPlay) : (selected ? st::msgFileInPlaySelected : st::msgFileInPlay);
-			} else if (_data->isImage()) {
-				icon = outbg ? (selected ? st::msgFileOutImageSelected : st::msgFileOutImage) : (selected ? st::msgFileInImageSelected : st::msgFileInImage);
-			} else {
-				icon = outbg ? (selected ? st::msgFileOutFileSelected : st::msgFileOutFile) : (selected ? st::msgFileInFileSelected : st::msgFileInFile);
-			}
-		} else if (_data->loader) {
-			icon = outbg ? (selected ? st::msgFileOutCancelSelected : st::msgFileOutCancel) : (selected ? st::msgFileInCancelSelected : st::msgFileInCancel);
-		} else {
-			icon = outbg ? (selected ? st::msgFileOutDownloadSelected : st::msgFileOutDownload) : (selected ? st::msgFileInDownloadSelected : st::msgFileInDownload);
-		}
-		p.drawSpriteCenter(inner, icon);
-	}
-	int32 namewidth = width - nameleft - nameright;
-
-	p.setFont(st::semiboldFont);
-	p.setPen(st::black);
-	if (namewidth < _namew) {
-		p.drawTextLeft(nameleft, nametop, width, st::semiboldFont->elided(_name, namewidth));
-	} else {
-		p.drawTextLeft(nameleft, nametop, width, _name, _namew);
-	}
-
-	style::color status(outbg ? (selected ? st::mediaOutFgSelected : st::mediaOutFg) : (selected ? st::mediaInFgSelected : st::mediaInFg));
-	p.setFont(st::normalFont);
-	p.setPen(status);
-	p.drawTextLeft(nameleft, statustop, width, _statusText);
-}
-
-void HistoryDocument::drawInPlaylist(Painter &p, const HistoryItem *parent, bool selected, bool over, int32 width) const {
-	bool out = parent->out(), fromChannel = parent->fromChannel(), outbg = out && !fromChannel;
-	bool already = !_data->already().isEmpty(), hasdata = !_data->data.isEmpty();
-	int32 height = st::msgPadding.top() + st::mediaThumbSize + st::msgPadding.bottom();
-
-	style::color bg(selected ? st::msgInBgSelected : (over ? st::playlistHoverBg : st::msgInBg));
-	p.fillRect(0, 0, width, height, bg->b);
-
-	style::sprite img = st::mediaMusicInImg;
-	bool showPause = updateStatusText(parent);
-	if (_data->song()) {
-		SongMsgId playing;
-		AudioPlayerState playingState = AudioPlayerStopped;
-		int64 playingPosition = 0, playingDuration = 0;
-		int32 playingFrequency = 0;
-		if (audioPlayer()) {
-			audioPlayer()->currentState(&playing, &playingState, &playingPosition, &playingDuration, &playingFrequency);
-		}
-
-		if (_data->status == FileDownloadFailed || _data->status == FileUploadFailed) {
-			img = st::mediaMusicInImg;
-		} else if (_data->status == FileUploading) {
-			img = st::mediaMusicInImg;
-		} else if (already || hasdata) {
-			bool isPlaying = (playing.msgId == parent->fullId());
-			img = isPlaying ? (showPause ? st::mediaPauseOutImg : st::mediaPlayOutImg) : (showPause ? st::mediaPauseInImg : st::mediaPlayInImg);
-		} else {
-			img = st::mediaMusicInImg;
-		}
-	}
-
-	p.drawSpriteLeft(QPoint(st::msgPadding.left(), st::msgPadding.top()), width, img);
-	if (selected) {
-		App::roundRect(p, rtlrect(st::msgPadding.left(), st::msgPadding.top(), st::mediaThumbSize, st::mediaThumbSize, width), textstyleCurrent()->selectOverlay, SelectedOverlayCorners);
-	}
-
-	int32 tleft = st::msgPadding.left() + st::mediaThumbSize + st::msgPadding.right();
-	int32 twidth = width - tleft - st::msgPadding.right();
-	int32 secondwidth = width - tleft - st::msgPadding.right() - parent->skipBlockWidth();
-
-	p.setFont(st::normalFont->f);
-	p.setPen(st::black->c);
-	if (twidth < _namew) {
-		p.drawTextLeft(tleft, st::msgPadding.top() + st::mediaNameTop, width, st::normalFont->elided(_name, twidth));
-	} else {
-		p.drawTextLeft(tleft, st::msgPadding.top() + st::mediaNameTop, width, _name, _namew);
-	}
-
-	style::color status(selected ? st::mediaInFgSelected : st::mediaInFg);
-	p.setPen(status->p);
-	p.drawTextLeft(tleft, st::msgPadding.top() + st::mediaThumbSize - st::mediaDetailsShift - st::normalFont->height, width, _statusText);
-}
-
-TextLinkPtr HistoryDocument::linkInPlaylist() {
-	if (!_data->loader && _data->access) {
-		return _openl;
-	}
-	return TextLinkPtr();
-}
-
 void HistoryDocument::regItem(HistoryItem *item) {
 	App::regDocumentItem(_data, item);
 }
@@ -4497,88 +4426,6 @@ void HistoryDocument::updateFrom(const MTPMessageMedia &media, HistoryItem *pare
 	}
 }
 
-int32 HistoryDocument::resize(int32 width, const HistoryItem *parent) {
-	w = qMin(width, _maxw);
-	_height = _minh;
-	return _height;
-}
-
-const QString HistoryDocument::inDialogsText() const {
-	return _name.isEmpty() ? lang(lng_in_dlg_file) : _name;
-}
-
-const QString HistoryDocument::inHistoryText() const {
-	return qsl("[ ") + lang(lng_in_dlg_file) + (_name.isEmpty() ? QString() : (qsl(" : ") + _name)) + qsl(" ]");
-}
-
-bool HistoryDocument::hasPoint(int32 x, int32 y, const HistoryItem *parent, int32 width) const {
-	if (width < 0) width = w;
-	if (width >= _maxw) {
-		width = _maxw;
-	}
-	return (x >= 0 && y >= 0 && x < width && y < _height);
-}
-
-int32 HistoryDocument::countHeight(const HistoryItem *parent, int32 width) const {
-	if (width < 0) width = w;
-	if (width >= _maxw) {
-		width = _maxw;
-	}
-	return _height;
-}
-
-void HistoryDocument::getState(TextLinkPtr &lnk, HistoryCursorState &state, int32 x, int32 y, const HistoryItem *parent, int32 width) const {
-	if (width < 0) width = w;
-	if (width < 1) return;
-
-	bool out = parent->out(), fromChannel = parent->fromChannel(), outbg = out && !fromChannel;
-	bool already = !_data->already().isEmpty(), hasdata = !_data->data.isEmpty();
-
-	if (width >= _maxw) {
-		width = _maxw;
-	}
-
-	bool showPause = updateStatusText(parent);
-
-	int32 nameleft = 0, nametop = 0, nameright = 0, statustop = 0, linktop = 0;
-	bool wthumb = withThumb();
-	if (wthumb) {
-		nameleft = st::msgFileThumbPadding.left() + st::msgFileThumbSize + st::msgFileThumbPadding.right();
-		linktop = st::msgFileThumbLinkTop;
-
-		QRect rthumb(rtlrect(st::msgFileThumbPadding.left(), st::msgFileThumbPadding.top(), st::msgFileThumbSize, st::msgFileThumbSize, width));
-
-		if (already || hasdata) {
-		} else {
-			if (rthumb.contains(x, y)) {
-				lnk = (_data->loader || _data->status == FileUploading) ? _cancell : _savel;
-				return;
-			}
-		}
-
-		if (_data->status != FileUploadFailed) {
-			if (rtlrect(nameleft, linktop, _linkw, st::semiboldFont->height, width).contains(x, y)) {
-				lnk = (_data->loader || _data->status == FileUploading) ? _linkcancell : _linksavel;
-				return;
-			}
-		}
-	} else {
-		QRect inner(rtlrect(st::msgFilePadding.left(), st::msgFilePadding.top(), st::msgFileSize, st::msgFileSize, width));
-		if ((_data->loader || _data->status == FileUploading || (!already && !hasdata)) && inner.contains(x, y)) {
-			lnk = (_data->loader || _data->status == FileUploading) ? _cancell : _savel;
-			return;
-		}
-	}
-	if (x >= 0 && y >= 0 && x < width && y < _height && !_data->loader && _data->access) {
-		lnk = _openl;
-		return;
-	}
-}
-
-HistoryMedia *HistoryDocument::clone() const {
-	return new HistoryDocument(*this);
-}
-
 ImagePtr HistoryDocument::replyPreview() {
 	return _data->makeReplyPreview();
 }
@@ -4648,17 +4495,69 @@ void HistoryGif::initDimensions(const HistoryItem *parent) {
 		_maxw += st::mediaPadding.left() + st::mediaPadding.right();
 		_minh += st::mediaPadding.top() + st::mediaPadding.bottom();
 	}
-	w = _maxw;
-	_height = _minh;
+}
+
+int32 HistoryGif::resize(int32 width, const HistoryItem *parent) {
+	bool bubble = parent->hasBubble();
+
+	int32 tw = 0, th = 0;
+	if (_gif && _gif->ready()) {
+		tw = convertScale(_gif->width());
+		th = convertScale(_gif->height());
+	} else {
+		tw = convertScale(_data->dimensions.width()), th = convertScale(_data->dimensions.height());
+		if (!tw || !th) {
+			tw = convertScale(_data->thumb->width());
+			th = convertScale(_data->thumb->height());
+		}
+	}
+	if (tw > st::maxGifSize) {
+		th = (st::maxGifSize * th) / tw;
+		tw = st::maxGifSize;
+	}
+	if (th > st::maxGifSize) {
+		tw = (st::maxGifSize * tw) / th;
+		th = st::maxGifSize;
+	}
+	if (!tw || !th) {
+		tw = th = 1;
+	}
+
+	if (bubble) {
+		width -= st::mediaPadding.left() + st::mediaPadding.right();
+	}
+	if (width < tw) {
+		th = qRound((width / float64(tw)) * th);
+		tw = width;
+	}
+	_thumbw = tw;
+	_thumbh = th;
+
+	_width = qMax(tw, int32(st::minPhotoSize));
+	_height = qMax(th, int32(st::minPhotoSize));
+	if (_gif && _gif->ready()) {
+		if (!_gif->started()) {
+			_gif->start(_thumbw, _thumbh, _width, _height, true);
+		}
+	} else {
+		_width = qMax(_width, parent->infoWidth() + 2 * int32(st::msgDateImgDelta + st::msgDateImgPadding.x()));
+		_width = qMax(_width, gifMaxStatusWidth(_data) + 2 * int32(st::msgDateImgDelta + st::msgDateImgPadding.x()));
+	}
+	if (bubble) {
+		_width += st::mediaPadding.left() + st::mediaPadding.right();
+		_height += st::mediaPadding.top() + st::mediaPadding.bottom();
+	}
+
+	return _height;
 }
 
 void HistoryGif::draw(Painter &p, const HistoryItem *parent, const QRect &r, bool selected, uint64 ms) const {
-	if (w < st::msgPadding.left() + st::msgPadding.right() + 1) return;
-	int32 width = w, height = _height, skipx = 0, skipy = 0;
+	if (_width < st::msgPadding.left() + st::msgPadding.right() + 1) return;
+	int32 skipx = 0, skipy = 0, width = _width, height = _height;
+	bool bubble = parent->hasBubble();
+	bool out = parent->out(), fromChannel = parent->fromChannel(), outbg = out && !fromChannel;
 
 	bool animating = (_gif && _gif->started());
-	bool bubble = parent->hasBubble();
-	bool fromChannel = parent->fromChannel(), out = parent->out(), outbg = out && !fromChannel;
 
 	if (!animating) {
 		if (_data->loader) {
@@ -4682,7 +4581,7 @@ void HistoryGif::draw(Painter &p, const HistoryItem *parent, const QRect &r, boo
 	}
 	_data->thumb->checkload();
 
-	QRect rthumb(rtlrect(skipx, skipy, width, height, w));
+	QRect rthumb(rtlrect(skipx, skipy, width, height, _width));
 
 	if (animating) {
 		p.drawPixmap(rthumb.topLeft(), _gif->current(_thumbw, _thumbh, width, height, ms));
@@ -4734,10 +4633,10 @@ void HistoryGif::draw(Painter &p, const HistoryItem *parent, const QRect &r, boo
 			int32 statusX = skipx + st::msgDateImgDelta + st::msgDateImgPadding.x(), statusY = skipy + st::msgDateImgDelta + st::msgDateImgPadding.y();
 			int32 statusW = st::normalFont->width(_statusText) + 2 * st::msgDateImgPadding.x();
 			int32 statusH = st::normalFont->height + 2 * st::msgDateImgPadding.y();
-			App::roundRect(p, rtlrect(statusX - st::msgDateImgPadding.x(), statusY - st::msgDateImgPadding.y(), statusW, statusH, w), selected ? st::msgDateImgBgSelected : st::msgDateImgBg, selected ? DateSelectedCorners : DateCorners);
+			App::roundRect(p, rtlrect(statusX - st::msgDateImgPadding.x(), statusY - st::msgDateImgPadding.y(), statusW, statusH, _width), selected ? st::msgDateImgBgSelected : st::msgDateImgBg, selected ? DateSelectedCorners : DateCorners);
 			p.setFont(st::normalFont);
 			p.setPen(st::white);
-			p.drawTextLeft(statusX, statusY, w, _statusText, statusW - 2 * st::msgDateImgPadding.x());
+			p.drawTextLeft(statusX, statusY, _width, _statusText, statusW - 2 * st::msgDateImgPadding.x());
 
 			// date
 			if (parent->getMedia() == this) {
@@ -4748,6 +4647,43 @@ void HistoryGif::draw(Painter &p, const HistoryItem *parent, const QRect &r, boo
 	}
 }
 
+void HistoryGif::getState(TextLinkPtr &lnk, HistoryCursorState &state, int32 x, int32 y, const HistoryItem *parent) const {
+	if (_width < st::msgPadding.left() + st::msgPadding.right() + 1) return;
+	int32 skipx = 0, skipy = 0, width = _width, height = _height;
+	bool bubble = parent->hasBubble();
+
+	if (bubble) {
+		skipx = st::mediaPadding.left();
+		skipy = st::mediaPadding.top();
+		width -= st::mediaPadding.left() + st::mediaPadding.right();
+		height -= skipy + st::mediaPadding.bottom();
+	}
+	if (x >= skipx && y >= skipy && x < skipx + width && y < skipy + height) {
+		if (_gif && _gif->started()) {
+			lnk = _savel;
+		} else {
+			lnk = _data->already().isEmpty() ? (_data->loader ? _cancell : _savel) : _savel;
+		}
+
+		if (parent->getMedia() == this) {
+			int32 fullRight = skipx + width, fullBottom = skipy + height;
+			bool inDate = parent->pointInTime(fullRight, fullBottom, x, y, InfoDisplayOverImage);
+			if (inDate) {
+				state = HistoryInDateCursorState;
+			}
+		}
+		return;
+	}
+}
+
+const QString HistoryGif::inDialogsText() const {
+	return _data->name.isEmpty() ? lang(lng_in_dlg_file) : _data->name;
+}
+
+const QString HistoryGif::inHistoryText() const {
+	return qsl("[ ") + lang(lng_in_dlg_file) + (_data->name.isEmpty() ? QString() : (qsl(" : ") + _data->name)) + qsl(" ]");
+}
+
 void HistoryGif::setStatusSize(int32 newSize) const {
 	HistoryFileMedia::setStatusSize(newSize, _data->size, -2, 0);
 }
@@ -4785,155 +4721,6 @@ void HistoryGif::updateFrom(const MTPMessageMedia &media, HistoryItem *parent, b
 	}
 }
 
-int32 HistoryGif::resize(int32 width, const HistoryItem *parent) {
-	bool bubble = parent->hasBubble();
-
-	int32 tw = 0, th = 0;
-	if (_gif && _gif->ready()) {
-		tw = convertScale(_gif->width());
-		th = convertScale(_gif->height());
-	} else {
-		tw = convertScale(_data->dimensions.width()), th = convertScale(_data->dimensions.height());
-		if (!tw || !th) {
-			tw = convertScale(_data->thumb->width());
-			th = convertScale(_data->thumb->height());
-		}
-	}
-	if (tw > st::maxGifSize) {
-		th = (st::maxGifSize * th) / tw;
-		tw = st::maxGifSize;
-	}
-	if (th > st::maxGifSize) {
-		tw = (st::maxGifSize * tw) / th;
-		th = st::maxGifSize;
-	}
-	if (!tw || !th) {
-		tw = th = 1;
-	}
-
-	if (bubble) {
-		width -= st::mediaPadding.left() + st::mediaPadding.right();
-	}
-	if (width < tw) {
-		th = qRound((width / float64(tw)) * th);
-		tw = width;
-	}
-	_thumbw = tw;
-	_thumbh = th;
-
-	w = qMax(tw, int32(st::minPhotoSize));
-	_height = qMax(th, int32(st::minPhotoSize));
-	if (_gif && _gif->ready()) {
-		if (!_gif->started()) {
-			_gif->start(_thumbw, _thumbh, w, _height, true);
-		}
-	} else {
-		w = qMax(w, parent->infoWidth() + 2 * int32(st::msgDateImgDelta + st::msgDateImgPadding.x()));
-		w = qMax(w, gifMaxStatusWidth(_data) + 2 * int32(st::msgDateImgDelta + st::msgDateImgPadding.x()));
-	}
-	if (bubble) {
-		w += st::mediaPadding.left() + st::mediaPadding.right();
-		_height += st::mediaPadding.top() + st::mediaPadding.bottom();
-	}
-
-	return _height;
-}
-
-const QString HistoryGif::inDialogsText() const {
-	return _data->name.isEmpty() ? lang(lng_in_dlg_file) : _data->name;
-}
-
-const QString HistoryGif::inHistoryText() const {
-	return qsl("[ ") + lang(lng_in_dlg_file) + (_data->name.isEmpty() ? QString() : (qsl(" : ") + _data->name)) + qsl(" ]");
-}
-
-bool HistoryGif::hasPoint(int32 x, int32 y, const HistoryItem *parent, int32 width) const {
-	if (width < 0) width = w;
-	return (x >= 0 && y >= 0 && x < width && y < _height);
-}
-
-int32 HistoryGif::countHeight(const HistoryItem *parent, int32 width) const {
-	if (width < 0) width = w;
-	if (width >= _maxw) {
-		width = _maxw;
-	}
-
-	bool bubble = parent->hasBubble();
-
-	int32 tw = 0, th = 0;
-	if (_gif && _gif->started()) {
-		tw = convertScale(_gif->width());
-		th = convertScale(_gif->height());
-	} else {
-		tw = convertScale(_data->dimensions.width()), th = convertScale(_data->dimensions.height());
-		if (!tw || !th) {
-			tw = convertScale(_data->thumb->width());
-			th = convertScale(_data->thumb->height());
-		}
-	}
-	if (tw > st::maxGifSize) {
-		th = (st::maxGifSize * th) / tw;
-		tw = st::maxGifSize;
-	}
-	if (th > st::maxGifSize) {
-		tw = (st::maxGifSize * tw) / th;
-		th = st::maxGifSize;
-	}
-	if (!tw || !th) {
-		tw = th = 1;
-	}
-
-	if (bubble) {
-		width -= st::mediaPadding.left() + st::mediaPadding.right();
-	}
-	if (width < tw) {
-		th = qRound((width / float64(tw)) * th);
-		tw = width;
-	}
-
-	int32 h = qMax(th, int32(st::minPhotoSize));
-	if (bubble) {
-		tw += st::mediaPadding.left() + st::mediaPadding.right();
-		h += st::mediaPadding.top() + st::mediaPadding.bottom();
-	}
-	return h;
-}
-
-void HistoryGif::getState(TextLinkPtr &lnk, HistoryCursorState &state, int32 x, int32 y, const HistoryItem *parent, int32 width) const {
-	bool bubble = parent->hasBubble();
-
-	if (width < 0) width = w;
-	if (width < 1) return;
-
-	int skipx = 0, skipy = 0, height = _height;
-	if (bubble) {
-		skipx = st::mediaPadding.left();
-		skipy = st::mediaPadding.top();
-		width -= st::mediaPadding.left() + st::mediaPadding.right();
-		height -= skipy + st::mediaPadding.bottom();
-	}
-	if (x >= skipx && y >= skipy && x < skipx + width && y < skipy + height) {
-		if (_gif && _gif->started()) {
-			lnk = _savel;
-		} else {
-			lnk = _data->already().isEmpty() ? (_data->loader ? _cancell : _savel) : _savel;
-		}
-
-		if (parent->getMedia() == this) {
-			int32 fullRight = skipx + width, fullBottom = skipy + height;
-			bool inDate = parent->pointInTime(fullRight, fullBottom, x, y, InfoDisplayOverImage);
-			if (inDate) {
-				state = HistoryInDateCursorState;
-			}
-		}
-		return;
-	}
-}
-
-HistoryMedia *HistoryGif::clone() const {
-	return new HistoryGif(*this);
-}
-
 ImagePtr HistoryGif::replyPreview() {
 	return _data->makeReplyPreview();
 }
@@ -4967,8 +4754,9 @@ HistoryGif::~HistoryGif() {
 }
 
 HistorySticker::HistorySticker(DocumentData *document) : HistoryMedia()
-, pixw(1), pixh(1), data(document), lastw(0)
-{
+, pixw(1)
+, pixh(1)
+, data(document) {
 	data->thumb->load();
 	if (!data->sticker()->alt.isEmpty()) {
 		_emoji = data->sticker()->alt;
@@ -4998,14 +4786,10 @@ void HistorySticker::initDimensions(const HistoryItem *parent) {
 		_maxw += st::msgReplyPadding.left() + reply->replyToWidth();
 	}
 	_height = _minh;
-	w = qMin(lastw, _maxw);
 }
 
 void HistorySticker::draw(Painter &p, const HistoryItem *parent, const QRect &r, bool selected, uint64 ms) const {
-	if (w < st::msgPadding.left() + st::msgPadding.right() + 1) return;
-	int32 width = w, height = _height, skipx = 0, skipy = 0;
-
-	if (width > _maxw) width = _maxw;
+	if (_width < st::msgPadding.left() + st::msgPadding.right() + 1) return;
 
 	bool out = parent->out(), fromChannel = parent->fromChannel(), outbg = out && !fromChannel, hovered, pressed;
 	bool already = !data->already().isEmpty(), hasdata = !data->data.isEmpty();
@@ -5016,10 +4800,10 @@ void HistorySticker::draw(Painter &p, const HistoryItem *parent, const QRect &r,
 		usew -= st::msgReplyPadding.left() + reply->replyToWidth();
 		if (fromChannel) {
 		} else if (out) {
-			usex = width - usew;
+			usex = _width - usew;
 		}
 	}
-	if (rtl()) usex = width - usex - usew;
+	if (rtl()) usex = _width - usex - usew;
 
 	if (!already && !hasdata && !data->loader && data->status == FileReady) {
 		data->save(QString());
@@ -5049,9 +4833,9 @@ void HistorySticker::draw(Painter &p, const HistoryItem *parent, const QRect &r,
 		parent->drawInfo(p, usex + usew, _height, usex * 2 + usew, selected, InfoDisplayOverImage);
 
 		if (reply) {
-			int32 rw = width - usew - st::msgReplyPadding.left(), rh = st::msgReplyPadding.top() + st::msgReplyBarSize.height() + st::msgReplyPadding.bottom();
+			int32 rw = _width - usew - st::msgReplyPadding.left(), rh = st::msgReplyPadding.top() + st::msgReplyBarSize.height() + st::msgReplyPadding.bottom();
 			int32 rx = fromChannel ? (usew + st::msgReplyPadding.left()) : (out ? 0 : (usew + st::msgReplyPadding.left())), ry = _height - rh;
-			if (rtl()) rx = width - rx - rw;
+			if (rtl()) rx = _width - rx - rw;
 
 			App::roundRect(p, rx, ry, rw, rh, selected ? App::msgServiceSelectBg() : App::msgServiceBg(), selected ? ServiceSelectedCorners : ServiceCorners);
 
@@ -5060,10 +4844,44 @@ void HistorySticker::draw(Painter &p, const HistoryItem *parent, const QRect &r,
 	}
 }
 
-int32 HistorySticker::resize(int32 width, const HistoryItem *parent) {
-	w = qMin(width, _maxw);
-	lastw = width;
-	return _height;
+void HistorySticker::getState(TextLinkPtr &lnk, HistoryCursorState &state, int32 x, int32 y, const HistoryItem *parent) const {
+	if (_width < st::msgPadding.left() + st::msgPadding.right() + 1) return;
+
+	bool out = parent->out(), fromChannel = parent->fromChannel(), outbg = out && !fromChannel;
+
+	int32 usew = _maxw, usex = 0;
+	const HistoryReply *reply = toHistoryReply(parent);
+	if (reply) {
+		usew -= reply->replyToWidth();
+		if (fromChannel) {
+		} else if (out) {
+			usex = _width - usew;
+		}
+	}
+	if (rtl()) usex = _width - usex - usew;
+	if (reply) {
+		int32 rw = _width - usew, rh = st::msgReplyPadding.top() + st::msgReplyBarSize.height() + st::msgReplyPadding.bottom();
+		int32 rx = fromChannel ? (usew + st::msgReplyPadding.left()) : (out ? 0 : (usew + st::msgReplyPadding.left())), ry = _height - rh;
+		if (rtl()) rx = _width - rx - rw;
+		if (x >= rx && y >= ry && x < rx + rw && y < ry + rh) {
+			lnk = reply->replyToLink();
+			return;
+		}
+	}
+	if (parent->getMedia() == this) {
+		bool inDate = parent->pointInTime(usex + usew, _height, x, y, InfoDisplayOverImage);
+		if (inDate) {
+			state = HistoryInDateCursorState;
+		}
+	}
+}
+
+const QString HistorySticker::inDialogsText() const {
+	return _emoji.isEmpty() ? lang(lng_in_dlg_sticker) : lng_in_dlg_sticker_emoji(lt_emoji, _emoji);
+}
+
+const QString HistorySticker::inHistoryText() const {
+	return qsl("[ ") + inDialogsText() + qsl(" ]");
 }
 
 void HistorySticker::regItem(HistoryItem *item) {
@@ -5083,58 +4901,6 @@ void HistorySticker::updateFrom(const MTPMessageMedia &media, HistoryItem *paren
 	}
 }
 
-const QString HistorySticker::inDialogsText() const {
-	return _emoji.isEmpty() ? lang(lng_in_dlg_sticker) : lng_in_dlg_sticker_emoji(lt_emoji, _emoji);
-}
-
-const QString HistorySticker::inHistoryText() const {
-	return qsl("[ ") + inDialogsText() + qsl(" ]");
-}
-
-bool HistorySticker::hasPoint(int32 x, int32 y, const HistoryItem *parent, int32 width) const {
-	return (x >= 0 && y >= 0 && x < _maxw && y < _minh);
-}
-
-int32 HistorySticker::countHeight(const HistoryItem *parent, int32 width) const {
-	return _minh;
-}
-
-void HistorySticker::getState(TextLinkPtr &lnk, HistoryCursorState &state, int32 x, int32 y, const HistoryItem *parent, int32 width) const {
-	if (width < 0) width = w;
-	if (width < 1) return;
-
-	if (width > _maxw) width = _maxw;
-
-	bool out = parent->out(), fromChannel = parent->fromChannel(), outbg = out && !fromChannel;
-
-	int32 usew = _maxw, usex = 0;
-	const HistoryReply *reply = toHistoryReply(parent);
-	if (reply) {
-		usew -= reply->replyToWidth();
-		if (fromChannel) {
-		} else if (out) {
-			usex = width - usew;
-		}
-
-		int32 rw = width - usew, rh = st::msgReplyPadding.top() + st::msgReplyBarSize.height() + st::msgReplyPadding.bottom();
-		int32 rx = fromChannel ? (usew + st::msgReplyPadding.left()) : (out ? 0 : (usew + st::msgReplyPadding.left())), ry = _height - rh;
-		if (x >= rx && y >= ry && x < rx + rw && y < ry + rh) {
-			lnk = reply->replyToLink();
-			return;
-		}
-	}
-	if (parent->getMedia() == this) {
-		bool inDate = parent->pointInTime(usex + usew, _height, x, y, InfoDisplayOverImage);
-		if (inDate) {
-			state = HistoryInDateCursorState;
-		}
-	}
-}
-
-HistoryMedia *HistorySticker::clone() const {
-	return new HistorySticker(*this);
-}
-
 void SendMessageLink::onClick(Qt::MouseButton button) const {
 	if (button == Qt::LeftButton) {
 		Ui::showPeerHistory(peer()->id, ShowAtUnreadMsgId);
@@ -5200,75 +4966,16 @@ void HistoryContact::initDimensions(const HistoryItem *parent) {
 	_maxw = qMin(_maxw, int(st::msgMaxWidth));
 
 	if (_userId) {
-		_height = _minh = st::msgFileThumbPadding.top() + st::msgFileThumbSize + st::msgFileThumbPadding.bottom();
+		_minh = st::msgFileThumbPadding.top() + st::msgFileThumbSize + st::msgFileThumbPadding.bottom();
 	} else {
-		_height = _minh = st::msgFilePadding.top() + st::msgFileSize + st::msgFilePadding.bottom();
-	}
-}
-
-const QString HistoryContact::inDialogsText() const {
-	return lang(lng_in_dlg_contact);
-}
-
-const QString HistoryContact::inHistoryText() const {
-	return qsl("[ ") + lang(lng_in_dlg_contact) + qsl(" : ") + _name.original() + qsl(", ") + _phone + qsl(" ]");
-}
-
-bool HistoryContact::hasPoint(int32 x, int32 y, const HistoryItem *parent, int32 width) const {
-	if (width < 0) width = w;
-	if (width >= _maxw) {
-		width = _maxw;
-	}
-	return (x >= 0 && y >= 0 && x < width && y < _height);
-}
-
-void HistoryContact::getState(TextLinkPtr &lnk, HistoryCursorState &state, int32 x, int32 y, const HistoryItem *parent, int32 width) const {
-	if (width < 0) width = w;
-	if (width < 1) return;
-
-	bool out = parent->out(), fromChannel = parent->fromChannel(), outbg = out && !fromChannel;
-
-	if (width >= _maxw) {
-		width = _maxw;
-	}
-
-	int32 nameleft = 0, nametop = 0, nameright = 0, statustop = 0, linktop = 0;
-	if (_userId) {
-		nameleft = st::msgFileThumbPadding.left() + st::msgFileThumbSize + st::msgFileThumbPadding.right();
-		linktop = st::msgFileThumbLinkTop;
-
-		QRect rthumb(rtlrect(st::msgFileThumbPadding.left(), st::msgFileThumbPadding.top(), st::msgFileThumbSize, st::msgFileThumbSize, width));
-
-		if (rtlrect(nameleft, linktop, _linkw, st::semiboldFont->height, width).contains(x, y)) {
-			lnk = _linkl;
-			return;
-		}
-	}
-	if (x >= 0 && y >= 0 && x < width && y < _height && _contact) {
-		lnk = _contact->lnk;
-		return;
-	}
-}
-
-HistoryMedia *HistoryContact::clone() const {
-	return new HistoryContact(_userId, _fname, _lname, _phone);
-}
-
-void HistoryContact::regItem(HistoryItem *item) {
-	if (_userId) {
-		App::regSharedContactItem(_userId, item);
-	}
-}
-
-void HistoryContact::unregItem(HistoryItem *item) {
-	if (_userId) {
-		App::unregSharedContactItem(_userId, item);
+		_minh = st::msgFilePadding.top() + st::msgFileSize + st::msgFilePadding.bottom();
 	}
+	_height = _minh;
 }
 
 void HistoryContact::draw(Painter &p, const HistoryItem *parent, const QRect &r, bool selected, uint64 ms) const {
-	if (w < st::msgPadding.left() + st::msgPadding.right() + 1) return;
-	int32 width = w, height = _height, skipx = 0, skipy = 0;
+	if (_width < st::msgPadding.left() + st::msgPadding.right() + 1) return;
+	int32 skipx = 0, skipy = 0, width = _width, height = _height;
 
 	bool out = parent->out(), fromChannel = parent->fromChannel(), outbg = out && !fromChannel;
 
@@ -5313,13 +5020,51 @@ void HistoryContact::draw(Painter &p, const HistoryItem *parent, const QRect &r,
 	p.setFont(st::semiboldFont);
 	p.setPen(st::black);
 	_name.drawLeftElided(p, nameleft, nametop, namewidth, width);
-	
+
 	style::color status(outbg ? (selected ? st::mediaOutFgSelected : st::mediaOutFg) : (selected ? st::mediaInFgSelected : st::mediaInFg));
 	p.setFont(st::normalFont);
 	p.setPen(status);
 	p.drawTextLeft(nameleft, statustop, width, _phone);
 }
 
+void HistoryContact::getState(TextLinkPtr &lnk, HistoryCursorState &state, int32 x, int32 y, const HistoryItem *parent) const {
+	bool out = parent->out(), fromChannel = parent->fromChannel(), outbg = out && !fromChannel;
+
+	int32 nameleft = 0, nametop = 0, nameright = 0, statustop = 0, linktop = 0;
+	if (_userId) {
+		nameleft = st::msgFileThumbPadding.left() + st::msgFileThumbSize + st::msgFileThumbPadding.right();
+		linktop = st::msgFileThumbLinkTop;
+		if (rtlrect(nameleft, linktop, _linkw, st::semiboldFont->height, _width).contains(x, y)) {
+			lnk = _linkl;
+			return;
+		}
+	}
+	if (x >= 0 && y >= 0 && x < _width && y < _height && _contact) {
+		lnk = _contact->lnk;
+		return;
+	}
+}
+
+const QString HistoryContact::inDialogsText() const {
+	return lang(lng_in_dlg_contact);
+}
+
+const QString HistoryContact::inHistoryText() const {
+	return qsl("[ ") + lang(lng_in_dlg_contact) + qsl(" : ") + _name.original() + qsl(", ") + _phone + qsl(" ]");
+}
+
+void HistoryContact::regItem(HistoryItem *item) {
+	if (_userId) {
+		App::regSharedContactItem(_userId, item);
+	}
+}
+
+void HistoryContact::unregItem(HistoryItem *item) {
+	if (_userId) {
+		App::unregSharedContactItem(_userId, item);
+	}
+}
+
 void HistoryContact::updateFrom(const MTPMessageMedia &media, HistoryItem *parent, bool allowEmitResize) {
 	if (media.type() == mtpc_messageMediaContact) {
 		if (_userId != media.c_messageMediaContact().vuser_id.v) {
@@ -5516,127 +5261,16 @@ void HistoryWebPage::initDimensions(const HistoryItem *parent) {
 	if (_asArticle) {
 		_minh += st::msgDateFont->height;
 	}
-	w = _maxw;
-	_height = _minh;
-}
-
-void HistoryWebPage::linkOver(HistoryItem *parent, const TextLinkPtr &lnk) {
-	if (_attach) {
-		_attach->linkOver(parent, lnk);
-	}
-}
-
-void HistoryWebPage::linkOut(HistoryItem *parent, const TextLinkPtr &lnk) {
-	if (_attach) {
-		_attach->linkOut(parent, lnk);
-	}
-}
-
-void HistoryWebPage::draw(Painter &p, const HistoryItem *parent, const QRect &r, bool selected, uint64 ms) const {
-	if (w < st::msgPadding.left() + st::msgPadding.right() + 1) return;
-	int32 width = w, height = _height, skipx = 0, skipy = 0;
-
-	bool out = parent->out(), fromChannel = parent->fromChannel(), outbg = out && !fromChannel;
-
-	style::color barfg = (selected ? (outbg ? st::msgOutReplyBarSelColor : st::msgInReplyBarSelColor) : (outbg ? st::msgOutReplyBarColor : st::msgInReplyBarColor));
-	style::color semibold = (selected ? (outbg ? st::msgOutServiceFgSelected : st::msgInServiceFgSelected) : (outbg ? st::msgOutServiceFg : st::msgInServiceFg));
-	style::color regular = (selected ? (outbg ? st::msgOutDateFgSelected : st::msgInDateFgSelected) : (outbg ? st::msgOutDateFg : st::msgInDateFg));
-
-	int32 lshift = st::msgPadding.left() + st::webPageLeft, rshift = st::msgPadding.right(), bshift = st::msgPadding.bottom();
-	width -= lshift + rshift;
-	QMargins bubble(_attach ? _attach->bubbleMargins() : QMargins());
-	if (_asArticle || (_attach && _attach->customInfoLayout() && _attach->currentWidth() + parent->skipBlockWidth() > width + bubble.left() + bubble.right())) {
-		bshift += st::msgDateFont->height;
-	}
-		
-	QRect bar(rtlrect(st::msgPadding.left(), 0, st::webPageBar, _height - bshift, w));
-	p.fillRect(bar, barfg);
-
-	if (_asArticle) {
-		_data->photo->medium->load(false, false);
-		bool full = _data->photo->medium->loaded();
-		QPixmap pix;
-		int32 pw = qMax(_pixw, int16(_lineHeight));
-		if (full) {
-			pix = _data->photo->medium->pixSingle(_pixw, articleThumbHeight(_data->photo, _pixw), pw, _pixh);
-		} else {
-			pix = _data->photo->thumb->pixBlurredSingle(_pixw, articleThumbHeight(_data->photo, _pixw), pw, _pixh);
-		}
-		p.drawPixmapLeft(lshift + width - pw, 0, w, pix);
-		if (selected) {
-			App::roundRect(p, rtlrect(lshift + width - pw, 0, pw, _pixh, w), textstyleCurrent()->selectOverlay, SelectedOverlayCorners);
-		}
-		width -= pw + st::webPagePhotoDelta;
-	}
-	int32 tshift = 0;
-	if (_siteNameWidth) {
-		p.setFont(st::webPageTitleFont);
-		p.setPen(semibold);
-		p.drawTextLeft(lshift, tshift, w, (width >= _siteNameWidth) ? _data->siteName : st::webPageTitleFont->elided(_data->siteName, width));
-		tshift += _lineHeight;
-	}
-	if (_titleLines) {
-		p.setPen(st::black);
-		int32 endskip = 0;
-		if (_title.hasSkipBlock()) {
-			endskip = parent->skipBlockWidth();
-		}
-		_title.drawLeftElided(p, lshift, tshift, width, w, _titleLines, style::al_left, 0, -1, endskip);
-		tshift += _titleLines * _lineHeight;
-	}
-	if (_descriptionLines) {
-		p.setPen(st::black);
-		int32 endskip = 0;
-		if (_description.hasSkipBlock()) {
-			endskip = parent->skipBlockWidth();
-		}
-		_description.drawLeftElided(p, lshift, tshift, width, w, _descriptionLines, style::al_left, 0, -1, endskip);
-		tshift += _descriptionLines * _lineHeight;
-	}
-	if (_attach) {
-		if (tshift) tshift += st::webPagePhotoSkip;
-
-		int32 attachLeft = lshift - bubble.left(), attachTop = tshift - bubble.top();
-		if (rtl()) attachLeft = w - attachLeft - _attach->currentWidth();
-
-		p.save();
-		p.translate(attachLeft, attachTop);
-
-		_attach->draw(p, parent, r.translated(-attachLeft, -attachTop), selected, ms);
-		int32 pixwidth = _attach->currentWidth(), pixheight = _attach->height();
-		
-		if (_data->type == WebPageVideo) {
-			if (_data->siteName == qstr("YouTube")) {
-				p.drawPixmap(QPoint((pixwidth - st::youtubeIcon.pxWidth()) / 2, (pixheight - st::youtubeIcon.pxHeight()) / 2), App::sprite(), st::youtubeIcon);
-			} else {
-				p.drawPixmap(QPoint((pixwidth - st::videoIcon.pxWidth()) / 2, (pixheight - st::videoIcon.pxHeight()) / 2), App::sprite(), st::videoIcon);
-			}
-			if (_durationWidth) {
-				int32 dateX = pixwidth - _durationWidth - st::msgDateImgDelta - 2 * st::msgDateImgPadding.x();
-				int32 dateY = pixheight - st::msgDateFont->height - 2 * st::msgDateImgPadding.y() - st::msgDateImgDelta;
-				int32 dateW = pixwidth - dateX - st::msgDateImgDelta;
-				int32 dateH = pixheight - dateY - st::msgDateImgDelta;
-
-				App::roundRect(p, dateX, dateY, dateW, dateH, selected ? st::msgDateImgBgSelected : st::msgDateImgBg, selected ? DateSelectedCorners : DateCorners);
-
-				p.setFont(st::msgDateFont->f);
-				p.setPen(st::msgDateImgColor->p);
-				p.drawTextLeft(dateX + st::msgDateImgPadding.x(), dateY + st::msgDateImgPadding.y(), pixwidth, _duration);
-			}
-		}
-
-		p.restore();
-	}
 }
 
 int32 HistoryWebPage::resize(int32 width, const HistoryItem *parent) {
 	if (_data->pendingTill) {
-		w = width;
+		_width = width;
 		_height = _minh;
 		return _height;
 	}
 
-	w = width;
+	_width = qMin(width, _maxw);
 	width -= st::msgPadding.left() + st::webPageLeft + st::msgPadding.right();
 
 	int32 linesMax = 5;
@@ -5718,6 +5352,161 @@ int32 HistoryWebPage::resize(int32 width, const HistoryItem *parent) {
 	return _height;
 }
 
+void HistoryWebPage::draw(Painter &p, const HistoryItem *parent, const QRect &r, bool selected, uint64 ms) const {
+	if (_width < st::msgPadding.left() + st::msgPadding.right() + 1) return;
+	int32 skipx = 0, skipy = 0, width = _width, height = _height;
+
+	bool out = parent->out(), fromChannel = parent->fromChannel(), outbg = out && !fromChannel;
+
+	style::color barfg = (selected ? (outbg ? st::msgOutReplyBarSelColor : st::msgInReplyBarSelColor) : (outbg ? st::msgOutReplyBarColor : st::msgInReplyBarColor));
+	style::color semibold = (selected ? (outbg ? st::msgOutServiceFgSelected : st::msgInServiceFgSelected) : (outbg ? st::msgOutServiceFg : st::msgInServiceFg));
+	style::color regular = (selected ? (outbg ? st::msgOutDateFgSelected : st::msgInDateFgSelected) : (outbg ? st::msgOutDateFg : st::msgInDateFg));
+
+	int32 lshift = st::msgPadding.left() + st::webPageLeft, rshift = st::msgPadding.right(), bshift = st::msgPadding.bottom();
+	width -= lshift + rshift;
+	QMargins bubble(_attach ? _attach->bubbleMargins() : QMargins());
+	if (_asArticle || (_attach && _attach->customInfoLayout() && _attach->currentWidth() + parent->skipBlockWidth() > width + bubble.left() + bubble.right())) {
+		bshift += st::msgDateFont->height;
+	}
+		
+	QRect bar(rtlrect(st::msgPadding.left(), 0, st::webPageBar, _height - bshift, _width));
+	p.fillRect(bar, barfg);
+
+	if (_asArticle) {
+		_data->photo->medium->load(false, false);
+		bool full = _data->photo->medium->loaded();
+		QPixmap pix;
+		int32 pw = qMax(_pixw, int16(_lineHeight));
+		if (full) {
+			pix = _data->photo->medium->pixSingle(_pixw, articleThumbHeight(_data->photo, _pixw), pw, _pixh);
+		} else {
+			pix = _data->photo->thumb->pixBlurredSingle(_pixw, articleThumbHeight(_data->photo, _pixw), pw, _pixh);
+		}
+		p.drawPixmapLeft(lshift + width - pw, 0, _width, pix);
+		if (selected) {
+			App::roundRect(p, rtlrect(lshift + width - pw, 0, pw, _pixh, _width), textstyleCurrent()->selectOverlay, SelectedOverlayCorners);
+		}
+		width -= pw + st::webPagePhotoDelta;
+	}
+	int32 tshift = 0;
+	if (_siteNameWidth) {
+		p.setFont(st::webPageTitleFont);
+		p.setPen(semibold);
+		p.drawTextLeft(lshift, tshift, _width, (width >= _siteNameWidth) ? _data->siteName : st::webPageTitleFont->elided(_data->siteName, width));
+		tshift += _lineHeight;
+	}
+	if (_titleLines) {
+		p.setPen(st::black);
+		int32 endskip = 0;
+		if (_title.hasSkipBlock()) {
+			endskip = parent->skipBlockWidth();
+		}
+		_title.drawLeftElided(p, lshift, tshift, width, _width, _titleLines, style::al_left, 0, -1, endskip);
+		tshift += _titleLines * _lineHeight;
+	}
+	if (_descriptionLines) {
+		p.setPen(st::black);
+		int32 endskip = 0;
+		if (_description.hasSkipBlock()) {
+			endskip = parent->skipBlockWidth();
+		}
+		_description.drawLeftElided(p, lshift, tshift, width, _width, _descriptionLines, style::al_left, 0, -1, endskip);
+		tshift += _descriptionLines * _lineHeight;
+	}
+	if (_attach) {
+		if (tshift) tshift += st::webPagePhotoSkip;
+
+		int32 attachLeft = lshift - bubble.left(), attachTop = tshift - bubble.top();
+		if (rtl()) attachLeft = _width - attachLeft - _attach->currentWidth();
+
+		p.save();
+		p.translate(attachLeft, attachTop);
+
+		_attach->draw(p, parent, r.translated(-attachLeft, -attachTop), selected, ms);
+		int32 pixwidth = _attach->currentWidth(), pixheight = _attach->height();
+		
+		if (_data->type == WebPageVideo) {
+			if (_data->siteName == qstr("YouTube")) {
+				p.drawPixmap(QPoint((pixwidth - st::youtubeIcon.pxWidth()) / 2, (pixheight - st::youtubeIcon.pxHeight()) / 2), App::sprite(), st::youtubeIcon);
+			} else {
+				p.drawPixmap(QPoint((pixwidth - st::videoIcon.pxWidth()) / 2, (pixheight - st::videoIcon.pxHeight()) / 2), App::sprite(), st::videoIcon);
+			}
+			if (_durationWidth) {
+				int32 dateX = pixwidth - _durationWidth - st::msgDateImgDelta - 2 * st::msgDateImgPadding.x();
+				int32 dateY = pixheight - st::msgDateFont->height - 2 * st::msgDateImgPadding.y() - st::msgDateImgDelta;
+				int32 dateW = pixwidth - dateX - st::msgDateImgDelta;
+				int32 dateH = pixheight - dateY - st::msgDateImgDelta;
+
+				App::roundRect(p, dateX, dateY, dateW, dateH, selected ? st::msgDateImgBgSelected : st::msgDateImgBg, selected ? DateSelectedCorners : DateCorners);
+
+				p.setFont(st::msgDateFont);
+				p.setPen(st::msgDateImgColor);
+				p.drawTextLeft(dateX + st::msgDateImgPadding.x(), dateY + st::msgDateImgPadding.y(), pixwidth, _duration);
+			}
+		}
+
+		p.restore();
+	}
+}
+
+void HistoryWebPage::getState(TextLinkPtr &lnk, HistoryCursorState &state, int32 x, int32 y, const HistoryItem *parent) const {
+	if (_width < st::msgPadding.left() + st::msgPadding.right() + 1) return;
+	int32 skipx = 0, skipy = 0, width = _width, height = _height;
+
+	int32 lshift = st::msgPadding.left() + st::webPageLeft, rshift = st::msgPadding.right(), bshift = st::msgPadding.bottom();
+	width -= lshift + rshift;
+	QMargins bubble(_attach ? _attach->bubbleMargins() : QMargins());
+	if (_asArticle || (_attach && _attach->customInfoLayout() && _attach->currentWidth() + parent->skipBlockWidth() > width + bubble.left() + bubble.right())) {
+		bshift += st::msgDateFont->height;
+	}
+
+	if (_asArticle) {
+		int32 pw = qMax(_pixw, int16(_lineHeight));
+		if (rtlrect(lshift + width - pw, 0, pw, _pixh, _width).contains(x, y)) {
+			lnk = _openl;
+			return;
+		}
+		width -= pw + st::webPagePhotoDelta;
+	}
+	int32 tshift = 0;
+	if (_siteNameWidth) {
+		tshift += _lineHeight;
+	}
+	if (_titleLines) {
+		tshift += _titleLines * _lineHeight;
+	}
+	if (_descriptionLines) {
+		if (y >= tshift && y < tshift + _descriptionLines * _lineHeight) {
+			bool inText = false;
+			_description.getStateLeft(lnk, inText, x - lshift, y - tshift, width, _width);
+			state = inText ? HistoryInTextCursorState : HistoryDefaultCursorState;
+			return;
+		}
+		tshift += _descriptionLines * _lineHeight;
+	}
+	if (_attach) {
+		if (tshift) tshift += st::webPagePhotoSkip;
+
+		if (x >= lshift && x < lshift + width && y >= tshift && y < _height - st::msgPadding.bottom()) {
+			int32 attachLeft = lshift - bubble.left(), attachTop = tshift - bubble.top();
+			if (rtl()) attachLeft = _width - attachLeft - _attach->currentWidth();
+			_attach->getState(lnk, state, x - attachLeft, y - attachTop, parent);
+		}
+	}
+}
+
+void HistoryWebPage::linkOver(HistoryItem *parent, const TextLinkPtr &lnk) {
+	if (_attach) {
+		_attach->linkOver(parent, lnk);
+	}
+}
+
+void HistoryWebPage::linkOut(HistoryItem *parent, const TextLinkPtr &lnk) {
+	if (_attach) {
+		_attach->linkOut(parent, lnk);
+	}
+}
+
 void HistoryWebPage::regItem(HistoryItem *item) {
 	App::regWebPageItem(_data, item);
 	if (_attach) _attach->regItem(item);
@@ -5736,64 +5525,6 @@ const QString HistoryWebPage::inHistoryText() const {
 	return QString();
 }
 
-bool HistoryWebPage::hasPoint(int32 x, int32 y, const HistoryItem *parent, int32 width) const {
-	if (width < 0) width = w;
-	if (width >= _maxw) width = _maxw;
-
-	return (x >= 0 && y >= 0 && x < width && y < _height);
-}
-
-void HistoryWebPage::getState(TextLinkPtr &lnk, HistoryCursorState &state, int32 x, int32 y, const HistoryItem *parent, int32 width) const {
-	if (width < 0) width = w;
-	if (width < st::msgPadding.left() + st::msgPadding.right() + 1) return;
-	int32 height = _height, skipx = 0, skipy = 0;
-
-	int32 lshift = st::msgPadding.left() + st::webPageLeft, rshift = st::msgPadding.right(), bshift = st::msgPadding.bottom();
-	width -= lshift + rshift;
-	QMargins bubble(_attach ? _attach->bubbleMargins() : QMargins());
-	if (_asArticle || (_attach && _attach->customInfoLayout() && _attach->currentWidth() + parent->skipBlockWidth() > width + bubble.left() + bubble.right())) {
-		bshift += st::msgDateFont->height;
-	}
-
-	if (_asArticle) {
-		int32 pw = qMax(_pixw, int16(_lineHeight));
-		if (rtlrect(lshift + width - pw, 0, pw, _pixh, w).contains(x, y)) {
-			lnk = _openl;
-			return;
-		}
-		width -= pw + st::webPagePhotoDelta;
-	}
-	int32 tshift = 0;
-	if (_siteNameWidth) {
-		tshift += _lineHeight;
-	}
-	if (_titleLines) {
-		tshift += _titleLines * _lineHeight;
-	}
-	if (_descriptionLines) {
-		if (y >= tshift && y < tshift + _descriptionLines * _lineHeight) {
-			bool inText = false;
-			_description.getStateLeft(lnk, inText, x - lshift, y - tshift, width, w);
-			state = inText ? HistoryInTextCursorState : HistoryDefaultCursorState;
-			return;
-		}
-		tshift += _descriptionLines * _lineHeight;
-	}
-	if (_attach) {
-		if (tshift) tshift += st::webPagePhotoSkip;
-
-		if (x >= lshift && x < lshift + width && y >= tshift && y < _height - st::msgPadding.bottom()) {
-			int32 attachLeft = lshift - bubble.left(), attachTop = tshift - bubble.top();
-			if (rtl()) attachLeft = w - attachLeft - _attach->currentWidth();
-			_attach->getState(lnk, state, x - attachLeft, y - attachTop, parent);
-		}
-	}
-}
-
-HistoryMedia *HistoryWebPage::clone() const {
-	return new HistoryWebPage(*this);
-}
-
 ImagePtr HistoryWebPage::replyPreview() {
 	return _data->photo ? _data->photo->makeReplyPreview() : (_data->doc ? _data->doc->makeReplyPreview() : ImagePtr());
 }
@@ -6016,24 +5747,6 @@ _description(st::msgMinWidth) {
 	}
 }
 
-int32 HistoryImageLink::fullWidth() const {
-	if (_data) {
-		switch (_data->type) {
-		case GoogleMapsLink: return st::locationSize.width();
-		}
-	}
-	return st::minPhotoSize;
-}
-
-int32 HistoryImageLink::fullHeight() const {
-	if (_data) {
-		switch (_data->type) {
-		case GoogleMapsLink: return st::locationSize.height();
-		}
-	}
-	return st::minPhotoSize;
-}
-
 void HistoryImageLink::initDimensions(const HistoryItem *parent) {
 	bool bubble = parent->hasBubble();
 
@@ -6043,7 +5756,7 @@ void HistoryImageLink::initDimensions(const HistoryItem *parent) {
 		tw = st::maxMediaSize;
 	}
 	int32 minWidth = qMax(st::minPhotoSize, parent->infoWidth() + 2 * (st::msgDateImgDelta + st::msgDateImgPadding.x()));
-	_maxw = w = qMax(tw, int32(minWidth));
+	_maxw = qMax(tw, int32(minWidth));
 	_minh = qMax(th, int32(st::minPhotoSize));
 
 	if (bubble) {
@@ -6063,15 +5776,53 @@ void HistoryImageLink::initDimensions(const HistoryItem *parent) {
 			}
 		}
 	}
-	_height = _minh;
+}
+
+int32 HistoryImageLink::resize(int32 width, const HistoryItem *parent) {
+	bool bubble = parent->hasBubble();
+
+	_width = qMin(width, _maxw);
+	if (bubble) {
+		_width -= st::mediaPadding.left() + st::mediaPadding.right();
+	}
+
+	int32 tw = fullWidth(), th = fullHeight();
+	if (tw > st::maxMediaSize) {
+		th = (st::maxMediaSize * th) / tw;
+		tw = st::maxMediaSize;
+	}
+	_height = th;
+	if (tw > _width) {
+		_height = (_width * _height / tw);
+	} else {
+		_width = tw;
+	}
+	int32 minWidth = qMax(st::minPhotoSize, parent->infoWidth() + 2 * (st::msgDateImgDelta + st::msgDateImgPadding.x()));
+	_width = qMax(_width, int32(minWidth));
+	_height = qMax(_height, int32(st::minPhotoSize));
+	if (bubble) {
+		_width += st::mediaPadding.left() + st::mediaPadding.right();
+		_height += st::mediaPadding.top() + st::mediaPadding.bottom();
+		if (!_title.isEmpty()) {
+			_height += qMin(_title.countHeight(_width - st::msgPadding.left() - st::msgPadding.right()), st::webPageTitleFont->height * 2);
+		}
+		if (!_description.isEmpty()) {
+			_height += qMin(_description.countHeight(_width - st::msgPadding.left() - st::msgPadding.right()), st::webPageDescriptionFont->height * 3);
+		}
+		if (!_title.isEmpty() || !_description.isEmpty()) {
+			_height += st::webPagePhotoSkip;
+			if (!parent->toHistoryForwarded() && !parent->toHistoryReply()) {
+				_height += st::msgPadding.top();
+			}
+		}
+	}
+	return _height;
 }
 
 void HistoryImageLink::draw(Painter &p, const HistoryItem *parent, const QRect &r, bool selected, uint64 ms) const {
+	if (_width < st::msgPadding.left() + st::msgPadding.right() + 1) return;
+	int32 skipx = 0, skipy = 0, width = _width, height = _height;
 	bool bubble = parent->hasBubble();
-
-	if (w < st::msgPadding.left() + st::msgPadding.right() + 1) return;
-	int32 width = w, height = _height, skipx = 0, skipy = 0;
-
 	bool out = parent->out(), fromChannel = parent->fromChannel(), outbg = out && !fromChannel;
 
 	if (bubble) {
@@ -6085,15 +5836,15 @@ void HistoryImageLink::draw(Painter &p, const HistoryItem *parent, const QRect &
 		}
 
 		width -= st::mediaPadding.left() + st::mediaPadding.right();
-		int32 textw = w - st::msgPadding.left() - st::msgPadding.right();
+		int32 textw = _width - st::msgPadding.left() - st::msgPadding.right();
 
 		p.setPen(st::black);
 		if (!_title.isEmpty()) {
-			_title.drawLeftElided(p, skipx + st::msgPadding.left(), skipy, textw, w, 2);
+			_title.drawLeftElided(p, skipx + st::msgPadding.left(), skipy, textw, _width, 2);
 			skipy += qMin(_title.countHeight(textw), 2 * st::webPageTitleFont->height);
 		}
 		if (!_description.isEmpty()) {
-			_description.drawLeftElided(p, skipx + st::msgPadding.left(), skipy, textw, w, 3);
+			_description.drawLeftElided(p, skipx + st::msgPadding.left(), skipy, textw, _width, 3);
 			skipy += qMin(_description.countHeight(textw), 3 * st::webPageDescriptionFont->height);
 		}
 		if (!_title.isEmpty() || !_description.isEmpty()) {
@@ -6101,7 +5852,7 @@ void HistoryImageLink::draw(Painter &p, const HistoryItem *parent, const QRect &
 		}
 		height -= skipy + st::mediaPadding.bottom();
 	} else {
-		App::roundShadow(p, 0, 0, width, _height, selected ? st::msgInShadowSelected : st::msgInShadow, selected ? InSelectedShadowCorners : InShadowCorners);
+		App::roundShadow(p, 0, 0, width, height, selected ? st::msgInShadowSelected : st::msgInShadow, selected ? InSelectedShadowCorners : InShadowCorners);
 	}
 
 	_data->load();
@@ -6132,77 +5883,11 @@ void HistoryImageLink::draw(Painter &p, const HistoryItem *parent, const QRect &
 	}
 }
 
-int32 HistoryImageLink::resize(int32 width, const HistoryItem *parent) {
+void HistoryImageLink::getState(TextLinkPtr &lnk, HistoryCursorState &state, int32 x, int32 y, const HistoryItem *parent) const {
+	if (_width < st::msgPadding.left() + st::msgPadding.right() + 1) return;
+	int32 skipx = 0, skipy = 0, width = _width, height = _height;
 	bool bubble = parent->hasBubble();
 
-	w = qMin(width, _maxw);
-	if (bubble) {
-		w -= st::mediaPadding.left() + st::mediaPadding.right();
-	}
-
-	int32 tw = fullWidth(), th = fullHeight();
-	if (tw > st::maxMediaSize) {
-		th = (st::maxMediaSize * th) / tw;
-		tw = st::maxMediaSize;
-	}
-	_height = th;
-	if (tw > w) {
-		_height = (w * _height / tw);
-	} else {
-		w = tw;
-	}
-	int32 minWidth = qMax(st::minPhotoSize, parent->infoWidth() + 2 * (st::msgDateImgDelta + st::msgDateImgPadding.x()));
-	w = qMax(w, int32(minWidth));
-	_height = qMax(_height, int32(st::minPhotoSize));
-	if (bubble) {
-		w += st::mediaPadding.left() + st::mediaPadding.right();
-		if (!_title.isEmpty()) {
-			_height += qMin(_title.countHeight(w - st::msgPadding.left() - st::msgPadding.right()), st::webPageTitleFont->height * 2);
-		}
-		if (!_description.isEmpty()) {
-			_height += qMin(_description.countHeight(w - st::msgPadding.left() - st::msgPadding.right()), st::webPageDescriptionFont->height * 3);
-		}
-		_height += st::mediaPadding.top() + st::mediaPadding.bottom();
-		if (!_title.isEmpty() || !_description.isEmpty()) {
-			_height += st::webPagePhotoSkip;
-			if (!parent->toHistoryForwarded() && !parent->toHistoryReply()) {
-				_height += st::msgPadding.top();
-			}
-		}
-	}
-	return _height;
-}
-
-const QString HistoryImageLink::inDialogsText() const {
-	if (_data) {
-		switch (_data->type) {
-		case GoogleMapsLink: return lang(lng_maps_point);
-		}
-	}
-	return QString();
-}
-
-const QString HistoryImageLink::inHistoryText() const {
-	if (_data) {
-		switch (_data->type) {
-		case GoogleMapsLink: return qsl("[ ") + lang(lng_maps_point) + qsl(" : ") + _link->text() + qsl(" ]");
-		}
-	}
-	return qsl("[ Link : ") + _link->text() + qsl(" ]");
-}
-
-bool HistoryImageLink::hasPoint(int32 x, int32 y, const HistoryItem *parent, int32 width) const {
-	if (width < 0) width = w;
-	return (x >= 0 && y >= 0 && x < width && y < _height);
-}
-
-void HistoryImageLink::getState(TextLinkPtr &lnk, HistoryCursorState &state, int32 x, int32 y, const HistoryItem *parent, int32 width) const {
-	bool bubble = parent->hasBubble();
-	if (width < 0) width = w;
-
-	bool out = parent->out(), fromChannel = parent->fromChannel(), outbg = out && !fromChannel;
-
-	int skipx = 0, skipy = 0, height = _height;
 	if (bubble) {
 		skipx = st::mediaPadding.left();
 		skipy = st::mediaPadding.top();
@@ -6214,7 +5899,7 @@ void HistoryImageLink::getState(TextLinkPtr &lnk, HistoryCursorState &state, int
 		}
 
 		width -= st::mediaPadding.left() + st::mediaPadding.right();
-		int32 textw = w - st::msgPadding.left() - st::msgPadding.right();
+		int32 textw = _width - st::msgPadding.left() - st::msgPadding.right();
 
 		if (!_title.isEmpty()) {
 			skipy += qMin(_title.countHeight(textw), 2 * st::webPageTitleFont->height);
@@ -6240,8 +5925,40 @@ void HistoryImageLink::getState(TextLinkPtr &lnk, HistoryCursorState &state, int
 	}
 }
 
-HistoryMedia *HistoryImageLink::clone() const {
-	return new HistoryImageLink(*this);
+const QString HistoryImageLink::inDialogsText() const {
+	if (_data) {
+		switch (_data->type) {
+		case GoogleMapsLink: return lang(lng_maps_point);
+		}
+	}
+	return QString();
+}
+
+const QString HistoryImageLink::inHistoryText() const {
+	if (_data) {
+		switch (_data->type) {
+		case GoogleMapsLink: return qsl("[ ") + lang(lng_maps_point) + qsl(" : ") + _link->text() + qsl(" ]");
+		}
+	}
+	return qsl("[ Link : ") + _link->text() + qsl(" ]");
+}
+
+int32 HistoryImageLink::fullWidth() const {
+	if (_data) {
+		switch (_data->type) {
+		case GoogleMapsLink: return st::locationSize.width();
+		}
+	}
+	return st::minPhotoSize;
+}
+
+int32 HistoryImageLink::fullHeight() const {
+	if (_data) {
+		switch (_data->type) {
+		case GoogleMapsLink: return st::locationSize.height();
+		}
+	}
+	return st::minPhotoSize;
 }
 
 HistoryMessage::HistoryMessage(History *history, HistoryBlock *block, const MTPDmessage &msg) :
diff --git a/Telegram/SourceFiles/history.h b/Telegram/SourceFiles/history.h
index 8b576d3bb..b8d8c94f7 100644
--- a/Telegram/SourceFiles/history.h
+++ b/Telegram/SourceFiles/history.h
@@ -1145,32 +1145,40 @@ private:
 class HistoryMedia : public HistoryElem {
 public:
 
-	HistoryMedia() : w(0) {
+	HistoryMedia() : _width(0) {
 	}
-	HistoryMedia(const HistoryMedia &other) : w(0) {
+	HistoryMedia(const HistoryMedia &other) : _width(0) {
 	}
 
 	virtual HistoryMediaType type() const = 0;
 	virtual const QString inDialogsText() const = 0;
 	virtual const QString inHistoryText() const = 0;
-	virtual bool hasPoint(int32 x, int32 y, const HistoryItem *parent, int32 width = -1) const = 0;
+
+	bool hasPoint(int32 x, int32 y, const HistoryItem *parent) const {
+		return (x >= 0 && y >= 0 && x < _width && y < _height);
+	}
+
 	virtual bool isDisplayed() const {
 		return true;
 	}
-	virtual int32 countHeight(const HistoryItem *parent, int32 width = -1) const {
-		return height();
-	}
 	virtual void initDimensions(const HistoryItem *parent) = 0;
 	virtual int32 resize(int32 width, const HistoryItem *parent) { // return new height
-		w = qMin(width, _maxw);
+		_width = qMin(width, _maxw);
 		return _height;
 	}
-	virtual void getState(TextLinkPtr &lnk, HistoryCursorState &state, int32 x, int32 y, const HistoryItem *parent, int32 width = -1) const = 0;
+	virtual void draw(Painter &p, const HistoryItem *parent, const QRect &r, bool selected, uint64 ms) const = 0;
+	virtual void getState(TextLinkPtr &lnk, HistoryCursorState &state, int32 x, int32 y, const HistoryItem *parent) const = 0;
+
+	virtual void drawOverview(Painter &p, int32 width, const HistoryItem *parent, const QRect &r, bool selected, uint64 ms) const {
+	}
+	virtual void getStateOverview(TextLinkPtr &lnk, int32 x, int32 y, const HistoryItem *parent, int32 width) const {
+	}
+
 	virtual void linkOver(HistoryItem *parent, const TextLinkPtr &lnk) {
 	}
 	virtual void linkOut(HistoryItem *parent, const TextLinkPtr &lnk) {
 	}
-	virtual void draw(Painter &p, const HistoryItem *parent, const QRect &r, bool selected, uint64 ms) const = 0;
+
 	virtual bool uploading() const {
 		return false;
 	}
@@ -1225,12 +1233,12 @@ public:
 	}
 
 	int32 currentWidth() const {
-		return qMin(w, _maxw);
+		return _width;
 	}
 
 protected:
 
-	int32 w;
+	int32 _width;
 
 };
 
@@ -1240,20 +1248,24 @@ public:
 	HistoryPhoto(const MTPDphoto &photo, const QString &caption, HistoryItem *parent);
 	HistoryPhoto(PhotoData *photo);
 	HistoryPhoto(PeerData *chat, const MTPDphoto &photo, int32 width = 0);
-
 	void init();
-	void initDimensions(const HistoryItem *parent);
-
-	void draw(Painter &p, const HistoryItem *parent, const QRect &r, bool selected, uint64 ms) const;
-	int32 resize(int32 width, const HistoryItem *parent);
 	HistoryMediaType type() const {
 		return MediaTypePhoto;
 	}
+	HistoryMedia *clone() const {
+		return new HistoryPhoto(*this);
+	}
+
+	void initDimensions(const HistoryItem *parent);
+	int32 resize(int32 width, const HistoryItem *parent);
+
+	void draw(Painter &p, const HistoryItem *parent, const QRect &r, bool selected, uint64 ms) const;
+	void getState(TextLinkPtr &lnk, HistoryCursorState &state, int32 x, int32 y, const HistoryItem *parent) const;
+
+	void getStateOverview(TextLinkPtr &lnk, int32 x, int32 y, const HistoryItem *parent, int32 width) const;
+
 	const QString inDialogsText() const;
 	const QString inHistoryText() const;
-	bool hasPoint(int32 x, int32 y, const HistoryItem *parent, int32 width = -1) const;
-	void getState(TextLinkPtr &lnk, HistoryCursorState &state, int32 x, int32 y, const HistoryItem *parent, int32 width = -1) const;
-	HistoryMedia *clone() const;
 
 	PhotoData *photo() const {
 		return _data;
@@ -1261,10 +1273,6 @@ public:
 
 	void updateFrom(const MTPMessageMedia &media, HistoryItem *parent, bool allowEmitResize);
 
-	TextLinkPtr lnk() const {
-		return _openl;
-	}
-
 	virtual bool animating() const {
 		if (_data->full->loaded()) return false;
 		return _data->full->loading() ? true : !_data->medium->loaded();
@@ -1376,23 +1384,32 @@ public:
 
 	HistoryVideo(const MTPDvideo &video, const QString &caption, HistoryItem *parent);
 	HistoryVideo(const HistoryVideo &other);
-
-	void initDimensions(const HistoryItem *parent);
-
-	void draw(Painter &p, const HistoryItem *parent, const QRect &r, bool selected, uint64 ms) const;
-	int32 resize(int32 width, const HistoryItem *parent);
 	HistoryMediaType type() const {
 		return MediaTypeVideo;
 	}
+	HistoryMedia *clone() const {
+		return new HistoryVideo(*this);
+	}
+
+	void initDimensions(const HistoryItem *parent);
+	int32 resize(int32 width, const HistoryItem *parent);
+
+	void draw(Painter &p, const HistoryItem *parent, const QRect &r, bool selected, uint64 ms) const;
+	void getState(TextLinkPtr &lnk, HistoryCursorState &state, int32 x, int32 y, const HistoryItem *parent) const;
+
+	void drawOverview(Painter &p, int32 width, const HistoryItem *parent, const QRect &r, bool selected, uint64 ms) const;
+	void getStateOverview(TextLinkPtr &lnk, int32 x, int32 y, const HistoryItem *parent, int32 width) const;
+
 	const QString inDialogsText() const;
 	const QString inHistoryText() const;
-	bool hasPoint(int32 x, int32 y, const HistoryItem *parent, int32 width = -1) const;
-	int32 countHeight(const HistoryItem *parent, int32 width = -1) const;
-	void getState(TextLinkPtr &lnk, HistoryCursorState &state, int32 x, int32 y, const HistoryItem *parent, int32 width = -1) const;
+
+	VideoData *video() const {
+		return _data;
+	}
+
 	bool uploading() const {
 		return (_data->status == FileUploading);
 	}
-	HistoryMedia *clone() const;
 
 	void regItem(HistoryItem *item);
 	void unregItem(HistoryItem *item);
@@ -1442,21 +1459,27 @@ public:
 
 	HistoryAudio(const MTPDaudio &audio);
 	HistoryAudio(const HistoryAudio &other);
+	HistoryMediaType type() const {
+		return MediaTypeAudio;
+	}
+	HistoryMedia *clone() const {
+		return new HistoryAudio(*this);
+	}
 
 	void initDimensions(const HistoryItem *parent);
 
 	void draw(Painter &p, const HistoryItem *parent, const QRect &r, bool selected, uint64 ms) const;
-	HistoryMediaType type() const {
-		return MediaTypeAudio;
-	}
+	void getState(TextLinkPtr &lnk, HistoryCursorState &state, int32 x, int32 y, const HistoryItem *parent) const;
+
+	void drawOverview(Painter &p, int32 width, const HistoryItem *parent, const QRect &r, bool selected, uint64 ms) const;
+	void getStateOverview(TextLinkPtr &lnk, int32 x, int32 y, const HistoryItem *parent, int32 width) const;
+
 	const QString inDialogsText() const;
 	const QString inHistoryText() const;
-	bool hasPoint(int32 x, int32 y, const HistoryItem *parent, int32 width = -1) const;
-	void getState(TextLinkPtr &lnk, HistoryCursorState &state, int32 x, int32 y, const HistoryItem *parent, int32 width = -1) const;
+
 	bool uploading() const {
 		return (_data->status == FileUploading);
 	}
-	HistoryMedia *clone() const;
 
 	AudioData *audio() {
 		return _data;
@@ -1502,28 +1525,32 @@ public:
 
 	HistoryDocument(DocumentData *document);
 	HistoryDocument(const HistoryDocument &other);
+	HistoryMediaType type() const {
+		return MediaTypeDocument;
+	}
+	HistoryMedia *clone() const {
+		return new HistoryDocument(*this);
+	}
 
 	void initDimensions(const HistoryItem *parent);
 
+	void draw(Painter &p, const HistoryItem *parent, const QRect &r, bool selected, uint64 ms) const;
+	void getState(TextLinkPtr &lnk, HistoryCursorState &state, int32 x, int32 y, const HistoryItem *parent) const;
+
+	void drawOverview(Painter &p, int32 width, const HistoryItem *parent, const QRect &r, bool selected, uint64 ms) const;
+	void getStateOverview(TextLinkPtr &lnk, int32 x, int32 y, const HistoryItem *parent, int32 width) const;
+
+	const QString inDialogsText() const;
+	const QString inHistoryText() const;
+
+	bool uploading() const {
+		return (_data->status == FileUploading);
+	}
+
 	bool withThumb() const {
 		return !_data->song() && !_data->thumb->isNull() && _data->thumb->width() && _data->thumb->height();
 	}
 
-	void draw(Painter &p, const HistoryItem *parent, const QRect &r, bool selected, uint64 ms) const;
-	int32 resize(int32 width, const HistoryItem *parent);
-	HistoryMediaType type() const {
-		return MediaTypeDocument;
-	}
-	const QString inDialogsText() const;
-	const QString inHistoryText() const;
-	bool hasPoint(int32 x, int32 y, const HistoryItem *parent, int32 width = -1) const;
-	int32 countHeight(const HistoryItem *parent, int32 width = -1) const;
-	bool uploading() const {
-		return (_data->status == FileUploading);
-	}
-	void getState(TextLinkPtr &lnk, HistoryCursorState &state, int32 x, int32 y, const HistoryItem *parent, int32 width = -1) const;
-	HistoryMedia *clone() const;
-
 	DocumentData *getDocument() {
 		return _data;
 	}
@@ -1538,9 +1565,6 @@ public:
 	}
 	ImagePtr replyPreview();
 
-	void drawInPlaylist(Painter &p, const HistoryItem *parent, bool selected, bool over, int32 width) const;
-	TextLinkPtr linkInPlaylist();
-
 	bool needsBubble(const HistoryItem *parent) const {
 		return true;
 	}
@@ -1588,27 +1612,30 @@ public:
 
 	HistoryGif(DocumentData *document);
 	HistoryGif(const HistoryGif &other);
-
-	void initDimensions(const HistoryItem *parent);
-
-	void draw(Painter &p, const HistoryItem *parent, const QRect &r, bool selected, uint64 ms) const;
-	int32 resize(int32 width, const HistoryItem *parent);
 	HistoryMediaType type() const {
 		return MediaTypeGif;
 	}
+	HistoryMedia *clone() const {
+		return new HistoryGif(*this);
+	}
+
+	void initDimensions(const HistoryItem *parent);
+	int32 resize(int32 width, const HistoryItem *parent);
+
+	void draw(Painter &p, const HistoryItem *parent, const QRect &r, bool selected, uint64 ms) const;
+	void getState(TextLinkPtr &lnk, HistoryCursorState &state, int32 x, int32 y, const HistoryItem *parent) const;
+
 	const QString inDialogsText() const;
 	const QString inHistoryText() const;
-	bool hasPoint(int32 x, int32 y, const HistoryItem *parent, int32 width = -1) const;
-	int32 countHeight(const HistoryItem *parent, int32 width = -1) const;
+
 	bool uploading() const {
 		return (_data->status == FileUploading);
 	}
-	void getState(TextLinkPtr &lnk, HistoryCursorState &state, int32 x, int32 y, const HistoryItem *parent, int32 width = -1) const;
-	HistoryMedia *clone() const;
 
 	DocumentData *getDocument() {
 		return _data;
 	}
+
 	bool playInline(HistoryItem *item);
 	void stopInline(HistoryItem *item);
 
@@ -1664,19 +1691,20 @@ class HistorySticker : public HistoryMedia {
 public:
 
 	HistorySticker(DocumentData *document);
-	void initDimensions(const HistoryItem *parent);
-
-	void draw(Painter &p, const HistoryItem *parent, const QRect &r, bool selected, uint64 ms) const;
-	int32 resize(int32 width, const HistoryItem *parent);
 	HistoryMediaType type() const {
 		return MediaTypeSticker;
 	}
+	HistoryMedia *clone() const {
+		return new HistorySticker(*this);
+	}
+
+	void initDimensions(const HistoryItem *parent);
+
+	void draw(Painter &p, const HistoryItem *parent, const QRect &r, bool selected, uint64 ms) const;
+	void getState(TextLinkPtr &lnk, HistoryCursorState &state, int32 x, int32 y, const HistoryItem *parent) const;
+
 	const QString inDialogsText() const;
 	const QString inHistoryText() const;
-	bool hasPoint(int32 x, int32 y, const HistoryItem *parent, int32 width = -1) const;
-	int32 countHeight(const HistoryItem *parent, int32 width = -1) const;
-	void getState(TextLinkPtr &lnk, HistoryCursorState &state, int32 x, int32 y, const HistoryItem *parent, int32 width = -1) const;
-	HistoryMedia *clone() const;
 
 	DocumentData *document() {
 		return data;
@@ -1699,7 +1727,6 @@ private:
 	int16 pixw, pixh;
 	DocumentData *data;
 	QString _emoji;
-	int32 lastw;
 
 };
 
@@ -1727,17 +1754,20 @@ class HistoryContact : public HistoryMedia {
 public:
 
 	HistoryContact(int32 userId, const QString &first, const QString &last, const QString &phone);
-	void initDimensions(const HistoryItem *parent);
-
-	void draw(Painter &p, const HistoryItem *parent, const QRect &r, bool selected, uint64 ms) const;
 	HistoryMediaType type() const {
 		return MediaTypeContact;
 	}
+	HistoryMedia *clone() const {
+		return new HistoryContact(_userId, _fname, _lname, _phone);
+	}
+
+	void initDimensions(const HistoryItem *parent);
+
+	void draw(Painter &p, const HistoryItem *parent, const QRect &r, bool selected, uint64 ms) const;
+	void getState(TextLinkPtr &lnk, HistoryCursorState &state, int32 x, int32 y, const HistoryItem *parent) const;
+
 	const QString inDialogsText() const;
 	const QString inHistoryText() const;
-	bool hasPoint(int32 x, int32 y, const HistoryItem *parent, int32 width) const;
-	void getState(TextLinkPtr &lnk, HistoryCursorState &state, int32 x, int32 y, const HistoryItem *parent, int32 width) const;
-	HistoryMedia *clone() const;
 
 	void regItem(HistoryItem *item);
 	void unregItem(HistoryItem *item);
@@ -1780,25 +1810,28 @@ public:
 
 	HistoryWebPage(WebPageData *data);
 	HistoryWebPage(const HistoryWebPage &other);
+	HistoryMediaType type() const {
+		return MediaTypeWebPage;
+	}
+	HistoryMedia *clone() const {
+		return new HistoryWebPage(*this);
+	}
+
 	void initDimensions(const HistoryItem *parent);
+	int32 resize(int32 width, const HistoryItem *parent);
+
+	void draw(Painter &p, const HistoryItem *parent, const QRect &r, bool selected, uint64 ms) const;
+	void getState(TextLinkPtr &lnk, HistoryCursorState &state, int32 x, int32 y, const HistoryItem *parent) const;
+
+	const QString inDialogsText() const;
+	const QString inHistoryText() const;
 
 	void linkOver(HistoryItem *parent, const TextLinkPtr &lnk);
 	void linkOut(HistoryItem *parent, const TextLinkPtr &lnk);
 
-	void draw(Painter &p, const HistoryItem *parent, const QRect &r, bool selected, uint64 ms) const;
 	bool isDisplayed() const {
 		return !_data->pendingTill;
 	}
-	int32 resize(int32 width, const HistoryItem *parent);
-	HistoryMediaType type() const {
-		return MediaTypeWebPage;
-	}
-	const QString inDialogsText() const;
-	const QString inHistoryText() const;
-	bool hasPoint(int32 x, int32 y, const HistoryItem *parent, int32 width = -1) const;
-	void getState(TextLinkPtr &lnk, HistoryCursorState &state, int32 x, int32 y, const HistoryItem *parent, int32 width = -1) const;
-	HistoryMedia *clone() const;
-
 	DocumentData *getDocument() {
 		return _attach ? _attach->getDocument() : 0;
 	}
@@ -1903,20 +1936,21 @@ class HistoryImageLink : public HistoryMedia {
 public:
 
 	HistoryImageLink(const QString &url, const QString &title = QString(), const QString &description = QString());
-	int32 fullWidth() const;
-	int32 fullHeight() const;
-	void initDimensions(const HistoryItem *parent);
-
-	void draw(Painter &p, const HistoryItem *parent, const QRect &r, bool selected, uint64 ms) const;
-	int32 resize(int32 width, const HistoryItem *parent);
 	HistoryMediaType type() const {
 		return MediaTypeImageLink;
 	}
+	HistoryMedia *clone() const {
+		return new HistoryImageLink(*this);
+	}
+
+	void initDimensions(const HistoryItem *parent);
+	int32 resize(int32 width, const HistoryItem *parent);
+
+	void draw(Painter &p, const HistoryItem *parent, const QRect &r, bool selected, uint64 ms) const;
+	void getState(TextLinkPtr &lnk, HistoryCursorState &state, int32 x, int32 y, const HistoryItem *parent) const;
+
 	const QString inDialogsText() const;
 	const QString inHistoryText() const;
-	bool hasPoint(int32 x, int32 y, const HistoryItem *parent, int32 width = -1) const;
-	void getState(TextLinkPtr &lnk, HistoryCursorState &state, int32 x, int32 y, const HistoryItem *parent, int32 width = -1) const;
-	HistoryMedia *clone() const;
 
 	bool isImageLink() const {
 		return true;
@@ -1934,6 +1968,9 @@ private:
 	Text _title, _description;
 	TextLinkPtr _link;
 
+	int32 fullWidth() const;
+	int32 fullHeight() const;
+
 };
 
 class HistoryMessage : public HistoryItem {
diff --git a/Telegram/SourceFiles/mainwidget.cpp b/Telegram/SourceFiles/mainwidget.cpp
index a69741405..d292c49ba 100644
--- a/Telegram/SourceFiles/mainwidget.cpp
+++ b/Telegram/SourceFiles/mainwidget.cpp
@@ -1497,9 +1497,6 @@ void MainWidget::itemResized(HistoryItem *row, bool scrollToIt) {
 			history.resizeEvent(0);
 		}
 	}
-	if (overview) {
-		overview->itemResized(row, scrollToIt);
-	}
 	if (row) Ui::redrawHistoryItem(row);
 }
 
diff --git a/Telegram/SourceFiles/overviewwidget.cpp b/Telegram/SourceFiles/overviewwidget.cpp
index 35f02ae9b..4381571bb 100644
--- a/Telegram/SourceFiles/overviewwidget.cpp
+++ b/Telegram/SourceFiles/overviewwidget.cpp
@@ -146,14 +146,12 @@ OverviewInner::OverviewInner(OverviewWidget *overview, ScrollArea *scroll, PeerD
 , _migrated(_peer->migrateFrom() ? App::history(_peer->migrateFrom()->id) : 0)
 , _history(App::history(_peer->id))
 , _channel(peerToChannel(_peer->id))
+, _rowsLeft(st::msgMargin.left())
+, _rowWidth(st::msgMinWidth)
+, _rowHeight(0)
 , _photosInRow(1)
 , _photosToAdd(0)
 , _selMode(false)
-, _audioLeft(st::msgMargin.left())
-, _audioWidth(st::msgMinWidth)
-, _audioHeight(st::msgPadding.top() + st::mediaThumbSize + st::msgPadding.bottom())
-, _linksLeft(st::linksSearchMargin.left())
-, _linksWidth(st::msgMinWidth)
 , _search(this, st::dlgFilter, lang(lng_dlg_filter))
 , _cancelSearch(this, st::btnCancelSearch)
 , _itemsToBeLoaded(LinksOverviewPerPage * 2)
@@ -217,7 +215,7 @@ OverviewInner::OverviewInner(OverviewWidget *overview, ScrollArea *scroll, PeerD
 	connect(&_searchTimer, SIGNAL(timeout()), this, SLOT(onSearchMessages()));
 
 	_cancelSearch.hide();
-	if (_type == OverviewLinks) {
+	if (_type == OverviewLinks || _type == OverviewDocuments) {
 		_search.show();
 	} else {
 		_search.hide();
@@ -294,7 +292,7 @@ int32 OverviewInner::migratedIndexSkip() const {
 void OverviewInner::fixItemIndex(int32 &current, MsgId msgId) const {
 	if (!msgId) {
 		current = -1;
-	} else if (_type == OverviewPhotos || _type == OverviewAudioDocuments) {
+	} else if (_type == OverviewPhotos || _type == OverviewVideos || _type == OverviewAudioDocuments) {
 		History *history = itemMigrated(msgId) ? _migrated : _history;
 		int32 l = history->overview[_type].size(), indexskip = migratedIndexSkip();
 		int32 index = (current >= 0 && history == _history) ? (current - indexskip) : current;
@@ -433,14 +431,14 @@ QString OverviewInner::urlByIndex(MsgId msgid, int32 index, int32 lnkIndex, bool
 	if (index < 0 || !_items[index].link) return QString();
 
 	if (lnkIndex < 0) {
-		if (fullShown) *fullShown = (_items[index].link->urls.size() == 1) && (_items[index].link->urls.at(0).width <= _linksWidth - (st::dlgPhotoSize + st::dlgPhotoPadding));
+		if (fullShown) *fullShown = (_items[index].link->urls.size() == 1) && (_items[index].link->urls.at(0).width <= _rowWidth - (st::dlgPhotoSize + st::dlgPhotoPadding));
 		if (_items[index].link->page) {
 			return _items[index].link->page->url;
 		} else if (!_items[index].link->urls.isEmpty()) {
 			return _items[index].link->urls.at(0).url;
 		}
 	} else if (lnkIndex > 0 && lnkIndex <= _items[index].link->urls.size()) {
-		if (fullShown) *fullShown = _items[index].link->urls.at(lnkIndex - 1).width <= _linksWidth - (st::dlgPhotoSize + st::dlgPhotoPadding);
+		if (fullShown) *fullShown = _items[index].link->urls.at(lnkIndex - 1).width <= _rowWidth - (st::dlgPhotoSize + st::dlgPhotoPadding);
 		return _items[index].link->urls.at(lnkIndex - 1).url;
 	}
 	return QString();
@@ -455,43 +453,27 @@ bool OverviewInner::itemHasPoint(MsgId msgId, int32 index, int32 x, int32 y) con
 	fixItemIndex(index, msgId);
 	if (index < 0) return false;
 
-	if (_type == OverviewPhotos) {
+	if (_type == OverviewPhotos || _type == OverviewVideos) {
 		if (x >= 0 && x < _vsize && y >= 0 && y < _vsize) {
 			return true;
 		}
-	} else if (_type == OverviewAudioDocuments) {
-		if (x >= _audioLeft && x < _audioLeft + _audioWidth && y >= 0 && y < _audioHeight) {
-			return true;
-		}
-	} else if (_type == OverviewLinks) {
-		if (x >= _linksLeft && x < _linksLeft + _linksWidth && y >= 0 && y < itemHeight(msgId, index)) {
-			return true;
-		}
 	} else {
-		HistoryItem *item = App::histItemById(itemChannel(msgId), itemMsgId(msgId));
-		HistoryMedia *media = item ? item->getMedia(true) : 0;
-		if (media) {
-			int32 w = _width - st::msgMargin.left() - st::msgMargin.right();
-			bool out = item->out(), fromChannel = item->fromChannel(), outbg = out && !fromChannel;
-			int32 mw = media->maxWidth(), left = (fromChannel ? (st::msgMargin.left() + st::msgMargin.left()) / 2 : (out ? st::msgMargin.right() : st::msgMargin.left())) + ((mw < w) ? (fromChannel ? 0 : (out ? w - mw : 0)) : 0);
-			if (item->displayFromPhoto()) {
-				left += st::msgPhotoSkip;
-			}
-			return media->hasPoint(x - left, y - st::msgMargin.top(), item, w);
+		if (x >= _rowsLeft && x < _rowsLeft + _rowWidth && y >= 0 && y < itemHeight(msgId, index)) {
+			return true;
 		}
 	}
 	return false;
 }
 
 int32 OverviewInner::itemHeight(MsgId msgId, int32 index) const {
-	if (_type == OverviewPhotos) {
+	if (_type == OverviewPhotos || _type == OverviewVideos) {
 		return _vsize;
 	} else if (_type == OverviewAudioDocuments) {
-		return _audioHeight;
+		return _rowHeight;
 	}
 
 	fixItemIndex(index, msgId);
-	if (_type == OverviewLinks) {
+	if (_type == OverviewLinks || _type == OverviewDocuments) {
 		return (index < 0) ? 0 : ((index + 1 < _items.size() ? _items[index + 1].y : (_height - _addToY)) - _items[index].y);
 	}
 	return (index < 0) ? 0 : (_items[index].y - (index > 0 ? _items[index - 1].y : 0));
@@ -506,7 +488,7 @@ void OverviewInner::moveToNextItem(MsgId &msgId, int32 &index, MsgId upTo, int32
 	}
 
 	index += delta;
-	if (_type == OverviewPhotos || _type == OverviewAudioDocuments) {
+	if (_type == OverviewPhotos || _type == OverviewVideos || _type == OverviewAudioDocuments) {
 		int32 indexskip = migratedIndexSkip();
 		if (index < 0 || index >= indexskip + _history->overview[_type].size()) {
 			msgId = 0;
@@ -530,16 +512,16 @@ void OverviewInner::moveToNextItem(MsgId &msgId, int32 &index, MsgId upTo, int32
 void OverviewInner::redrawItem(MsgId itemId, int32 itemIndex) {
 	fixItemIndex(itemIndex, itemId);
 	if (itemIndex >= 0) {
-		if (_type == OverviewPhotos) {
+		if (_type == OverviewPhotos || _type == OverviewVideos) {
 			float64 w = (float64(_width - st::overviewPhotoSkip) / _photosInRow);
 			int32 vsize = (_vsize + st::overviewPhotoSkip);
 			int32 row = (_photosToAdd + itemIndex) / _photosInRow, col = (_photosToAdd + itemIndex) % _photosInRow;
 			update(int32(col * w), _addToY + int32(row * vsize), qCeil(w), vsize);
 		} else if (_type == OverviewAudioDocuments) {
-			update(_audioLeft, _addToY + int32(itemIndex * _audioHeight), _audioWidth, _audioHeight);
-		} else if (_type == OverviewLinks) {
-			update(_linksLeft, _addToY + _items[itemIndex].y, _linksWidth, itemHeight(itemId, itemIndex));
-		} else {
+			update(_rowsLeft, _addToY + int32(itemIndex * _rowHeight), _rowWidth, _rowHeight);
+		} else if (_type == OverviewLinks || _type == OverviewDocuments) {
+			update(_rowsLeft, _addToY + _items[itemIndex].y, _rowWidth, itemHeight(itemId, itemIndex));
+		} else if (_type == OverviewAudios) {
 			update(0, _addToY + _height - _items[itemIndex].y, _width, itemHeight(itemId, itemIndex));
 		}
 	}
@@ -909,7 +891,7 @@ void OverviewInner::addSelectionRange(int32 selFrom, int32 selTo, History *histo
 	if (selFrom < 0 || selTo < 0) return;
 	for (int32 i = selFrom; i <= selTo; ++i) {
 		MsgId msgid = 0;
-		if (_type == OverviewPhotos || _type == OverviewAudioDocuments) {
+		if (_type == OverviewPhotos || _type == OverviewVideos || _type == OverviewAudioDocuments) {
 			msgid = ((history == _history) ? 1 : -1) * history->overview[_type][i];
 		} else {
 			msgid = _items[i].msgid;
@@ -939,7 +921,7 @@ void OverviewInner::applyDragSelection() {
 		_selected.clear();
 	}
 	int32 selfrom = _dragSelToIndex, selto = _dragSelFromIndex;
-	if (_migrated && (_type == OverviewPhotos || _type == OverviewAudioDocuments)) {
+	if (_migrated && (_type == OverviewPhotos || _type == OverviewVideos || _type == OverviewAudioDocuments)) {
 		int32 indexskip = migratedIndexSkip();
 		if (selfrom < indexskip) {
 			if (selto < indexskip) {
@@ -968,23 +950,23 @@ QPoint OverviewInner::mapMouseToItem(QPoint p, MsgId itemId, int32 itemIndex) {
 	fixItemIndex(itemIndex, itemId);
 	if (itemIndex < 0) return QPoint(0, 0);
 
-	if (_type == OverviewPhotos) {
+	if (_type == OverviewPhotos || _type == OverviewVideos) {
 		int32 row = (_photosToAdd + itemIndex) / _photosInRow, col = (_photosToAdd + itemIndex) % _photosInRow;
 		float64 w = (_width - st::overviewPhotoSkip) / float64(_photosInRow);
 		p.setX(p.x() - int32(col * w) - st::overviewPhotoSkip);
 		p.setY(p.y() - _addToY - row * (_vsize + st::overviewPhotoSkip) - st::overviewPhotoSkip);
 	} else if (_type == OverviewAudioDocuments) {
-		p.setY(p.y() - _addToY - itemIndex * _audioHeight);
-	} else if (_type == OverviewLinks) {
+		p.setY(p.y() - _addToY - itemIndex * _rowHeight);
+	} else if (_type == OverviewLinks || _type == OverviewDocuments) {
 		p.setY(p.y() - _addToY - _items[itemIndex].y);
-	} else {
+	} else if (_type == OverviewAudios) {
 		p.setY(p.y() - _addToY - (_height - _items[itemIndex].y));
 	}
 	return p;
 }
 
 void OverviewInner::activate() {
-	if (_type == OverviewLinks) {
+	if (_type == OverviewLinks || _type == OverviewDocuments) {
 		_search.setFocus();
 	} else {
 		setFocus();
@@ -1000,11 +982,11 @@ int32 OverviewInner::itemTop(const FullMsgId &msgId) const {
 		if (msgId.channel == _channel) {
 			int32 index = _history->overview[_type].indexOf(msgId.msg);
 			if (index >= 0) {
-				return _addToY + int32((index + migratedIndexSkip()) * _audioHeight);
+				return _addToY + int32((index + migratedIndexSkip()) * _rowHeight);
 			}
 		} else if (_migrated && msgId.channel == _migrated->channelId()) {
 			int32 index = _migrated->overview[_type].indexOf(msgId.msg);
-			return _addToY + int32(index * _audioHeight);
+			return _addToY + int32(index * _rowHeight);
 		}
 	}
 	return -1;
@@ -1062,6 +1044,19 @@ QPixmap OverviewInner::genPix(PhotoData *photo, int32 size) {
 	return QPixmap::fromImage(img, Qt::ColorOnly);
 }
 
+QPixmap OverviewInner::genPix(VideoData *video, int32 size) {
+	size *= cIntRetinaFactor();
+	int32 tw = video->thumb->width(), th = video->thumb->height();
+	QPixmap result;
+	if (tw > th) {
+		result = video->thumb->pixNoCache((tw * size) / th, size, true, true, false, size, size);
+	} else {
+		result = video->thumb->pixNoCache(size, 0, true, true, false, size, size);
+	}
+	video->forget();
+	return result;
+}
+
 void OverviewInner::paintEvent(QPaintEvent *e) {
 	if (App::wnd() && App::wnd()->contentOverlapped(this, e)) return;
 
@@ -1081,7 +1076,7 @@ void OverviewInner::paintEvent(QPaintEvent *e) {
 	} else if (_inSearch && _searchResults.isEmpty() && _searchFull && (!_migrated || _searchFullMigrated) && !_searchTimer.isActive()) {
 		p.setFont(st::noContactsFont->f);
 		p.setPen(st::noContactsColor->p);
-		p.drawText(QRect(_linksLeft, _addToY, _linksWidth, _addToY), lng_search_found_results(lt_count, 0), style::al_center);
+		p.drawText(QRect(_rowsLeft, _addToY, _rowWidth, _addToY), lng_search_found_results(lt_count, 0), style::al_center);
 		return;
 	}
 
@@ -1094,7 +1089,7 @@ void OverviewInner::paintEvent(QPaintEvent *e) {
 	SelectedItems::const_iterator selEnd = _selected.cend();
 	bool hasSel = !_selected.isEmpty();
 
-	if (_type == OverviewPhotos) {
+	if (_type == OverviewPhotos || _type == OverviewVideos) {
 		History::MediaOverview &overview(_history->overview[_type]), *migratedOverview = _migrated ? &_migrated->overview[_type] : 0;
 		int32 migratedCount = migratedIndexSkip();
 		int32 count = migratedCount + overview.size();
@@ -1113,9 +1108,9 @@ void OverviewInner::paintEvent(QPaintEvent *e) {
 
 				HistoryItem *item = App::histItemById(migratedindex ? _migrated->channelId() : _channel, (migratedindex ? *migratedOverview : overview)[bareindex]);
 				HistoryMedia *m = item ? item->getMedia(true) : 0;
-				if (!m) continue;
 
-				switch (m->type()) {
+				QPoint pos(int32(i * w + st::overviewPhotoSkip), _addToY + row * (_vsize + st::overviewPhotoSkip) + st::overviewPhotoSkip);
+				if (m) switch (m->type()) {
 				case MediaTypePhoto: {
 					PhotoData *photo = static_cast<HistoryPhoto*>(m)->photo();
 					bool quality = photo->full->loaded();
@@ -1139,7 +1134,6 @@ void OverviewInner::paintEvent(QPaintEvent *e) {
 						it->vsize = _vsize;
 						it->pix = genPix(photo, _vsize);
 					}
-					QPoint pos(int32(i * w + st::overviewPhotoSkip), _addToY + row * (_vsize + st::overviewPhotoSkip) + st::overviewPhotoSkip);
 					p.drawPixmap(pos, it->pix);
 					if (!quality) {
 						uint64 dt = itemAnimations().animate(item, ms);
@@ -1161,23 +1155,45 @@ void OverviewInner::paintEvent(QPaintEvent *e) {
 							p.fillRect(x + i * (st::overviewLoaderPoint.width() + st::overviewLoaderSkip), y, st::overviewLoaderPoint.width(), st::overviewLoaderPoint.height(), b);
 						}
 					}
-
-					uint32 sel = 0;
-					if (index >= selfrom && index <= selto) {
-						sel = (_dragSelecting && item->id > 0) ? FullItemSel : 0;
-					} else if (hasSel) {
-						SelectedItems::const_iterator i = _selected.constFind(migratedindex ? -item->id : item->id);
-						if (i != selEnd) {
-							sel = i.value();
-						}
-					}
-					if (sel == FullItemSel) {
-						p.fillRect(QRect(pos.x(), pos.y(), _vsize, _vsize), st::overviewPhotoSelectOverlay->b);
-						p.drawPixmap(QPoint(pos.x() + _vsize - st::overviewPhotoCheck.pxWidth(), pos.y() + _vsize - st::overviewPhotoCheck.pxHeight()), App::sprite(), st::overviewPhotoChecked);
-					} else if (_selMode/* || (selfrom < count && selfrom <= selto && 0 <= selto)*/) {
-						p.drawPixmap(QPoint(pos.x() + _vsize - st::overviewPhotoCheck.pxWidth(), pos.y() + _vsize - st::overviewPhotoCheck.pxHeight()), App::sprite(), st::overviewPhotoCheck);
-					}
 				} break;
+
+				case MediaTypeVideo: {
+					VideoData *video = static_cast<HistoryVideo*>(m)->video();
+					CachedSizes::iterator it = _cached.find(video);
+					if (it == _cached.cend()) {
+						CachedSize size;
+						size.medium = 0;
+						size.vsize = _vsize;
+						size.pix = genPix(video, _vsize);
+						it = _cached.insert(video, size);
+					} else if (it->vsize != _vsize) {
+						it->vsize = _vsize;
+						it->pix = genPix(video, _vsize);
+					}
+					p.drawPixmap(pos, it->pix);
+				} break;
+				}
+
+				uint32 sel = 0;
+				if (index >= selfrom && index <= selto) {
+					sel = (_dragSelecting && item->id > 0) ? FullItemSel : 0;
+				} else if (hasSel) {
+					SelectedItems::const_iterator i = _selected.constFind(migratedindex ? -item->id : item->id);
+					if (i != selEnd) {
+						sel = i.value();
+					}
+				}
+				if (sel == FullItemSel) {
+					p.fillRect(QRect(pos.x(), pos.y(), _vsize, _vsize), st::overviewPhotoSelectOverlay);
+					p.drawSprite(QPoint(pos.x() + _vsize - st::overviewPhotoCheck.pxWidth(), pos.y() + _vsize - st::overviewPhotoCheck.pxHeight()), st::overviewPhotoChecked);
+				} else if (_selMode/* || (selfrom < count && selfrom <= selto && 0 <= selto)*/) {
+					p.drawSprite(QPoint(pos.x() + _vsize - st::overviewPhotoCheck.pxWidth(), pos.y() + _vsize - st::overviewPhotoCheck.pxHeight()), st::overviewPhotoCheck);
+				}
+
+				if (m) {
+					p.translate(pos.x(), pos.y());
+					m->drawOverview(p, _vsize, item, r.translated(-pos.x(), -pos.y()), sel == FullItemSel, ms);
+					p.translate(-pos.x(), -pos.y());
 				}
 			}
 		}
@@ -1185,9 +1201,9 @@ void OverviewInner::paintEvent(QPaintEvent *e) {
 		History::MediaOverview &overview(_history->overview[_type]), *migratedOverview = _migrated ? &_migrated->overview[_type] : 0;
 		int32 migratedCount = migratedIndexSkip();
 		int32 count = migratedCount + overview.size();
-		int32 from = floorclamp(r.y() - _addToY, _audioHeight, 0, count);
-		int32 to = ceilclamp(r.y() + r.height() - _addToY, _audioHeight, 0, count);
-		p.translate(_audioLeft, _addToY + from * _audioHeight);
+		int32 from = floorclamp(r.y() - _addToY, _rowHeight, 0, count);
+		int32 to = ceilclamp(r.y() + r.height() - _addToY, _rowHeight, 0, count);
+		p.translate(_rowsLeft, _addToY + from * _rowHeight);
 		for (int32 index = from; index < to; ++index) {
 			if (index >= count) break;
 
@@ -1196,25 +1212,24 @@ void OverviewInner::paintEvent(QPaintEvent *e) {
 
 			HistoryItem *item = App::histItemById(migratedindex ? _migrated->channelId() : _channel, (migratedindex ? *migratedOverview : overview)[bareindex]);
 			HistoryMedia *m = item ? item->getMedia(true) : 0;
-			if (!m || m->type() != MediaTypeDocument) continue;
-
-			uint32 sel = 0;
-			if (index >= selfrom && index <= selto) {
-				sel = (_dragSelecting && item->id > 0) ? FullItemSel : 0;
-			} else if (hasSel) {
-				SelectedItems::const_iterator i = _selected.constFind(migratedindex ? -item->id : item->id);
-				if (i != selEnd) {
-					sel = i.value();
+			if (m) {
+				uint32 sel = 0;
+				if (index >= selfrom && index <= selto) {
+					sel = (_dragSelecting && item->id > 0) ? FullItemSel : 0;
+				} else if (hasSel) {
+					SelectedItems::const_iterator i = _selected.constFind(migratedindex ? -item->id : item->id);
+					if (i != selEnd) {
+						sel = i.value();
+					}
 				}
-			}
 
-			bool drawOver = _menu ? (App::contextItem() ? (App::contextItem() == item) : false) : (itemMsgId(_selectedMsgId) == item->id && itemChannel(_selectedMsgId) == item->channelId());
-			static_cast<HistoryDocument*>(m)->drawInPlaylist(p, item, (sel == FullItemSel), drawOver, _audioWidth);
-			p.translate(0, _audioHeight);
+				m->drawOverview(p, _rowWidth, item, r.translated(-_rowsLeft, -_addToY - index * _rowHeight), (sel == FullItemSel), ms);
+			}
+			p.translate(0, _rowHeight);
 		}
 	} else if (_type == OverviewLinks) {
-		p.translate(_linksLeft, _addToY);
-		int32 y = 0, w = _linksWidth;
+		p.translate(_rowsLeft, _addToY);
+		int32 y = 0, w = _rowWidth;
 		for (int32 i = 0, l = _items.size(); i < l; ++i) {
 			if (i + 1 == l || _addToY + _items[i + 1].y > r.top()) {
 				int32 left = st::dlgPhotoSize + st::dlgPhotoPadding, top = st::linksMargin + st::linksBorder, curY = _items[i].y;
@@ -1275,24 +1290,24 @@ void OverviewInner::paintEvent(QPaintEvent *e) {
 					p.setPen(st::black->p);
 					p.setFont(st::webPageTitleFont->f);
 					if (!lnk->title.isEmpty()) {
-						p.drawText(left, top + st::webPageTitleFont->ascent, (_linksWidth - left < lnk->titleWidth) ? st::webPageTitleFont->elided(lnk->title, _linksWidth - left) : lnk->title);
+						p.drawText(left, top + st::webPageTitleFont->ascent, (_rowWidth - left < lnk->titleWidth) ? st::webPageTitleFont->elided(lnk->title, _rowWidth - left) : lnk->title);
 						top += st::webPageTitleFont->height;
 					}
 					p.setFont(st::msgFont->f);
 					if (!lnk->text.isEmpty()) {
-						lnk->text.drawElided(p, left, top, _linksWidth - left, 3);
-						top += qMin(st::msgFont->height * 3, lnk->text.countHeight(_linksWidth - left));
+						lnk->text.drawElided(p, left, top, _rowWidth - left, 3);
+						top += qMin(st::msgFont->height * 3, lnk->text.countHeight(_rowWidth - left));
 					}
 
 					p.setPen(st::btnYesColor->p);
 					for (int32 j = 0, c = lnk->urls.size(); j < c; ++j) {
 						bool sel = (_mousedItem == _items[i].msgid && j + 1 == _lnkOverIndex);
 						if (sel) p.setFont(st::msgFont->underline()->f);
-						p.drawText(left, top + st::msgFont->ascent, (_linksWidth - left < lnk->urls[j].width) ? st::msgFont->elided(lnk->urls[j].text, _linksWidth - left) : lnk->urls[j].text);
+						p.drawText(left, top + st::msgFont->ascent, (_rowWidth - left < lnk->urls[j].width) ? st::msgFont->elided(lnk->urls[j].text, _rowWidth - left) : lnk->urls[j].text);
 						if (sel) p.setFont(st::msgFont->f);
 						top += st::msgFont->height;
 					}
-					p.fillRect(left, _items[i].y - curY, _linksWidth - left, st::linksBorder, st::linksBorderColor->b);
+					p.fillRect(left, _items[i].y - curY, _rowWidth - left, st::linksBorder, st::linksBorderColor->b);
 				} else {
 					QString str = langDayOfMonth(_items[i].date);
 
@@ -1303,8 +1318,43 @@ void OverviewInner::paintEvent(QPaintEvent *e) {
 				y = curY;
 			}
 		}
-	} else {
-		p.translate(0, st::msgMargin.top() + _addToY);
+	} else if (_type == OverviewDocuments) {
+		p.translate(_rowsLeft, _addToY);
+		int32 y = 0, w = _rowWidth;
+		for (int32 i = 0, l = _items.size(); i < l; ++i) {
+			if (i + 1 == l || _addToY + _items[i + 1].y > r.top()) {
+				int32 curY = _items[i].y;
+				if (_addToY + curY >= r.y() + r.height()) break;
+
+				p.translate(0, curY - y);
+				if (_items[i].msgid) { // draw item
+					HistoryItem *item = App::histItemById(itemChannel(_items[i].msgid), itemMsgId(_items[i].msgid));
+					HistoryMedia *m = item ? item->getMedia(true) : 0;
+					if (m) {
+						uint32 sel = 0;
+						if (i >= selfrom && i <= selto) {
+							sel = (_dragSelecting && itemMsgId(_items[i].msgid) > 0) ? FullItemSel : 0;
+						} else if (hasSel) {
+							SelectedItems::const_iterator j = _selected.constFind(_items[i].msgid);
+							if (j != selEnd) {
+								sel = j.value();
+							}
+						}
+
+						m->drawOverview(p, _rowWidth, item, r.translated(-_rowsLeft, -_addToY - curY), (sel == FullItemSel), ms);
+					}
+				} else {
+					QString str = langDayOfMonth(_items[i].date);
+
+					p.setPen(st::linksDateColor->p);
+					p.setFont(st::msgFont->f);
+					p.drawText(0, st::linksDateMargin + st::msgFont->ascent, str);
+				}
+				y = curY;
+			}
+		}
+	} else if (_type == OverviewAudios) {
+		p.translate(_rowsLeft, _addToY);
 		int32 y = 0, w = _width - st::msgMargin.left() - st::msgMargin.right();
 		for (int32 i = _items.size(); i > 0;) {
 			--i;
@@ -1315,18 +1365,11 @@ void OverviewInner::paintEvent(QPaintEvent *e) {
 				p.translate(0, curY - y);
 				if (_items[i].msgid) { // draw item
 					HistoryItem *item = App::histItemById(itemChannel(_items[i].msgid), itemMsgId(_items[i].msgid));
-					HistoryMedia *media = item ? item->getMedia(true) : 0;
-					if (media) {
-						bool out = item->out(), fromChannel = item->fromChannel(), outbg = out && !fromChannel;
-						int32 mw = media->maxWidth(), left = (fromChannel ? (st::msgMargin.left() + st::msgMargin.left()) / 2 : (out ? st::msgMargin.right() : st::msgMargin.left())) + ((mw < w) ? (fromChannel ? 0 : (out ? w - mw : 0)) : 0);
-						if (item->displayFromPhoto()) {
-							p.drawPixmap(left, media->countHeight(item, w) - st::msgPhotoSize, item->from()->photo->pixRounded(st::msgPhotoSize));
-							left += st::msgPhotoSkip;
-						}
-
+					HistoryMedia *m = item ? item->getMedia(true) : 0;
+					if (m) {
 						uint32 sel = 0;
 						if (i >= selfrom && i <= selto) {
-							sel = (_dragSelecting && item->id > 0) ? FullItemSel : 0;
+							sel = (_dragSelecting && itemMsgId(_items[i].msgid) > 0) ? FullItemSel : 0;
 						} else if (hasSel) {
 							SelectedItems::const_iterator j = _selected.constFind(_items[i].msgid);
 							if (j != selEnd) {
@@ -1334,30 +1377,14 @@ void OverviewInner::paintEvent(QPaintEvent *e) {
 							}
 						}
 
-						p.save();
-						p.translate(left, 0);
-						media->draw(p, item, r.translated(-left, -curY - (st::msgMargin.top() + _addToY)), (sel == FullItemSel), ms);
-						p.restore();
+						m->drawOverview(p, _rowWidth, item, r.translated(-_rowsLeft, -_addToY - curY), (sel == FullItemSel), ms);
 					}
 				} else {
 					QString str = langDayOfMonth(_items[i].date);
 
-					int32 left = st::msgServiceMargin.left(), width = _width - st::msgServiceMargin.left() - st::msgServiceMargin.left(), height = st::msgServiceFont->height + st::msgServicePadding.top() + st::msgServicePadding.bottom();
-					if (width < 1) return;
-
-					int32 strwidth = st::msgServiceFont->width(str) + st::msgServicePadding.left() + st::msgServicePadding.right();
-
-					QRect trect(QRect(left, st::msgServiceMargin.top(), width, height).marginsAdded(-st::msgServicePadding));
-					left += (width - strwidth) / 2;
-					width = strwidth;
-
-					QRect r(left, st::msgServiceMargin.top(), width, height);
-					App::roundRect(p, r, App::msgServiceBg(), ServiceCorners);
-
-					p.setBrush(Qt::NoBrush);
-					p.setPen(st::msgServiceColor->p);
-					p.setFont(st::msgServiceFont->f);
-					p.drawText(r.x() + st::msgServicePadding.left(), r.y() + st::msgServicePadding.top() + st::msgServiceFont->ascent, str);
+					p.setPen(st::linksDateColor->p);
+					p.setFont(st::msgFont->f);
+					p.drawText(0, st::linksDateMargin + st::msgFont->ascent, str);
 				}
 				y = curY;
 			}
@@ -1384,7 +1411,7 @@ void OverviewInner::onUpdateSelected() {
 	int32 index = -1;
 	int32 newsel = 0;
 	HistoryCursorState cursorState = HistoryDefaultCursorState;
-	if (_type == OverviewPhotos) {
+	if (_type == OverviewPhotos || _type == OverviewVideos) {
 		float64 w = (float64(_width - st::overviewPhotoSkip) / _photosInRow);
 		int32 inRow = int32((m.x() - (st::overviewPhotoSkip / 2)) / w), vsize = (_vsize + st::overviewPhotoSkip);
 		int32 row = int32((m.y() - _addToY - (st::overviewPhotoSkip / 2)) / vsize);
@@ -1412,8 +1439,8 @@ void OverviewInner::onUpdateSelected() {
 				if (upon && m.x() >= inRow * w + st::overviewPhotoSkip && m.x() < inRow * w + st::overviewPhotoSkip + _vsize) {
 					if (m.y() >= _addToY + row * vsize + st::overviewPhotoSkip && m.y() < _addToY + (row + 1) * vsize + st::overviewPhotoSkip) {
 						HistoryMedia *media = item->getMedia(true);
-						if (media && media->type() == MediaTypePhoto) {
-							lnk = static_cast<HistoryPhoto*>(media)->lnk();
+						if (media) {
+							media->getStateOverview(lnk, m.x() - inRow * w - st::overviewPhotoSkip, m.y() - _addToY - row * vsize - st::overviewPhotoSkip, item, _vsize);
 						}
 					}
 				}
@@ -1422,7 +1449,7 @@ void OverviewInner::onUpdateSelected() {
 	} else if (_type == OverviewAudioDocuments) {
 		History::MediaOverview &overview(_history->overview[_type]), *migratedOverview = _migrated ? &_migrated->overview[_type] : 0;
 		int32 migratedCount = migratedIndexSkip();
-		int32 i = int32((m.y() - _addToY) / _audioHeight), count = migratedCount + overview.size();
+		int32 i = int32((m.y() - _addToY) / _rowHeight), count = migratedCount + overview.size();
 
 		bool upon = true;
 		if (m.y() < _addToY) {
@@ -1439,10 +1466,10 @@ void OverviewInner::onUpdateSelected() {
 			if (histItem) {
 				item = histItem;
 				index = i;
-				if (upon && m.x() >= _audioLeft && m.x() < _audioLeft + _audioWidth) {
+				if (upon && m.x() >= _rowsLeft && m.x() < _rowsLeft + _rowWidth) {
 					HistoryMedia *media = item->getMedia(true);
-					if (media && media->type() == MediaTypeDocument) {
-						lnk = static_cast<HistoryDocument*>(media)->linkInPlaylist();
+					if (media) {
+						media->getStateOverview(lnk, m.x() - _rowsLeft, m.y() - _addToY - i * _rowHeight, item, _rowWidth);
 						newsel = (item->history() == _migrated) ? (-item->id) : item->id;
 					}
 				}
@@ -1453,7 +1480,7 @@ void OverviewInner::onUpdateSelected() {
 			_selectedMsgId = newsel;
 			redrawItem(item);
 		}
-	} else if (_type == OverviewLinks) {
+	} else if (_type == OverviewLinks || _type == OverviewDocuments) {
 		int32 w = _width - st::msgMargin.left() - st::msgMargin.right();
 		for (int32 i = 0, l = _items.size(); i < l; ++i) {
 			if ((i + 1 == l) || (_addToY + _items[i + 1].y > m.y())) {
@@ -1478,30 +1505,37 @@ void OverviewInner::onUpdateSelected() {
 					item = histItem;
 					index = i;
 
-					int32 top = y + st::linksMargin + st::linksBorder, left = _linksLeft + st::dlgPhotoSize + st::dlgPhotoPadding, w = _linksWidth - st::dlgPhotoSize - st::dlgPhotoPadding;
-					if (!_items[i].link->title.isEmpty() && _items[i].link->text.isEmpty() && _items[i].link->urls.size() == 1) {
-						top += (st::dlgPhotoSize - st::webPageTitleFont->height - st::msgFont->height) / 2;
-					}
-					if (QRect(_linksLeft, y + st::linksMargin + st::linksBorder, st::dlgPhotoSize, st::dlgPhotoSize).contains(m)) {
-						lnkIndex = -1;
-					} else if (!_items[i].link->title.isEmpty() && QRect(left, top, qMin(w, _items[i].link->titleWidth), st::webPageTitleFont->height).contains(m)) {
-						lnkIndex = -1;
-					} else {
-						if (!_items[i].link->title.isEmpty()) top += st::webPageTitleFont->height;
-						if (!_items[i].link->text.isEmpty()) top += qMin(st::msgFont->height * 3, _items[i].link->text.countHeight(w));
-						for (int32 j = 0, c = _items[i].link->urls.size(); j < c; ++j) {
-							if (QRect(left, top, qMin(w, _items[i].link->urls[j].width), st::msgFont->height).contains(m)) {
-								lnkIndex = j + 1;
-								break;
+					if (_type == OverviewLinks) {
+						int32 top = y + st::linksMargin + st::linksBorder, left = _rowsLeft + st::dlgPhotoSize + st::dlgPhotoPadding, w = _rowWidth - st::dlgPhotoSize - st::dlgPhotoPadding;
+						if (!_items[i].link->title.isEmpty() && _items[i].link->text.isEmpty() && _items[i].link->urls.size() == 1) {
+							top += (st::dlgPhotoSize - st::webPageTitleFont->height - st::msgFont->height) / 2;
+						}
+						if (QRect(_rowsLeft, y + st::linksMargin + st::linksBorder, st::dlgPhotoSize, st::dlgPhotoSize).contains(m)) {
+							lnkIndex = -1;
+						} else if (!_items[i].link->title.isEmpty() && QRect(left, top, qMin(w, _items[i].link->titleWidth), st::webPageTitleFont->height).contains(m)) {
+							lnkIndex = -1;
+						} else {
+							if (!_items[i].link->title.isEmpty()) top += st::webPageTitleFont->height;
+							if (!_items[i].link->text.isEmpty()) top += qMin(st::msgFont->height * 3, _items[i].link->text.countHeight(w));
+							for (int32 j = 0, c = _items[i].link->urls.size(); j < c; ++j) {
+								if (QRect(left, top, qMin(w, _items[i].link->urls[j].width), st::msgFont->height).contains(m)) {
+									lnkIndex = j + 1;
+									break;
+								}
+								top += st::msgFont->height;
 							}
-							top += st::msgFont->height;
+						}
+					} else if (_type == OverviewDocuments) {
+						HistoryMedia *media = item->getMedia(true);
+						if (media) {
+							media->getStateOverview(lnk, m.x() - _rowsLeft, m.y() - y, item, _rowWidth);
 						}
 					}
 				}
 				break;
 			}
 		}
-	} else {
+	} else if (_type == OverviewAudios) {
 		int32 w = _width - st::msgMargin.left() - st::msgMargin.right();
 		for (int32 i = _items.size(); i > 0;) {
 			--i;
@@ -1528,17 +1562,7 @@ void OverviewInner::onUpdateSelected() {
 					index = i;
 					HistoryMedia *media = item->getMedia(true);
 					if (media) {
-						bool out = item->out(), fromChannel = item->fromChannel(), outbg = out && !fromChannel;
-						int32 mw = media->maxWidth(), left = (fromChannel ? (st::msgMargin.left() + st::msgMargin.left()) / 2 : (out ? st::msgMargin.right() : st::msgMargin.left())) + ((mw < w) ? (fromChannel ? 0 : (out ? w - mw : 0)) : 0);
-						if (item->displayFromPhoto()) {
-							if (QRect(left, y + st::msgMargin.top() + media->countHeight(item, w) - st::msgPhotoSize, st::msgPhotoSize, st::msgPhotoSize).contains(m)) {
-								lnk = item->from()->lnk;
-							}
-							left += st::msgPhotoSkip;
-						}
-						TextLinkPtr link;
-						media->getState(link, cursorState, m.x() - left, m.y() - y - st::msgMargin.top(), item, w);
-						if (link) lnk = link;
+						media->getStateOverview(lnk, m.x() - _rowsLeft, m.y() - y, item, _rowWidth);
 					}
 				}
 				break;
@@ -1609,12 +1633,12 @@ void OverviewInner::onUpdateSelected() {
 				_selected[_dragItem] = 0;
 				updateDragSelection(0, -1, 0, -1, false);
 			} else if (canSelectMany) {
-				bool selectingDown = ((_type == OverviewPhotos || _type == OverviewAudioDocuments || _type == OverviewLinks) ? (_mousedItemIndex > _dragItemIndex) : (_mousedItemIndex < _dragItemIndex)) || (_mousedItemIndex == _dragItemIndex && (_type == OverviewPhotos ? (_dragStartPos.x() < m.x()) : (_dragStartPos.y() < m.y())));
+				bool selectingDown = ((_type == OverviewPhotos || _type == OverviewVideos || _type == OverviewAudioDocuments || _type == OverviewLinks) ? (_mousedItemIndex > _dragItemIndex) : (_mousedItemIndex < _dragItemIndex)) || (_mousedItemIndex == _dragItemIndex && ((_type == OverviewPhotos || _type == OverviewVideos) ? (_dragStartPos.x() < m.x()) : (_dragStartPos.y() < m.y())));
 				MsgId dragSelFrom = _dragItem, dragSelTo = _mousedItem;
 				int32 dragSelFromIndex = _dragItemIndex, dragSelToIndex = _mousedItemIndex;
 				if (!itemHasPoint(dragSelFrom, dragSelFromIndex, _dragStartPos.x(), _dragStartPos.y())) { // maybe exclude dragSelFrom
 					if (selectingDown) {
-						if (_type == OverviewPhotos) {
+						if (_type == OverviewPhotos || _type == OverviewVideos) {
 							if (_dragStartPos.x() >= _vsize || ((_mousedItem == dragSelFrom) && (m.x() < _dragStartPos.x() + QApplication::startDragDistance()))) {
 								moveToNextItem(dragSelFrom, dragSelFromIndex, dragSelTo, 1);
 							}
@@ -1632,7 +1656,7 @@ void OverviewInner::onUpdateSelected() {
 							}
 						}
 					} else {
-						if (_type == OverviewPhotos) {
+						if (_type == OverviewPhotos || _type == OverviewVideos) {
 							if (_dragStartPos.x() < 0 || ((_mousedItem == dragSelFrom) && (m.x() >= _dragStartPos.x() - QApplication::startDragDistance()))) {
 								moveToNextItem(dragSelFrom, dragSelFromIndex, dragSelTo, -1);
 							}
@@ -1653,7 +1677,7 @@ void OverviewInner::onUpdateSelected() {
 				}
 				if (_dragItem != _mousedItem) { // maybe exclude dragSelTo
 					if (selectingDown) {
-						if (_type == OverviewPhotos) {
+						if (_type == OverviewPhotos || _type == OverviewVideos) {
 							if (m.x() < 0) {
 								moveToNextItem(dragSelTo, dragSelToIndex, dragSelFrom, -1);
 							}
@@ -1671,7 +1695,7 @@ void OverviewInner::onUpdateSelected() {
 							}
 						}
 					} else {
-						if (_type == OverviewPhotos) {
+						if (_type == OverviewPhotos || _type == OverviewVideos) {
 							if (m.x() >= _vsize) {
 								moveToNextItem(dragSelTo, dragSelToIndex, dragSelFrom, 1);
 							}
@@ -1694,7 +1718,7 @@ void OverviewInner::onUpdateSelected() {
 				MsgId dragFirstAffected = dragSelFrom;
 				int32 dragFirstAffectedIndex = dragSelFromIndex;
 				while (dragFirstAffectedIndex >= 0 && itemMsgId(dragFirstAffected) <= 0) {
-					moveToNextItem(dragFirstAffected, dragFirstAffectedIndex, dragSelTo, ((selectingDown && (_type == OverviewPhotos || _type == OverviewAudioDocuments)) || (!selectingDown && (_type != OverviewPhotos && _type != OverviewAudioDocuments))) ? -1 : 1);
+					moveToNextItem(dragFirstAffected, dragFirstAffectedIndex, dragSelTo, ((selectingDown && (_type == OverviewPhotos || _type == OverviewVideos || _type == OverviewAudioDocuments)) || (!selectingDown && (_type != OverviewPhotos && _type != OverviewVideos && _type != OverviewAudioDocuments))) ? -1 : 1);
 				}
 				if (dragFirstAffectedIndex >= 0) {
 					SelectedItems::const_iterator i = _selected.constFind(dragFirstAffected);
@@ -1809,12 +1833,21 @@ void OverviewInner::leaveEvent(QEvent *e) {
 
 void OverviewInner::resizeEvent(QResizeEvent *e) {
 	_width = width();
-	_audioWidth = qMin(_width - st::profilePadding.left() - st::profilePadding.right(), int(st::profileMaxWidth));
-	_audioLeft = (_width - _audioWidth) / 2;
-	_linksWidth = qMin(_width - st::linksSearchMargin.left() - st::linksSearchMargin.right(), int(st::linksMaxWidth));
-	_linksLeft = (_width - _linksWidth) / 2;
-	_search.setGeometry(_linksLeft, st::linksSearchMargin.top(), _linksWidth, _search.height());
-	_cancelSearch.move(_linksLeft + _linksWidth - _cancelSearch.width(), _search.y());
+	if (_type == OverviewLinks) {
+		_rowWidth = qMin(_width - st::linksSearchMargin.left() - st::linksSearchMargin.right(), int(st::linksMaxWidth));
+	} else {
+		_rowWidth = qMin(_width - st::profilePadding.left() - st::profilePadding.right(), int(st::profileMaxWidth));
+		if (_type == OverviewAudioDocuments) {
+			_rowHeight = st::msgFilePadding.top() + st::msgFileSize + st::msgFilePadding.bottom();
+		} else {
+			_rowHeight = st::msgFileThumbPadding.top() + st::msgFileThumbSize + st::msgFileThumbPadding.bottom();
+		}
+	}
+	_rowsLeft = (_width - _rowWidth) / 2;
+
+	_search.setGeometry(_rowsLeft, st::linksSearchMargin.top(), _rowWidth, _search.height());
+	_cancelSearch.moveToLeft(_rowsLeft + _rowWidth - _cancelSearch.width(), _search.y());
+
 	showAll(true);
 	onUpdateSelected();
 	update();
@@ -1962,13 +1995,13 @@ int32 OverviewInner::resizeToWidth(int32 nwidth, int32 scrollTop, int32 minHeigh
 	} else {
 		_addToY = (_height < _minHeight) ? (_minHeight - _height) : 0;
 	}
-	if (_type == OverviewPhotos && _resizeIndex < 0) {
+	if ((_type == OverviewPhotos || _type == OverviewVideos) && _resizeIndex < 0) {
 		_resizeIndex = _photosInRow * ((scrollTop + minHeight) / int32(_vsize + st::overviewPhotoSkip)) + _photosInRow - 1;
 		_resizeSkip = (scrollTop + minHeight) - ((scrollTop + minHeight) / int32(_vsize + st::overviewPhotoSkip)) * int32(_vsize + st::overviewPhotoSkip);
 	}
 	resize(nwidth, height() > _minHeight ? height() : _minHeight);
 	showAll();
-	if (_type == OverviewPhotos) {
+	if (_type == OverviewPhotos || _type == OverviewVideos) {
         int32 newRow = _resizeIndex / _photosInRow;
         return newRow * int32(_vsize + st::overviewPhotoSkip) + _resizeSkip - minHeight;
     }
@@ -2268,7 +2301,7 @@ void OverviewInner::onTouchScrollTimer() {
 
 void OverviewInner::mediaOverviewUpdated(bool fromResize) {
 	int32 oldHeight = _height;
-	if (_type == OverviewLinks) {
+	if (_type == OverviewLinks || _type == OverviewDocuments) {
 		History::MediaOverview &o(_history->overview[_type]), *migratedOverview = _migrated ? &_migrated->overview[_type] : 0;
 		int32 migrateCount = migratedIndexSkip();
 		int32 l = _inSearch ? _searchResults.size() : (migrateCount + o.size()), tocheck = qMin(l, _itemsToBeLoaded);
@@ -2282,9 +2315,9 @@ void OverviewInner::mediaOverviewUpdated(bool fromResize) {
 			if (allGood) {
 				if (_items.size() > in && _items.at(in).msgid == msgid) {
 					prevDate = _items.at(in).date;
-					if (fromResize) {
+					if (fromResize && _type == OverviewLinks) {
 						_items[in].y = y;
-						y += _items[in].link->countHeight(_linksWidth);
+						y += _items[in].link->countHeight(_rowWidth);
 					} else {
 						y = (in + 1 < _items.size()) ? _items.at(in + 1).y : _height;
 					}
@@ -2292,15 +2325,15 @@ void OverviewInner::mediaOverviewUpdated(bool fromResize) {
 					continue;
 				}
 				if (_items.size() > in + 1 && !_items.at(in).msgid && _items.at(in + 1).msgid == msgid) { // day item
-					if (fromResize) {
+					if (fromResize && _type == OverviewLinks) {
 						_items[in].y = y;
 						y += st::msgFont->height + st::linksDateMargin * 2 + st::linksBorder;
 					}
 					++in;
 					prevDate = _items.at(in).date;
-					if (fromResize) {
+					if (fromResize && _type == OverviewLinks) {
 						_items[in].y = y;
-						y += _items[in].link->countHeight(_linksWidth);
+						y += _items[in].link->countHeight(_rowWidth);
 					} else {
 						y = (in + 1 < _items.size()) ? _items.at(in + 1).y : _height;
 					}
@@ -2326,14 +2359,25 @@ void OverviewInner::mediaOverviewUpdated(bool fromResize) {
 				prevDate = date;
 			}
 
+			HistoryMedia *media = item ? item->getMedia(true) : 0;
+			if (media) media->initDimensions(item);
+
 			if (_items.size() > in) {
 				_items[in] = CachedItem(msgid, item->date.date(), y);
-				_items[in].link = cachedLink(item);
-				y += _items[in].link->countHeight(_linksWidth);
+				if (_type == OverviewLinks) {
+					_items[in].link = cachedLink(item);
+					y += _items[in].link->countHeight(_rowWidth);
+				} else {
+					y += _rowHeight;
+				}
 			} else {
 				_items.push_back(CachedItem(msgid, item->date.date(), y));
-				_items.back().link = cachedLink(item);
-				y += _items.back().link->countHeight(_linksWidth);
+				if (_type == OverviewLinks) {
+					_items.back().link = cachedLink(item);
+					y += _items.back().link->countHeight(_rowWidth);
+				} else {
+					y += _rowHeight;
+				}
 			}
 			++in;
 		}
@@ -2348,7 +2392,7 @@ void OverviewInner::mediaOverviewUpdated(bool fromResize) {
 		}
 		dragActionUpdate(QCursor::pos());
 		update();
-	} else if (_type != OverviewPhotos && _type != OverviewAudioDocuments) {
+	} else if (_type == OverviewAudios) {
 		History::MediaOverview &o(_history->overview[_type]), *migratedOverview = _migrated ? &_migrated->overview[_type] : 0;
 		int32 migrateCount = migratedIndexSkip();
 		int32 l = migrateCount + o.size();
@@ -2363,36 +2407,14 @@ void OverviewInner::mediaOverviewUpdated(bool fromResize) {
 			if (allGood) {
 				if (_items.size() > in && _items.at(in).msgid == msgid) {
 					prevDate = _items.at(in).date;
-					if (fromResize) {
-						HistoryItem *item = App::histItemById(_channel, msgid);
-						HistoryMedia *media = item ? item->getMedia(true) : 0;
-						if (media) {
-							y += media->countHeight(item, w) + st::msgMargin.top() + st::msgMargin.bottom(); // item height
-						}
-						_items[in].y = y;
-					} else {
-						y = _items.at(in).y;
-					}
+					y = _items.at(in).y;
 					++in;
 					continue;
 				}
 				if (_items.size() > in + 1 && !_items.at(in).msgid && _items.at(in + 1).msgid == msgid) { // day item
-					if (fromResize) {
-						y += st::msgServiceFont->height + st::msgServicePadding.top() + st::msgServicePadding.bottom() + st::msgServiceMargin.top() + st::msgServiceMargin.bottom(); // day item height
-						_items[in].y = y;
-					}
 					++in;
 					prevDate = _items.at(in).date;
-					if (fromResize) {
-						HistoryItem *item = App::histItemById(_channel, msgid);
-						HistoryMedia *media = item ? item->getMedia(true) : 0;
-						if (media) {
-							y += media->countHeight(item, w) + st::msgMargin.top() + st::msgMargin.bottom(); // item height
-						}
-						_items[in].y = y;
-					} else {
-						y = _items.at(in).y;
-					}
+					y = _items.at(in).y;
 					++in;
 					continue;
 				}
@@ -2405,7 +2427,7 @@ void OverviewInner::mediaOverviewUpdated(bool fromResize) {
 			QDate date = item->date.date();
 			if (in > 0) {
 				if (date != prevDate) { // add day item
-					y += st::msgServiceFont->height + st::msgServicePadding.top() + st::msgServicePadding.bottom() + st::msgServiceMargin.top() + st::msgServiceMargin.bottom(); // day item height
+					y += st::msgFont->height + st::linksDateMargin * 2 + st::linksBorder; // day item height
 					if (_items.size() > in) {
 						_items[in].msgid = 0;
 						_items[in].date = prevDate;
@@ -2420,7 +2442,7 @@ void OverviewInner::mediaOverviewUpdated(bool fromResize) {
 				prevDate = date;
 			}
 			media->initDimensions(item);
-			y += media->countHeight(item, w) + st::msgMargin.top() + st::msgMargin.bottom(); // item height
+			y += _rowHeight;
 			if (_items.size() > in) {
 				_items[in].msgid = msgid;
 				_items[in].date = date;
@@ -2431,7 +2453,7 @@ void OverviewInner::mediaOverviewUpdated(bool fromResize) {
 			++in;
 		}
 		if (!_items.isEmpty()) {
-			y += st::msgServiceFont->height + st::msgServicePadding.top() + st::msgServicePadding.bottom() + st::msgServiceMargin.top() + st::msgServiceMargin.bottom(); // day item height
+			y += st::msgFont->height + st::linksDateMargin * 2 + st::linksBorder; // day item height
 			if (_items.size() > in) {
 				_items[in].msgid = 0;
 				_items[in].date = prevDate;
@@ -2530,44 +2552,6 @@ void OverviewInner::itemRemoved(HistoryItem *item) {
 	update();
 }
 
-void OverviewInner::itemResized(HistoryItem *item, bool scrollToIt) {
-	if (_type != OverviewPhotos && _type != OverviewAudioDocuments && _type != OverviewLinks) {
-		HistoryMedia *media = item ? item->getMedia(true) : 0;
-		if (!media) return;
-
-		MsgId msgId = (item->history() == _migrated) ? -item->id : item->id;
-		for (int32 i = 0, l = _items.size(); i < l; ++i) {
-			if (_items[i].msgid == msgId) {
-				int32 from = 0;
-				if (i > 0) from = _items[i - 1].y;
-
-				int32 oldh = _items[i].y - from;
-				int32 w = _width - st::msgMargin.left() - st::msgMargin.right();
-				int32 newh = media->countHeight(item, w) + st::msgMargin.top() + st::msgMargin.bottom(); // item height
-				if (oldh != newh) {
-					newh -= oldh;
-					for (int32 j = i; j < l; ++j) {
-						_items[j].y += newh;
-					}
-					_height = _items[l - 1].y;
-					_addToY = (_height < _minHeight) ? (_minHeight - _height) : 0;
-					resize(width(), _minHeight > _height ? _minHeight : _height);
-					if (scrollToIt) {
-						if (_addToY + _height - from > _scroll->scrollTop() + _scroll->height()) {
-							_scroll->scrollToY(_addToY + _height - from - _scroll->height());
-						}
-						if (_addToY + _height - _items[i].y < _scroll->scrollTop()) {
-							_scroll->scrollToY(_addToY + _height - _items[i].y);
-						}
-					}
-					update();
-				}
-				break;
-			}
-		}
-	}
-}
-
 void OverviewInner::redrawItem(const HistoryItem *msg) {
 	if (!msg) return;
 
@@ -2577,7 +2561,7 @@ void OverviewInner::redrawItem(const HistoryItem *msg) {
 	int32 migrateindex = migratedIndexSkip();
 	MsgId msgid = msg->id;
 	if (history->overviewHasMsgId(_type, msgid) && (history == _history || migrateindex > 0)) {
-		if (_type == OverviewPhotos) {
+		if (_type == OverviewPhotos || _type == OverviewVideos) {
 			int32 index = history->overview[_type].indexOf(msgid);
 			if (index >= 0) {
 				if (history == _history) index += migrateindex;
@@ -2590,13 +2574,13 @@ void OverviewInner::redrawItem(const HistoryItem *msg) {
 			int32 index = history->overview[_type].indexOf(msgid);
 			if (index >= 0) {
 				if (history == _history) index += migrateindex;
-				update(_audioLeft, _addToY + int32(index * _audioHeight), _audioWidth, _audioHeight);
+				update(_rowsLeft, _addToY + int32(index * _rowHeight), _rowWidth, _rowHeight);
 			}
 		} else if (_type == OverviewLinks) {
 			if (history == _migrated) msgid = -msgid;
 			for (int32 i = 0, l = _items.size(); i != l; ++i) {
 				if (_items[i].msgid == msgid) {
-					update(_linksLeft, _addToY + _items[i].y, _linksWidth, itemHeight(msgid, i));
+					update(_rowsLeft, _addToY + _items[i].y, _rowWidth, itemHeight(msgid, i));
 					break;
 				}
 			}
@@ -2614,7 +2598,7 @@ void OverviewInner::redrawItem(const HistoryItem *msg) {
 
 void OverviewInner::showAll(bool recountHeights) {
 	int32 newHeight = height();
-	if (_type == OverviewPhotos) {
+	if (_type == OverviewPhotos || _type == OverviewVideos) {
 		_photosInRow = int32(width() - st::overviewPhotoSkip) / int32(st::overviewPhotoMinSize + st::overviewPhotoSkip);
 		_vsize = (int32(width() - st::overviewPhotoSkip) / _photosInRow) - st::overviewPhotoSkip;
 		int32 migratedCount = migratedIndexSkip(), count = migratedCount + _history->overview[_type].size();
@@ -2632,7 +2616,7 @@ void OverviewInner::showAll(bool recountHeights) {
 		_addToY = (_height < _minHeight) ? (_minHeight - _height) : 0;
 	} else if (_type == OverviewAudioDocuments) {
 		int32 migratedCount = migratedIndexSkip(), count = migratedCount + _history->overview[_type].size();
-		newHeight = _height = count * _audioHeight + 2 * st::playlistPadding;
+		newHeight = _height = count * _rowHeight + 2 * st::playlistPadding;
 		_addToY = st::playlistPadding;
 	} else if (_type == OverviewLinks) {
 		if (recountHeights) { // recount heights because of texts
@@ -2641,9 +2625,6 @@ void OverviewInner::showAll(bool recountHeights) {
 		newHeight = _height;
 		_addToY = st::linksSearchMargin.top() + _search.height() + st::linksSearchMargin.bottom();
 	} else {
-		if (recountHeights && _type == OverviewVideos) { // recount heights because of captions
-			mediaOverviewUpdated(true);
-		}
 		newHeight = _height;
 		_addToY = (_height < _minHeight) ? (_minHeight - _height) : 0;
 	}
@@ -2754,40 +2735,7 @@ void OverviewWidget::paintEvent(QPaintEvent *e) {
 		return;
 	}
 
-	QRect r(e->rect());
-	if (type() == OverviewPhotos || type() == OverviewAudioDocuments || type() == OverviewLinks) {
-		p.fillRect(r, st::white->b);
-	} else {
-		bool hasTopBar = !App::main()->topBar()->isHidden(), hasPlayer = !App::main()->player()->isHidden();
-		QRect fill(0, 0, width(), App::main()->height());
-		int fromy = (hasTopBar ? (-st::topBarHeight) : 0) + (hasPlayer ? (-st::playerHeight) : 0), x = 0, y = 0;
-		QPixmap cached = App::main()->cachedBackground(fill, x, y);
-		if (cached.isNull()) {
-			const QPixmap &pix(*cChatBackground());
-			if (cTileBackground()) {
-				int left = r.left(), top = r.top(), right = r.left() + r.width(), bottom = r.top() + r.height();
-				float64 w = pix.width() / cRetinaFactor(), h = pix.height() / cRetinaFactor();
-				int sx = qFloor(left / w), sy = qFloor((top - fromy) / h), cx = qCeil(right / w), cy = qCeil((bottom - fromy) / h);
-				for (int i = sx; i < cx; ++i) {
-					for (int j = sy; j < cy; ++j) {
-						p.drawPixmap(QPointF(i * w, fromy + j * h), pix);
-					}
-				}
-			} else {
-				bool smooth = p.renderHints().testFlag(QPainter::SmoothPixmapTransform);
-				p.setRenderHint(QPainter::SmoothPixmapTransform);
-
-				QRect to, from;
-				App::main()->backgroundParams(fill, to, from);
-				to.moveTop(to.top() + fromy);
-				p.drawPixmap(to, pix, from);
-
-				if (!smooth) p.setRenderHint(QPainter::SmoothPixmapTransform, false);
-			}
-		} else {
-			p.drawPixmap(x, fromy + y, cached);
-		}
-	}
+	p.fillRect(e->rect(), st::white);
 }
 
 void OverviewWidget::contextMenuEvent(QContextMenuEvent *e) {
@@ -3007,12 +2955,6 @@ void OverviewWidget::itemRemoved(HistoryItem *row) {
 	_inner.itemRemoved(row);
 }
 
-void OverviewWidget::itemResized(HistoryItem *row, bool scrollToIt) {
-	if (!row || row->history()->peer == peer() || row->history()->peer == migratePeer()) {
-		_inner.itemResized(row, scrollToIt);
-	}
-}
-
 void OverviewWidget::fillSelectedItems(SelectedItemSet &sel, bool forDelete) {
 	_inner.fillSelectedItems(sel, forDelete);
 }
diff --git a/Telegram/SourceFiles/overviewwidget.h b/Telegram/SourceFiles/overviewwidget.h
index 8953db130..ec778004a 100644
--- a/Telegram/SourceFiles/overviewwidget.h
+++ b/Telegram/SourceFiles/overviewwidget.h
@@ -71,8 +71,7 @@ public:
 	void changingMsgId(HistoryItem *row, MsgId newId);
 	void redrawItem(const HistoryItem *msg);
 	void itemRemoved(HistoryItem *item);
-	void itemResized(HistoryItem *item, bool scrollToIt);
-
+	
 	void getSelectionState(int32 &selectedForForward, int32 &selectedForDelete) const;
 	void clearSelectedItems(bool onlyTextSelection = false);
 	void fillSelectedItems(SelectedItemSet &sel, bool forDelete = true);
@@ -133,6 +132,7 @@ private:
 	void addSelectionRange(int32 selFrom, int32 selTo, History *history);
 
 	QPixmap genPix(PhotoData *photo, int32 size);
+	QPixmap genPix(VideoData *video, int32 size);
 	void showAll(bool recountHeights = false);
 
 	OverviewWidget *_overview;
@@ -144,6 +144,9 @@ private:
 	History *_migrated, *_history;
 	ChannelId _channel;
 	
+	// for audio files, files, voice messages and links
+	int32 _rowsLeft, _rowWidth, _rowHeight;
+
 	// photos
 	int32 _photosInRow, _photosToAdd, _vsize;
 	struct CachedSize {
@@ -151,15 +154,11 @@ private:
 		bool medium;
 		QPixmap pix;
 	};
-	typedef QMap<PhotoData*, CachedSize> CachedSizes;
+	typedef QMap<void*, CachedSize> CachedSizes;
 	CachedSizes _cached;
 	bool _selMode;
 
-	// audio documents
-	int32 _audioLeft, _audioWidth, _audioHeight;
-
 	// shared links
-	int32 _linksLeft, _linksWidth;
 	struct Link {
 		Link() : width(0) {
 		}
@@ -214,9 +213,9 @@ private:
 
 	// other
 	struct CachedItem {
-		CachedItem() : msgid(0), y(0) {
+		CachedItem() : msgid(0), y(0), link(0) {
 		}
-		CachedItem(MsgId msgid, const QDate &date, int32 y) : msgid(msgid), date(date), y(y) {
+		CachedItem(MsgId msgid, const QDate &date, int32 y) : msgid(msgid), date(date), y(y), link(0) {
 		}
 		MsgId msgid;
 		QDate date;
@@ -314,8 +313,7 @@ public:
 	void mediaOverviewUpdated(PeerData *peer, MediaOverviewType type);
 	void changingMsgId(HistoryItem *row, MsgId newId);
 	void itemRemoved(HistoryItem *item);
-	void itemResized(HistoryItem *row, bool scrollToIt);
-
+	
 	QPoint clampMousePosition(QPoint point);
 
 	void checkSelectingScroll(QPoint point);