Commit Graph

103 Commits

Author SHA1 Message Date
Yurii Puchkov
55e61b8743 Namecheap - Basic objects editing (move, remove, change color, change thickness) (#1539)
* Code refactoring - rename deleteToolwidgetOrClose to deleteToolWidgetOrClose

(cherry picked from commit cc9d71c660fd335e484b8c2c5a4c9ac939a5b643)

* Code refactoring - move part of code from CaptureWidget::paintEvent function into showInitialMessage

(cherry picked from commit 377b716dc4cdc460e385e9a953850c377283db73)

* Code refactoring - move part of code from CaptureWidget::paintEvent function into showInitialMessage

(cherry picked from commit 377b716dc4cdc460e385e9a953850c377283db73)

* Code refactoring - move part of code from CaptureWidget::paintEvent function into drawInactiveRegion, rename showInitialMessage -> drawInitialMessage

(cherry picked from commit 39bf83588db52b9e5b40fddb2b7a9939a64bd19b)

* Re-implement undo/redo feature with a future ability to work with it as with history with access by index (remove/edit not just for a last item)

(cherry picked from commit d6c6cf51c38b8dd8f51f443f3dcb162e96796a66)

* fix - No bubble border for CircleCountTool

(cherry picked from commit 6ef81efd91d9d8d169c1dafd2801fffd2a722ee8)

* fix - Restore Pen and Brush after the rectangle tool (effects Circle tool without it)

(cherry picked from commit 5239925fa5cf69b6755004f3ab8443d091d731c1)

* Tool objects history (undo) list on Utility Panel - added icon to the items

(cherry picked from commit 4181990f2677a9c8b62c844546f4ac708ecac076)

* Update Ukrainian and Russian translations

(cherry picked from commit eae2fe0f5826eda4d44d1616bbd12ff53a9254dd)

* Feature - remove any created object on CaptureWidget

(cherry picked from commit ed2073fa7c2d4e9067668d5a262a067d3ccf9c9a)

* Search tool object on CaptureWidget on mouse click and select it in UtilityPanel

(cherry picked from commit 5a997dd5608d0bf72af1b50bcfa1779336b842ac)

* Optimize tool object search on CaptureWidget

(cherry picked from commit 7cd4872cb4adb29e847c5e3adfdb3a24a240982b)

* Move selection with Ctrl modificator key only, set correct mouse cursor for dragging and selecting tool objects

(cherry picked from commit bf8e47ccbef33bc765820fe64c12168587117ea6)

* Move tool objects based on AbstractTwoPointTool class

(cherry picked from commit 3f041b76d2da9326f099b7109984b75a4ce0df28)

* Move Text tool objects on CaptureWidget

(cherry picked from commit b71b6db9e1a4c64e19a045096bd7df0d5a3f4b8f)

* Move Pencil tool objects on CaptureWidget

(cherry picked from commit 3a269a57bb38bdfea0596f2a8310de6bd5bdb119)

* Code refactoring - clean up unused and some refactoring

(cherry picked from commit af667f1e25c7c363a42952b20580620c0e6d7925)

* Remove - duplicate 'at' class member with int and uint types

(cherry picked from commit 4b5b2f7a75ce568bd23d170b8d8731f630d1bf48)

* Search for an active object BLUR/PIXELATE and activate it on mouse click

(cherry picked from commit 04cbbdd352e41e23edb4ae596173a6d3971ecdb5)

* Increase search radius for text objects

(cherry picked from commit 4f189bc40b71b82d0e1e5d3ff06e6641616abb8c)

* Code refactoring - remove old unused undo/redo backupPixmap

(cherry picked from commit 1b15b9acf514fce854d5e0f467c10a6e14a333a0)

* Add object selection arownd the object on select for tools based on AbstractTwoPointTool

(cherry picked from commit 26fab8ff365ed0d7ff3eee1191d48248e8a05dcd)

* Add object selection arownd the object on select for tools based on AbstractPathTool

(cherry picked from commit bbf53e4c35a58d313d0cd94b24b86c15f5841483)

* Add object selection arownd the object on select for the TextTool

(cherry picked from commit ec5780b5c1ec59fd8924834f67563df36590c0a6)

* Edit color for any selected object

(cherry picked from commit 465a183978f8e8ff0df0e2c5cf77ec3d3115fccc)

* Code refactoring - fix some missprints in MacOS CI

(cherry picked from commit 99ef8a55d4ca812b6217bd15934c276a2ed5aa57)

* Text object selection has wrong size

(cherry picked from commit cd365060f1bc607ee53a77482af50f71d5ffe674)

* Make more noticeable object selection for TwoPoints and Path tools (except arrows)

(cherry picked from commit 67e304474fd116d95ae6138a50c719186b71bf9a)

* Make more noticeable object selection for Arrows

(cherry picked from commit 066ff0a425ebfc2c235ef756057c086cd75a863f)

* Make more noticeable object selection for Text

(cherry picked from commit e5e0afd5853ae2e8169209a0d9a3a6b1ce42f6e1)

* fix - Make more noticeable object selection for Arrow tool

(cherry picked from commit e1028c7c786d7d8b92b2bd7561193ed5be9066c8)

* fix - add '#include <cmath>' for round function

(cherry picked from commit a043036627587d78bbc916a4590e4e0cb9a6173d)

* Add hotkey for removing objects

(cherry picked from commit 13059461d550fbdd7f43d157c3a87fad43989742)

* Add hotkey for removing objects

(cherry picked from commit 13059461d550fbdd7f43d157c3a87fad43989742)

* Code refactoring - remove outdated parts of undo/redo, some optimisation

(cherry picked from commit 8e08cea690dcbadb61efbab4139b4bd43a9dd91a)

* Add operator = for tool objects to be able to implement undo/redo stack based on the concept of full state saving for each step (just objects, not generated images and layers)

(cherry picked from commit 7ffc850883ea97d807514a15d89ac5dd0e45c9f5)

* Implement basic Undo/Redo step based on QUndoStack (without move and change color steps), some other fixes

(cherry picked from commit 818f3d2939fbe5153787612824e40b3b1997297b)

* Add undo/redo stack for changing color

(cherry picked from commit 2b8a4ffc4f5e39d8531611f516a222288f54224b)

* fix - save objects state before color update for undo/redo stack and do not save state until mouse release event

(cherry picked from commit 4ba79d6b96d89a3010f14d0d9759ff98ae407fd1)

* Add object movement to the undo/redo stack

(cherry picked from commit 1eacc35a15487a815a68db6b7ad5daf8bac7adcf)

* fix - undo/redo from first to the latest item (still with a brutal hack)

(cherry picked from commit 421f43ff5361da1d215465e133b52b407829340c)

* Do not close CaptureWidget if some tool object or selection is active

(cherry picked from commit 17fc95e167dd7ac3c17c8ed39c4bbde03301ea9b)

* Don't change color if right click is not in the object selection area

(cherry picked from commit d8ecead647ca0804c5e7555c8ffa3117abc8f3d1)

* Edit thickness for the existing objects

(cherry picked from commit 9ab45497e60b1316bf50d67ca7d29b84cd70f515)

* fix - restore CaptureWidget thickness on object select

(cherry picked from commit 9ff9de5a915eec65bed66a74e3a5ec7f1bee2719)

* Code refactoring - move repeated code to the function 'activeToolObject'

(cherry picked from commit c388d8c8ec2844c2426148a437f6aaad2a1f7923)

* Code refactoring - remove unused lines and many fixes based on Clang-Tidy

(cherry picked from commit 7e19019dbaa185387b90fe9f45c8a65f057cd582)

* Code refactoring - remove unused lines and many fixes based on Clang-Tidy

(cherry picked from commit 7e19019dbaa185387b90fe9f45c8a65f057cd582)

* fix - Circle Counter Bubble numeration can skip some items if CPU is high loaded at that moment

(cherry picked from commit 6242fe8620bd5a46a7291de41ea8ce5465950664)

* Code refactoring - make m_thickness variable in tool objects private and work with it as get/set methods

(cherry picked from commit f36e823864c1af35aa94809515f786a45915e180)

* fix - CircleTool doesn't place on CaptureWidget without mouse move
Code refactoring - make number of variables private for AbstractTwoPointTool and work with them as get/set methods

(cherry picked from commit 874ebc3afd3da77fcb954e83429e88016518cbca)

* CircleCount - make circles more contrast and mouse preview opaque

(cherry picked from commit cebf3b831cf5751cb0b4b9b83f6f63d60b18dc8c)

* fix - CircleCount selection and changing color for existing object

(cherry picked from commit 477c230194b57af9223a3d68c4ac4f5c1bf3566c)

* fix - Move selection area tool cannot be selected

(cherry picked from commit 38662ff86e6a858c02050de1caa37295bb25d574)

* fix - Selection area disappears on click on existing tool out of area

(cherry picked from commit e98c60e226c9883558718f1278879339dc528973)

* Change MacOS hotkey Command+Backspace -> Backspace

(cherry picked from commit aa96b956348a0192179f03a43a0ce5712ce1a965)

* Make rectangle tool with rounded borders (not cut), Make selection tool without rounded edges

(cherry picked from commit 2fd9c2ad9f5d00dcb9204b09989a66309b43f472)

* fix - Thickness doesn't changed for existing object on changing it in side panel

(cherry picked from commit 271731c89185b982a86bb27e3a7bc441a2942c10)

* fix - Sync selection on CaptureWidget when clicking on tool in panel

(cherry picked from commit 9db0c75ec0e92d5fad5bc3856f46f5ed87c6aefd)

* Change selection on mouse down instead of mouse up event

(cherry picked from commit 3e09778b701498498c144c5e5516f746f1c9088a)

* Code refactoring - remove variable m_rightClick from CaptureWidget, use another existing trigger to detect it

(cherry picked from commit 1abc595ce352b8445a943504a7c359cd0830a640)

* fix - Rectangle preview and final objects are not the same

(cherry picked from commit b31905892a60228cae5c8bcde1f71699eca63447)

* fix - Doesn't save image if the 'use fixed path' checkbox is checked

(cherry picked from commit 1470859aa2c4f28f2c45581891534f3fa4bd6f0a)

* fix - Latest Uploads max size value doesn't restore after reset/import settings

(cherry picked from commit fa72bacfc0bb12313dd351ee246dd567dfc3f3c8)

* fix - impossible to disable the keyboard shortcut by clicking Delete button

(cherry picked from commit 74d36e4b3a333cb81ffb4ad93a2bd5465e79cb94)

* fix - MacOS - Increase and Decrease Size tool icon colors are not changed (dark/light) when changing main tool background color

(cherry picked from commit e48b685c900540a9cd353f71290be04491621fc7)

* fix - Selected region control points cannot be dragged on the screen corners

(cherry picked from commit 08bf02b5ee096c14d10c15853543749d58c51ef4)

* fix - Object selects if mouse pointer above any object when TextTool is active

(cherry picked from commit b7a6a7efc8c3a77c55039721ab0cf388973c25d5)

* fix - Test Tool doesn't close editor on next text item, you can see two editors and one of them will be never closed

(cherry picked from commit eb12f76fd7121d1917659485673305684de523c8)

* Code refactoring - remove function in the CaptureToolObjects class with the same functional

(cherry picked from commit 1a108f7be48d5b4d89960ac4a5f4e82c03762cbc)

* Code refactoring - CaptureWidget::mousePressEvent function is split into a few, code became more readable

(cherry picked from commit dc850b3daa00fa173126d86403c35f3c67c448e6)

* optimization - remove unnecessary calls of CaptureWidget::drawToolsData

(cherry picked from commit c2432bd5602657233ee9506e84a7806bafeb6f68)

* fix - Move tool doesn't work if any object is selected
fix - Active tool stays active if existing object is selected in the Tool Settings panel

(cherry picked from commit 6154feba575f79a06082f72b5c45a869c8d08f42)

* fix - App freezes for a while when changing thickness of the pixelate to the minimal value

(cherry picked from commit 3a1c519c8309b831e4cc4f11b9014b1a9599ba93)

* fix - Text Tool doubles on press ESC when text editing field is active

(cherry picked from commit 00bdebff75a0178a46f38606eec4921fdf2f5917)

* fix - Image is pinned/saved with object selection frame if there is one

(cherry picked from commit 81871860720fa0527f8dcabe1b274b3f03818b7c)

* fix - Object line thickness changes according to previously modified object when switching between objects via object list

(cherry picked from commit a4a367d30e18a743f0df849e7db1aa2dc20af2a6)

* fix - Configuration: Filename doesn't set default value on clear

(cherry picked from commit 289663c0c85f4bae98c1a19a7a05fb1029738c12)

* Update README.md - Global shortcut for Ubuntu 20.04

(cherry picked from commit 3bee0aa0ac937c00113f2bcca818a9a57e6c5530)

* fix - Saved screenshot has selection if some object is selected on Save

(cherry picked from commit e53bb33e804cc7de1102a1ab3069bfb849174b73)

* fix - Saved screenshot has selection if some object is selected on Upload

* fix - Rename "Reset" to "Restore" in file settings for restoring saved file name rules in the configuration widget

(cherry picked from commit d2ac5a330fca902b832fce163e4f5f138dbbcc6b)

* Update Ukrainian and Russian translations

* fix - Shapes are displayed as semi-empty at the very beginning of drawing if the line is thick

(cherry picked from commit d8b09c5d5233fefe3181a69f5200198815bc3ec1)

* fix - MacOS - Button "Tool Settings" is not visible on some displays if displays are vertically aligned

(cherry picked from commit 6af590a859b2708177c34c3ff37725905f4c3bec)

* fix - Incorrect selection border for Rectangle/Pixelate tool

(cherry picked from commit c908d3b67c5d8e2188d2699ac11951110493b756)

* Code refactoring - replace magic numbers

(cherry picked from commit c8e1ce345adb1646659e4e90d314916532d5e67a)

* fix merge conflicts for Internationalization files

* fix - thickness shouldn't be less than one

(cherry picked from commit d8ea8a0db7fffcec601dd3139c57198ba15b64b7)

* Update copyright info

Co-authored-by: Yuriy Puchkov <yuriy.puchkov@namecheap.com>
2021-04-19 19:28:10 -05:00
Jeremy Borgman
a2a866669f Moved check to a more reasonable place, fixed issue where the api check could still happen from a constructor 2021-03-17 11:14:08 -05:00
Jeremy Borgman
b3aa917bb0 Dont query github api if check for updates is disabled 2021-03-17 11:14:08 -05:00
Jeremy Borgman
9af391b2e9 force flameshot icon on info popup 2021-03-15 08:14:12 -05:00
Yuriy Puchkov
e3b1d55fd8 fix - 'Show tray icon' checkbox is automatically unchecked when checking some other checkboxes
(cherry picked from commit 3803f6725d3d7f95f36299a65557f5bfb2d15f2a)
2021-02-24 17:32:05 +02:00
Boyuan Yang
a9c7cc7b04 Use SPDX-License-Identifier
closes: #1374 .

Use SPDX short-form identifiers instead of lengthy copyright
header to document per-file license and copyright.

This commit updates all files under src/ directory where applicable
as well as org.flameshot.Flameshot.metainfo.xml.
2021-02-20 19:22:53 -05:00
Boyuan Yang
ee2ef05178 Do not include QHotKey header on non-Mac system
QHotKey is only used on macOS. As a result, do not unconditionally
include QHotKey headers.
2021-02-20 08:01:02 -05:00
Yuriy Puchkov
cb02578a9e fix - Hide/show tray icon makes duplicates in the tray menu
(cherry picked from commit 93e3a125be3602f2fd95d02fb0e11f11b1f059be)
2021-02-18 18:51:33 +02:00
Yuriy Puchkov
894556d681 Code refactoring - remove Q_OS_MAC64 (is not required, is covered by Q_OS_DARWIN)
(cherry picked from commit e511b521cec6edd9f77916c6ee753329326a5f91)
2021-02-17 18:46:12 +02:00
Yuriy Puchkov
a5cd4cd1bc Code refactoring - remove Q_OS_MACX (is not required, is covered by Q_OS_DARWIN)
(cherry picked from commit 00b9aae5266aaffb9a01a6f689e1829ae8218bdc)
2021-02-17 18:46:12 +02:00
Yuriy Puchkov
a893fdfc75 Code refactoring - remove Q_OS_MAC (deprecated synonym for Q_OS_DARWIN)
(cherry picked from commit aff1649670aa5ba64f2927933a29c62b06fee21f)
2021-02-17 18:46:12 +02:00
Yuriy Puchkov
dc7f62ab8d Fix - MacOS - get currentScreen on the edge bottom and right returns nullptr and application crashes
(cherry picked from commit 01ae74fbed34849db485db53ffbdf4a938ebea8e)
2021-02-17 18:46:12 +02:00
Yuriy Puchkov
0425be7a44 Remove possibility of the infinitive loop on screen capture and remove activeModalWidget check on screen capture for MacOS
(cherry picked from commit afaed07ae9b3c729e6082cc6b325aeca1dc08436)
2021-02-17 18:46:12 +02:00
Yuriy Puchkov
3973c2f38d Remove possibility of the infinitive loop on screen capture and remove activeModalWidget check on screen capture for MacOS
(cherry picked from commit 305e054c9c97e47e092ad974a683cdf5753ab4a9)
2021-02-17 18:46:12 +02:00
Yuriy Puchkov
1ad6f9ff74 Add a few additional check on initializing trayMenu, possibly they will fix rare issue with frozen application on MacOS
(cherry picked from commit bf5741a9145659e9fc5489f26a62c9757b824abe)
2021-02-17 18:46:12 +02:00
Yuriy Puchkov
ecb88380a6 MacOS - Catalina - Tray icon and menu bar stays on screen when taking screenshot
(cherry picked from commit 517d34d2231da99d238149688ebddc254f35be98)
2021-02-17 18:46:12 +02:00
Yuriy Puchkov
540e407eb7 Add option to disable feature for checking for a new update
(cherry picked from commit d26dd55dba066aa4884b00b55173597f49309f0d)
2021-02-17 18:46:12 +02:00
Yuriy Puchkov
c3ee36f809 fix - MacOS - Take screenshot option sometimes doesn't work (because of Mission Control feature)
(cherry picked from commit fdb086a5eb3106200fe4eb751eaa6d641ede25c4)
2021-02-17 18:46:12 +02:00
Jeremy Borgman
9581a698af resolved merge conflicts 2021-01-15 19:02:16 -06:00
Jeremy Borgman
92b9379d69 Made changes after review of merge 2021-01-15 17:54:56 -06:00
brimston3
e07829ec55 Emit dbus captureSaved signal when saving files
New captureSaved signal contains the request ID and canonical path of the saved
file. This allows a dbus listener interested in postprocessing files access to
the path most recently written.
2021-01-15 12:49:33 -06:00
Jeremy Borgman
73fe772b70 resolving merge conflicts 2021-01-08 10:19:53 -06:00
Yuriy Puchkov
fa096560b6 MacOS - On 2 and more displays notification disappears too quickly 2020-12-23 11:57:45 +02:00
Yuriy Puchkov
6576f0ae47 fix - ignore available updates by "less" instead of "not equal" 2020-12-18 16:46:26 +02:00
Yuriy Puchkov
2114ad3c32 fix - 'update version notification' widget position and event handler for Linux 2020-12-18 15:33:00 +02:00
Yuriy Puchkov
aee8a55292 fix - update version notification logic 2020-12-18 14:55:45 +02:00
Yuriy Puchkov
162b864353 MacOS - Global shortcuts 2020-12-17 12:25:08 +02:00
Yuriy Puchkov
47c99774ce Add timer for auto-checks for available updates (every 24 hours) 2020-12-11 17:50:53 +02:00
Yuriy Puchkov
784da1a652 Update to a new version notification 2020-12-11 15:00:11 +02:00
Yuriy Puchkov
84e4a9c9c6 MacOS - QSystemTrayIcon does not show context menu on primary screen on Catalina, on BigSur is ok and use native menu 2020-12-04 14:15:06 +02:00
Yuriy Puchkov
719719f36b MacOS and Win - fix tray menu 2020-12-03 15:11:02 +02:00
Yuriy Puchkov
c783b66672 MacOS - QSystemTrayIcon does not show context menu on primary screen 2020-12-02 17:45:12 +02:00
Yuriy Puchkov
2a3c368cf1 MacOS - Take test screenshot on start, MacOS will request a 'Screen Recording' permissions on the first run 2020-12-01 17:06:25 +02:00
Yuriy Puchkov
9e897289b6 Raise window to the top on MacOS 2020-12-01 13:25:36 +02:00
Yuriy Puchkov
69e698bdb1 Fix - MacOS - activate new widgets, swith to fullscreen mode+hotkeys 2020-11-24 10:08:12 -08:00
Yuriy Puchkov
293525f5b6 Fix - MacOS capture area, full screen mode, system tray area, etc 2020-11-24 07:39:51 -08:00
Jeremy Borgman
8211b6aff0 updated qtsingleapplication to v3.1.5 2020-10-31 20:05:06 -05:00
Jeremy Fleischman
05c2bc6ae7 Added a gui --selection option to print out the geometry of the selection.
Fixes #425.
2020-10-26 11:46:39 -05:00
Jeremy Borgman
826165c527 removed close after capture 2020-10-25 21:25:10 -05:00
Yuriy Puchkov
5ea80b2ca2 Fix - update history widget on new capture 2020-10-16 15:04:17 +03:00
Yuriy Puchkov
161ecc3c04 Fix - HistoryWidget is not deleted in Controller 2020-10-16 10:19:38 +03:00
Yuriy Puchkov
8e25f438f2 Code refactoring - HistoryWidget, add clearHistoryLayout and loadHistory methods 2020-10-16 10:08:13 +03:00
Yuriy Puchkov
654455e9ac Merge branch 'flameshot-org-master' into merge-from-upstream
# Conflicts:
#	.github/workflows/Linux-pack.yml
#	CMakeLists.txt
#	appveyor.yml
#	data/graphics.qrc
#	src/tools/imgur/imguruploader.cpp
2020-10-15 15:44:49 +03:00
borgmanJeremy
f11073bc00 fixing icon regression (#1051)
* fixing icon regression

* fixed symlink
2020-10-12 08:40:35 -05:00
Yuriy Puchkov
c92f8e3014 Merge branch 'flameshot-org-master' into bugfix/memory-leak
# Conflicts:
#	.github/workflows/Linux-pack.yml
#	CMakeLists.txt
#	data/graphics.qrc
#	src/config/configwindow.cpp
#	src/tools/imgur/imguruploader.cpp
2020-10-11 20:49:15 +03:00
borgmanJeremy
8ff94a95a8 Cleaned up flatpak build for flathub submission (#1040)
* Cleaned up flatpak build for flathub submission. Fixed app-id and other assets to match dbus naming.

* fixed missing updates

* fixing build issues
2020-10-10 13:04:19 -05:00
Boyuan Yang
40629915f7 Explicitly hide tray icon before exit on Windows
Currently flameshot tray icon will not disappear after program
terminates on Windows. This is a known issue and need to be
explicitly handled.

This commit connects the aboutToQuit signal to
QSystemTrayIcon::hide slot to ensure that the tray icon is
removed before program terminates.
2020-10-06 19:50:22 -05:00
Yuriy Puchkov
8e92ea5ab4 Merge 0.8.3 upstream 2020-10-02 10:15:56 +03:00
Ahmed Zetao Yang
4ab28d960c chore: use flameshot icon as tray notification icon
* this need Qt >= 5.9, see https://doc.qt.io/qt-5.9/qsystemtrayicon.html#showMessage-1
2020-09-30 10:58:48 -05:00
Yuriy Puchkov
34bfe5a6c0 Code refactoring - remove configenterprise for s3 2020-09-25 10:50:46 +03:00