Your comments

Ещё баг: не обновляется содежимое лупы и цвета пикселя под перекрестьем.

2 года :) выложите тестовую версию под ubuntu, как сделаете ;)

Отлично! Всё супер! Спасибо за работу!


К незначительным косякам можно отнести подёргивание окна настроек при перетаскивании. Других косяков больше не вижу 👏

Работает супер. Есть две ошибки:

На втором (правом) экране неправильно позиционируется панель инструментов. Думаю она смещается вправо но ширину левого экрана. В итоге её не видно. Если попробовать изменить размер области скрина — она прилетает на место.

И, судя по всему, не очищается буфер снимка. При повторном скрине показывает то же изображение, что было в предыдущем использовании (без аннотаций, просто те же окна в том же месте).

Теперь, после выбора области, изображение обоих экранов он втискивает в экран на котором производилось выделение. Мне кажется все предыдущие баги повторяются в том же порядке. Следующая сборка должна быть более-менее рабочей значит :) Надеюсь лагать не начнёт :D

Работает быстрее последней 3.0.9 что я тестил, но проблема в том, что на левый экран доп. экран копируется картинка правого основного. В итоге где бы ты не делал скрин, это будет скрин с правого экрана.

Опять началась эта ерунда с маленьким окошком в углу на обоих мониторах

Как успехи, есть новые сборки? А то эти лаги в начале и на переключении инструментов начинают раздражать…

Видео лучше скачать, в онлайн, интерфейсе диска, — дикое мыло

Два монитора. Лагает теперь немного по-другому. Сделал скринкаст, для наглядности https://yadi.sk/i/KTuoM6Ehyee47.


Лог от момента нажатия создания скрина примерно до появления интерфейса:


void AnalyticsEvent::sendEvent() "v=1&tid=UA-30950280-6&cid=b9451798-01c3-4fe6-8fe1-463c811067d8&t=event&ec=capture&ea=hotkey&an=Joxi&el=fragment"libpng warning: iCCP: known incorrect sRGB profile
void BasicWindow::setMoviable(bool) true
void MagnifierItem::setBackground(QPixmap) true QSize(0, 0) 1
QPixmap::scaled: Pixmap is a null pixmap
content-type missing in HTTP POST, defaulting to application/x-www-form-urlencoded. Use QNetworkRequest::setHeader() to fix this problem.
void MagnifierItem::setBackground(QPixmap) false QSize(2560, 1440) 1
virtual QPixmap ScreenImagerovider::requestPixmap(const QString&, QSize*, const QSize&) "data"
virtual QPixmap ScreenImagerovider::requestPixmap(const QString&, QSize*, const QSize&) load data false
void MagnifierItem::setBackground(QPixmap) true QSize(0, 0) 1
QPixmap::scaled: Pixmap is a null pixmap
void MagnifierItem::setBackground(QPixmap) false QSize(1920, 1200) 1
virtual QPixmap ScreenImagerovider::requestPixmap(const QString&, QSize*, const QSize&) "data"
virtual QPixmap ScreenImagerovider::requestPixmap(const QString&, QSize*, const QSize&) load data false
virtual QPixmap ScreenImagerovider::requestPixmap(const QString&, QSize*, const QSize&) "data"
virtual QPixmap ScreenImagerovider::requestPixmap(const QString&, QSize*, const QSize&) load data false
virtual void SurfaceSelector::paint(QPainter*) *3
QPixmap::setMask() mask size differs from pixmap size
virtual void SurfaceSelector::paint(QPainter*) *3
QPixmap::setMask() mask size differs from pixmap size
virtual void SurfaceSelector::paint(QPainter*) *3
virtual void SurfaceSelector::paint(QPainter*) *3
virtual void SurfaceSelector::paint(QPainter*) *3
virtual void SurfaceSelector::paint(QPainter*) *3
virtual void SurfaceSelector::paint(QPainter*) *3
virtual void SurfaceSelector::paint(QPainter*) *3
virtual void SurfaceSelector::paint(QPainter*) *3
virtual void SurfaceSelector::paint(QPainter*) *3
virtual void SurfaceSelector::paint(QPainter*) *3
virtual void SurfaceSelector::paint(QPainter*) *3
virtual void SurfaceSelector::paint(QPainter*) *3
virtual void SurfaceSelector::paint(QPainter*) *3
virtual void SurfaceSelector::paint(QPainter*) *3
virtual void SurfaceSelector::paint(QPainter*) *3
virtual void SurfaceSelector::paint(QPainter*) *3
virtual void SurfaceSelector::paint(QPainter*) *3
virtual void SurfaceSelector::paint(QPainter*) *3
virtual void SurfaceSelector::paint(QPainter*) *3
virtual void SurfaceSelector::paint(QPainter*) *3
virtual void SurfaceSelector::paint(QPainter*) *3
virtual void SurfaceSelector::paint(QPainter*) *3
virtual void SurfaceSelector::paint(QPainter*) *3
virtual void SurfaceSelector::paint(QPainter*) *3
virtual void SurfaceSelector::paint(QPainter*) *3
virtual void SurfaceSelector::paint(QPainter*) *3
virtual void SurfaceSelector::paint(QPainter*) *3
virtual void SurfaceSelector::paint(QPainter*) *3
virtual void SurfaceSelector::paint(QPainter*) *3
virtual void SurfaceSelector::paint(QPainter*) *3
virtual void SurfaceSelector::paint(QPainter*) *3
virtual void SurfaceSelector::paint(QPainter*) *3
virtual void SurfaceSelector::paint(QPainter*) *3
virtual void SurfaceSelector::paint(QPainter*) *3
virtual void SurfaceSelector::paint(QPainter*) *3
virtual void SurfaceSelector::paint(QPainter*) *3
virtual void SurfaceSelector::paint(QPainter*) *3
virtual void SurfaceSelector::paint(QPainter*) *3
virtual void SurfaceSelector::paint(QPainter*) *3
virtual void SurfaceSelector::paint(QPainter*) *3
virtual void SurfaceSelector::paint(QPainter*) *3
virtual void SurfaceSelector::paint(QPainter*) *3
virtual void SurfaceSelector::paint(QPainter*) *3
virtual void SurfaceSelector::paint(QPainter*) *3
virtual void SurfaceSelector::paint(QPainter*) *3
virtual void SurfaceSelector::paint(QPainter*) *3
virtual void SurfaceSelector::paint(QPainter*) *3
virtual void SurfaceSelector::paint(QPainter*) *3
virtual void SurfaceSelector::paint(QPainter*) *3
virtual void SurfaceSelector::paint(QPainter*) *3
virtual void SurfaceSelector::paint(QPainter*) *3
virtual void SurfaceSelector::paint(QPainter*) *3
virtual void SurfaceSelector::paint(QPainter*) *3
virtual void SurfaceSelector::paint(QPainter*) *3
virtual void SurfaceSelector::paint(QPainter*) *3
virtual void SurfaceSelector::paint(QPainter*) *3
virtual void SurfaceSelector::paint(QPainter*) *3
virtual void SurfaceSelector::paint(QPainter*) *3
virtual void SurfaceSelector::paint(QPainter*) *3
virtual void SurfaceSelector::paint(QPainter*) *3
virtual void SurfaceSelector::paint(QPainter*) *3
virtual void SurfaceSelector::paint(QPainter*) *3
virtual void SurfaceSelector::paint(QPainter*) *3
virtual void SurfaceSelector::paint(QPainter*) *3
virtual void SurfaceSelector::paint(QPainter*) *3
virtual void SurfaceSelector::paint(QPainter*) *3
virtual void SurfaceSelector::paint(QPainter*) *3
virtual void SurfaceSelector::paint(QPainter*) *3
virtual void SurfaceSelector::paint(QPainter*) *3
virtual void SurfaceSelector::paint(QPainter*) *3
virtual void SurfaceSelector::paint(QPainter*) *3
virtual void SurfaceSelector::paint(QPainter*) *3
virtual void SurfaceSelector::paint(QPainter*) *3
virtual void SurfaceSelector::paint(QPainter*) *3
virtual void SurfaceSelector::paint(QPainter*) *3
virtual void SurfaceSelector::paint(QPainter*) *3
virtual void SurfaceSelector::paint(QPainter*) *3
virtual void SurfaceSelector::paint(QPainter*) *3
virtual void SurfaceSelector::paint(QPainter*) *3
virtual void SurfaceSelector::paint(QPainter*) *3
virtual void SurfaceSelector::paint(QPainter*) *3
virtual void SurfaceSelector::paint(QPainter*) *3
virtual void SurfaceSelector::paint(QPainter*) *3
virtual void SurfaceSelector::paint(QPainter*) *3
virtual void SurfaceSelector::paint(QPainter*) *3
virtual void SurfaceSelector::paint(QPainter*) *3
virtual void SurfaceSelector::paint(QPainter*) *3
virtual void SurfaceSelector::paint(QPainter*) *3
virtual void SurfaceSelector::paint(QPainter*) *3
virtual void SurfaceSelector::paint(QPainter*) *3
virtual void SurfaceSelector::paint(QPainter*) *3
virtual void SurfaceSelector::paint(QPainter*) *3
virtual void SurfaceSelector::paint(QPainter*) *3
virtual void SurfaceSelector::paint(QPainter*) *3
virtual void SurfaceSelector::paint(QPainter*) *3
virtual void SurfaceSelector::paint(QPainter*) *3
virtual void SurfaceSelector::paint(QPainter*) *3
virtual void SurfaceSelector::paint(QPainter*) *3
virtual void SurfaceSelector::paint(QPainter*) *3
virtual void SurfaceSelector::paint(QPainter*) *3
virtual void SurfaceSelector::paint(QPainter*) *2
virtual void SurfaceSelector::paint(QPainter*) *2
virtual void SurfaceSelector::paint(QPainter*) *2
virtual void SurfaceSelector::paint(QPainter*) *2
virtual void SurfaceSelector::paint(QPainter*) *2
virtual void SurfaceSelector::paint(QPainter*) *2
virtual void SurfaceSelector::paint(QPainter*) *2
virtual void SurfaceSelector::paint(QPainter*) *2
virtual void SurfaceSelector::paint(QPainter*) *2
virtual void SurfaceSelector::paint(QPainter*) *2
virtual void SurfaceSelector::paint(QPainter*) *2
virtual void SurfaceSelector::paint(QPainter*) *2
virtual void SurfaceSelector::paint(QPainter*) *2
virtual void SurfaceSelector::paint(QPainter*) *2
virtual void SurfaceSelector::paint(QPainter*) *2
virtual void SurfaceSelector::paint(QPainter*) *2
virtual void SurfaceSelector::paint(QPainter*) *2
virtual void SurfaceSelector::paint(QPainter*) *2
virtual void SurfaceSelector::paint(QPainter*) *2
virtual void SurfaceSelector::paint(QPainter*) *2
virtual void SurfaceSelector::paint(QPainter*) *2
virtual void SurfaceSelector::paint(QPainter*) *2
virtual void SurfaceSelector::paint(QPainter*) *2
virtual void SurfaceSelector::paint(QPainter*) *2
void SelectorWidgetMac::selectComplete()
void SelectorWidgetMac::selectComplete() *1
void SelectorWidgetMac::selectComplete() screen geometry  0 QRect(1920,0 2560x1440)
void SelectorWidgetMac::selectComplete() screen geometry  1 QRect(0,0 1920x1200)
void SelectorWidgetMac::selectComplete() globalRect.x() >= 0
virtual SelectorWidgetMac::~SelectorWidgetMac()
virtual SurfaceSelector::~SurfaceSelector()
virtual SelectorWidgetMac::~SelectorWidgetMac()
virtual SurfaceSelector::~SurfaceSelector()
SurfaceWidget* Core::surfaceWidget() *1
SurfaceWidget* Core::surfaceWidget() *2
BlackoutArea::BlackoutArea(QQuickItem*)
void BlackoutArea::setLineWidth(int) 9
QVariant Setting::widthColorLine() QVariant(QString, "6")
void JPainterArea::setCurrentLineWidth(int) 6
void JPainterArea::setCurrentItemWidth(int) QQuickItem(0)
void Setting::setValue(QString, QVariant, bool) "substrate" QVariant(bool, true) false
void Setting::setValue(QString, QVariant, bool) 0
BlackoutArea::BlackoutArea(QQuickItem*)
void BlackoutArea::setLineWidth(int) 9
QVariant Setting::widthColorLine() QVariant(QString, "6")
void JPainterArea::setCurrentLineWidth(int) 6
void JPainterArea::setCurrentItemWidth(int) QQuickItem(0)
void Setting::setValue(QString, QVariant, bool) "substrate" QVariant(bool, true) false
void Setting::setValue(QString, QVariant, bool) 0
qml: onVisibleChanged * 1
qml: implicitWidth 0 210
qml: implicitWidth 0 210
bool JPainterArea::canUndo() false 0
bool JPainterArea::canUndo() false 0
void MagnifierItem::setBackground(QPixmap) false QSize(4480, 1440) 1
qml: implicitWidth 0 210
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: known incorrect sRGB profile
qml: onStateChanged = none
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: known incorrect sRGB profile
virtual QPixmap ScreenImagerovider::requestPixmap(const QString&, QSize*, const QSize&) "data"
virtual QPixmap ScreenImagerovider::requestPixmap(const QString&, QSize*, const QSize&) load data false
libpng warning: iCCP: known incorrect sRGB profile
void JPainterArea::setCurrentModule(QString) "Ellipse"
void AnalyticsEvent::sendEvent() "v=1&tid=UA-30950280-6&cid=b9451798-01c3-4fe6-8fe1-463c811067d8&t=event&ec=tool&ea=click&an=Joxi&el=Ellipse"
void JPainterArea::setCurrentModule(QString) module EllipseModule(0x2e5b8b0)
void SurfaceWidget::setEnableMask(bool) false
qml: onCurrentModuleChanged Ellipse true false
QVariant Setting::widthColorLine() QVariant(QString, "6")
void JPainterArea::setCurrentLineWidth(int) 6
void Setting::setValue(QString, QVariant, bool) "lastGraphTools" QVariant(QString, "Ellipse") false
void Setting::setValue(QString, QVariant, bool) 0
void JPainterArea::setCurrentModule(QString) "Ellipse"
void AnalyticsEvent::sendEvent() "v=1&tid=UA-30950280-6&cid=b9451798-01c3-4fe6-8fe1-463c811067d8&t=event&ec=tool&ea=click&an=Joxi&el=Ellipse"
void JPainterArea::setCurrentModule(QString) module EllipseModule(0x2e633e0)
QVariant Setting::widthColorLine() QVariant(QString, "6")
void JPainterArea::setCurrentLineWidth(int) 6
void Setting::setValue(QString, QVariant, bool) "lastGraphTools" QVariant(QString, "Ellipse") false
void Setting::setValue(QString, QVariant, bool) 0
void JPainterArea::setCurrentLineWidth(int) 6
void SurfaceWidget::setAudioRecord(AudioRecord*) AudioRecord(0x21b8590) SurfaceWidget(0x22f7e90)
SurfaceWidget* Core::surfaceWidget() *3
QObject::connect: No such slot Core::ponoramUpload(QPixmap)
QObject::connect: No such signal SurfaceWidget::editPonoram(QPixmap)
SurfaceWidget* Core::surfaceWidget() *4
void SurfaceWidget::setFullscreen(bool)
SurfaceWidget* Core::surfaceWidget() *1
SurfaceWidget* Core::surfaceWidget() *4
SurfaceWidget* Core::surfaceWidget() *1
SurfaceWidget* Core::surfaceWidget() *4
QRect SurfaceWidget::toolbarScreen(int, int, int, int) QRect(1920,0 2560x1440) false false
QRect SurfaceWidget::toolbarScreen(int, int, int, int) QRect(0,0 1920x1200) false false
void SurfaceWidget::setBackground(QPixmap)
void JPainterArea::setBackground(QImage) false
void MagnifierItem::setBackground(QPixmap) false QSize(1920, 1200) 1
qml: onBackgroundChanged
virtual QPixmap ScreenImagerovider::requestPixmap(const QString&, QSize*, const QSize&) "data"
virtual QPixmap ScreenImagerovider::requestPixmap(const QString&, QSize*, const QSize&) load data false
virtual QPixmap ScreenImagerovider::requestPixmap(const QString&, QSize*, const QSize&) "data"
virtual QPixmap ScreenImagerovider::requestPixmap(const QString&, QSize*, const QSize&) load data false
libpng warning: iCCP: known incorrect sRGB profile
content-type missing in HTTP POST, defaulting to application/x-www-form-urlencoded. Use QNetworkRequest::setHeader() to fix this problem.
content-type missing in HTTP POST, defaulting to application/x-www-form-urlencoded. Use QNetworkRequest::setHeader() to fix this problem.
QSGContext::initialize: stencil buffer support missing, expect rendering errors
virtual void SurfaceSelector::paint(QPainter*) *4
QList<QRectF> BlackoutArea::getPaintRect() m_selectRect QRectF(442,316 485x330)

Запись с бо́льшего монитора, лог с ме́ньшего. Лагает одинаково. Могу записать видео по шагам на ваше усмотрение. Т.е. напишите что делать по шагам — я запишу видео и скину лог, если надо.