Commit Graph

859 Commits

Author SHA1 Message Date
borgmanJeremy
c01ffeccf0 Allow users to override imgur key (#2503)
* Allow users to override imgur key

* Remove debug statements
2022-03-30 15:15:54 -05:00
Haris Gušić
54690d5be8 Major Controller refactor (#2295)
* Change Controller interface to mimic the CLI

Signed-off-by: Haris Gušić <harisgusic.dev@gmail.com>

* Remove obsolete handleCaptureTaken

Signed-off-by: Haris Gušić <harisgusic.dev@gmail.com>

* Extract system tray icon into separate class

The implementation is not complete and full of bugs

Signed-off-by: Haris Gušić <harisgusic.dev@gmail.com>

* Remove Controller::handleCaptureFailed

Signed-off-by: Haris Gušić <harisgusic.dev@gmail.com>

* Fix a QObject connection

Signed-off-by: Haris Gušić <harisgusic.dev@gmail.com>

* Controller: remove unused includes

Signed-off-by: Haris Gušić <harisgusic.dev@gmail.com>

* Make check for updates work again

Signed-off-by: Haris Gušić <harisgusic.dev@gmail.com>

* Move functionality to daemon and tray icon

Signed-off-by: Haris Gušić <harisgusic.dev@gmail.com>

* Rename SystemTray to TrayIcon

Signed-off-by: Haris Gušić <harisgusic.dev@gmail.com>

* Add missing trayicon.* files

Signed-off-by: Haris Gušić <harisgusic.dev@gmail.com>

* Add missing QDesktopWidget

Signed-off-by: Haris Gušić <harisgusic.dev@gmail.com>

* Fix syntax errors

Signed-off-by: Haris Gušić <harisgusic.dev@gmail.com>

* Add missing include

Signed-off-by: Haris Gušić <harisgusic.dev@gmail.com>

* Include missing QOperatingSystemVersion on Mac

Signed-off-by: Haris Gušić <harisgusic.dev@gmail.com>

* Move update checking to daemon

Signed-off-by: Haris Gušić <harisgusic.dev@gmail.com>

* Remove obsolete method Controller::doLater

Signed-off-by: Haris Gušić <harisgusic.dev@gmail.com>

* Some cleanup

Signed-off-by: Haris Gušić <harisgusic.dev@gmail.com>

* Rename Controller to Flameshot

Signed-off-by: Haris Gušić <harisgusic.dev@gmail.com>

* Final touches

Signed-off-by: Haris Gušić <harisgusic.dev@gmail.com>
2022-03-25 09:47:21 -05:00
borgmanJeremy
e97f733784 fixed high CPU usage on pin (#2502) 2022-03-25 08:43:51 -05:00
borgmanJeremy
a6144df367 Fix alignment bug and applied many clang format warnings (#2448)
* Fix alignment bug and applied many clang format warnings

* removed nodiscard from slot
2022-02-23 06:33:58 -06:00
Andrea
413a3f9372 Pinch gesture on pinned screenshot (#2447)
* Minor refactoring

* Pinch gesture works fine

* Consolidated Zooming in/out

* Minor refactoring

* Minor refactoring

* clang-format

* Fixed scroll phases on Linux

* clang-format

* Re-added size constraint

* clang-format
2022-02-23 06:33:40 -06:00
borgmanJeremy
aa6b5eac93 allow final actions when printing geometry (#2444) 2022-02-18 12:30:10 -06:00
borgmanJeremy
424b7fba37 applied some clang modernize (#2435) 2022-02-16 21:15:25 -06:00
borgmanJeremy
53698bca6f Fix double clic (#2432)
* ensure copy only happens with left double click

* Added option to enable and disable copy on double click.

* Only show double click shortcut if it is enabled
2022-02-16 19:28:14 -06:00
UnkwUsr
db9461650c fix: arrow tool glitches (#2395) 2022-02-12 18:05:44 -06:00
Dearsh Oberoi
b4188f7ec8 Improve Colorpicker (#2403)
* Fix

* update preset functionality added

* dynamic radius

* added drag to swap

* Refactor

* Fix Bug
2022-02-12 18:04:20 -06:00
borgmanJeremy
bcb4041e0e allow numpad numers to resize and fix text artifacting on large resize (#2386) 2022-02-07 08:19:43 -06:00
borgmanJeremy
74db680505 fix bug on macos with save dialog (#2379)
* fix bug on macos with save dialog

* refactored Saver to not be a class since there are no member variables

* removed useless comment
2022-02-06 17:51:51 -06:00
Mehrad Mahmoudian
6cd9d9ecc9 better zsh code completion (#2382)
* Adds links to sponsors in README

* Adds AnonAddy to the sponsor list

* adds a more comprehensive zsh completion

* fix the extra square brackets

* fix the CMakeLists to handle the new paths
2022-02-06 17:49:38 -06:00
Andrea
1bacc69183 Zooming in/out happens at different speed (#2378)
* Resizing pinned screenshot

* Zooming in/out on pinned screenshot

* Minor refactoring

* clang-format
2022-02-06 12:20:58 -06:00
borgmanJeremy
0ac48f5c4b Clang tidy (#2372)
* Added missing braces

* applied some clang modernize

* clarified auto pointer

* clang-tidy
2022-02-06 12:12:09 -06:00
Mehrad Mahmoudian
3c2a2f98cf Improve tooltips texts (#2377)
* Adds links to sponsors in README

* Adds AnonAddy to the sponsor list

* minor modification on the tooltip text of some config options

* adds tooltip text for magnifier config options

* clang-format
2022-02-06 12:11:55 -06:00
SilasDo
cf08755c8b Added magnifier for more precise selections (#2219)
* added a magnifierwidget

* added option to show magnifier and added option to switch to square shaped magnifier

* integrated magnifierwidget into capture

this could probably be done in a nicer way.
right now the magnifier wont show if you select via the move tool.

Co-authored-by: Silas Dohm <silas@sdohm.xyz>
2022-02-05 19:51:28 -06:00
Andrea
4affa92b91 Fixed crash selecting texttool (#2369) 2022-02-05 09:12:01 -06:00
borgmanJeremy
42917930ca Upload history UI (#2345)
* Refactored upload history widget to use qt ui files. Cleaned up clang
tidy warnings. Remove copied to clipboard notified.

* fixed some irregularities with the layout

* fixing forward declaration
2022-01-31 15:21:00 -06:00
borgmanJeremy
8954e0d1ed fixed freeze with copy URL to clipboard (#2348) 2022-01-31 13:01:19 -06:00
Dearsh Oberoi
259e438f96 Customizable ColorPicker (#2202)
* Added spinbox, refactored colorpicker

* Added add preset functionality

* Added delete preset

* Refactored code

* Fix
2022-01-30 13:03:07 -06:00
Affir Vega
1cc5a26292 Created basic layer movement functionality (up, down) (#2108)
* Created basic layer movement functionality (up, down)

* Replaced `and` and `or` with `&&` and `||`, added constructor initialization

* Added move icons. Added that moving layers pushes state to undo stack.

* Cleaned svgs.

* Circle counter doesn't change nubmer when reordered anymore

* Changed move arrow SVGs

* Make down arrow in size with up arrow, fix white colors from #feffff to #fff

* SVGs in unitilypanel for buttons now choose color depending on color theme

* Refactor tool removing code, removed fixme, fixed bug with minimal circleCount

* Set minimal width for buttons

Co-authored-by: Feskow Vega <affirvega@krutt.org>
2022-01-29 15:32:09 -06:00
borgmanJeremy
af1b895fe2 Rewrote launcher to use a qt designer file. Removed some code related to (#2338)
dragging the launcher corner as it didnt seem to do anything. Cleaned up
clang format suggestions.
2022-01-29 12:06:34 -06:00
borgmanJeremy
3553deab9c reworked info window (#2333)
* reworked info window

* clang format
2022-01-28 13:07:26 -06:00
borgmanJeremy
00685369a0 Wayland kde clipboard (#2305)
* working on wayland clipboard

* disabled wayland kde clipboard fix on snap until Kf5 tools are updated

* enable wayland clibboard on fedora

* drop fedora 34 and disable wayland clipboard on suse until it gets a new enough kf5
2022-01-22 09:57:10 -06:00
Andrea
00b1088997 Added 'Save to disk' button when uploading to imgur (#2237) 2022-01-22 09:51:16 -06:00
Andrea
31690b8506 Fixed Arch linux locale crash (#2304) 2022-01-22 08:18:32 -06:00
borgmanJeremy
24509e69d8 Revert "working on wayland clipboard (#2284)" (#2301)
This reverts commit 9005a14b3a.
2022-01-21 18:55:42 -06:00
borgmanJeremy
9005a14b3a working on wayland clipboard (#2284) 2022-01-21 15:57:27 -06:00
borgmanJeremy
b112e2bbeb added missing translations (#2262)
* added missing translations

* fixing ancient greek packaging
2022-01-17 15:14:01 -06:00
Haris Gušić
ab32f40348 Add fish completions (#2247)
* Add fish completions

Signed-off-by: Haris Gušić <harisgusic.dev@gmail.com>

* Fix minor bug in `flameshot config` output

Signed-off-by: Haris Gušić <harisgusic.dev@gmail.com>

* Add fish completions to install target

Signed-off-by: Haris Gušić <harisgusic.dev@gmail.com>

* Add release note

Signed-off-by: Haris Gušić <harisgusic.dev@gmail.com>

* Update rpm package spec

Signed-off-by: Haris Gušić <harisgusic.dev@gmail.com>
2022-01-14 22:55:56 +01:00
Haris Gušić
417a1534cf Introduce a config resolver (#2244)
* Add config resolver

Signed-off-by: Haris Gušić <harisgusic.dev@gmail.com>

* Enable resolver even when using systray

Signed-off-by: Haris Gušić <harisgusic.dev@gmail.com>

* Fix bugs

Signed-off-by: Haris Gušić <harisgusic.dev@gmail.com>

* Do not show resolver for shortcut conflicts

Signed-off-by: Haris Gušić <harisgusic.dev@gmail.com>

* Fix build error on MacOS and Windows

Signed-off-by: Haris Gušić <harisgusic.dev@gmail.com>

* Add missing translations

Signed-off-by: Haris Gušić <harisgusic.dev@gmail.com>

* Replace variable i with row

Signed-off-by: Haris Gušić <harisgusic.dev@gmail.com>

* Improve presentation

Signed-off-by: Haris Gušić <harisgusic.dev@gmail.com>

* Disambiguate shortcuts and general settings

Signed-off-by: Haris Gušić <harisgusic.dev@gmail.com>

* Wrap some strings in tr

Signed-off-by: Haris Gušić <harisgusic.dev@gmail.com>

* Update tooltips in ConfigResolver

Signed-off-by: Haris Gušić <harisgusic.dev@gmail.com>
2022-01-13 16:01:56 -06:00
Haris Gušić
2b9b988f95 Fix broken copy on upload (#2246)
* Fix broken copy on upload

Signed-off-by: Haris Gušić <harisgusic.dev@gmail.com>

* Add translation

Signed-off-by: Haris Gušić <harisgusic.dev@gmail.com>
2022-01-13 20:19:47 +01:00
Haris Gušić
c13270b7e5 Fix broken colorgrabber (#2226)
* Fix broken colorgrabber on macOS

Signed-off-by: Haris Gušić <harisgusic.dev@gmail.com>

* Fix ColorGrabWidget on Windows

Signed-off-by: Haris Gušić <harisgusic.dev@gmail.com>
2022-01-10 16:38:24 -06:00
Haris Gušić
883e55c52d Fix flameshot not exiting when it should (#2223)
* Remove unused methods from Controller

Signed-off-by: Haris Gušić <harisgusic.dev@gmail.com>

* Fix flameshot exit bug

Signed-off-by: Haris Gušić <harisgusic.dev@gmail.com>

* Remove unnecessary code

Signed-off-by: Haris Gušić <harisgusic.dev@gmail.com>

* Some more refactoring

Signed-off-by: Haris Gušić <harisgusic.dev@gmail.com>
2022-01-04 08:02:06 -06:00
borgmanJeremy
179f658cd8 Fixing issue with unicode chars in XDG_PICTURE location (#2222)
* Fixing issue with unicode chars in XDG_PICTURE location

* cleaned up
2022-01-03 14:32:38 -06:00
Yurii Puchkov
493e0d8801 fix - crash on Windows if "setSaveAsFileExtension" is defined in the configuration file (#2204)
Co-authored-by: Yuriy Puchkov <yuriy.puchkov@namecheap.com>
2021-12-30 10:37:07 -06:00
borgmanJeremy
fcadc02a29 Fix recursive static init (#2196)
* Removed default config for abstract logger that sends a system notification, also cleaned up a useless ifdef

* Send notifications from event loop on Win and Mac (#2197)

Signed-off-by: Haris Gušić <harisgusic.dev@gmail.com>

Co-authored-by: Haris Gušić <harisgusic.dev@gmail.com>
2021-12-28 08:43:17 -06:00
Haris Gušić
06eb7acdd3 Fix QLayout warning in 'flameshot config' (#2198)
Signed-off-by: Haris Gušić <harisgusic.dev@gmail.com>
2021-12-27 22:40:05 +01:00
borgmanJeremy
da5d71c23c Fixed an issue where the magnifier did not account for hiDPI on retina screens (#2187) 2021-12-24 14:36:39 -06:00
Haris Gušić
5c8a2b25bb Fix daemon persist bug and document instance() (#2185)
Signed-off-by: Haris Gušić <harisgusic.dev@gmail.com>
2021-12-23 15:07:24 -06:00
borgmanJeremy
960710206e fixing segfault on windows (#2180) 2021-12-22 11:24:40 -06:00
borgmanJeremy
ca70be773a remove SPD logging framework in favor of abstract logger (#2178) 2021-12-21 13:33:07 -06:00
Haris Gušić
36b3bd9639 Implement abstract logger (#2174)
* AbstractLogger base implementation

Signed-off-by: Haris Gušić <harisgusic.dev@gmail.com>

* Switch most system notifications to AbstractLogger

Signed-off-by: Haris Gušić <harisgusic.dev@gmail.com>

* Make CLI parser use AbstractLogger

Signed-off-by: Haris Gušić <harisgusic.dev@gmail.com>

* Fix annoying QPainter warning in QtColorWidgets

Signed-off-by: Haris Gušić <harisgusic.dev@gmail.com>

* Remove obsolete TODOs

Signed-off-by: Haris Gušić <harisgusic.dev@gmail.com>

* Fix failing windows build

Signed-off-by: Haris Gušić <harisgusic.dev@gmail.com>

* Add missing #include <cassert>

Signed-off-by: Haris Gušić <harisgusic.dev@gmail.com>
2021-12-21 11:59:08 -06:00
Yurii Puchkov
c6bae91bd6 Automatically fix configuration file "flameshot.ini" (removes unused variables and groups) (#2169)
Co-authored-by: Yuriy Puchkov <yuriy.puchkov@namecheap.com>
2021-12-21 08:28:46 -06:00
Yurii Puchkov
bd4fc0047a Add option for using large color palette on right button click (#2171)
(cherry picked from commit 403a6474e7e8afeb7920fe39c8312481c21d0d1b)

Co-authored-by: Yuriy Puchkov <yuriy.puchkov@namecheap.com>
2021-12-21 08:27:13 -06:00
Yurii Puchkov
a9b56911f8 fix - reset the margin of the selected annotation on pin/save/copy/upload operations (#2170)
Co-authored-by: Yuriy Puchkov <yuriy.puchkov@namecheap.com>
2021-12-20 13:26:24 -06:00
borgmanJeremy
73d64e2987 fixed an issue with the invert tool on hidpi screens (#2153) 2021-12-10 11:43:21 -06:00
Haris Gušić
233c765b1f Reduce dependence on D-Bus (#2003)
* Handle captures without sigslots

Signed-off-by: Haris Gušić <harisgusic.dev@gmail.com>

* Set {app,organization}Name and version consistently

Signed-off-by: Haris Gušić <harisgusic.dev@gmail.com>

* Make 'full' dbus-free

Signed-off-by: Haris Gušić <harisgusic.dev@gmail.com>

* Move CaptureRequest::exportCapture to Controller

We need to wait until the upload widget (or similar widgets) have
finished before exiting. This must be done using a signal. The problem
is that CaptureRequest can't be guaranteed to survive until the widget
has finished what it's doing.

Signed-off-by: Haris Gušić <harisgusic.dev@gmail.com>

* Use QApplication with the 'full' subcommand

Signed-off-by: Haris Gušić <harisgusic.dev@gmail.com>

* Do unto 'screen' as we did to 'full'

Signed-off-by: Haris Gušić <harisgusic.dev@gmail.com>

* Add FlameshotDaemon singleton class

Signed-off-by: Haris Gušić <harisgusic.dev@gmail.com>

* Support clipboard hosting for both pixmaps and text

* Fix upload handling

Signed-off-by: Haris Gušić <harisgusic.dev@gmail.com>

* Do not show tray icon if not daemon

Signed-off-by: Haris Gušić <harisgusic.dev@gmail.com>

* Clean up handling of pin task

Signed-off-by: Haris Gušić <harisgusic.dev@gmail.com>

* Remove annoying Qt warning messages

The messages were caused by the color wheel.

Signed-off-by: Haris Gušić <harisgusic.dev@gmail.com>

* Fix small bug in Controller::exportCapture

* Fix --raw output

* Make 'gui' dbus-independent

Signed-off-by: Haris Gušić <harisgusic.dev@gmail.com>

* Fix accept on select bug

Signed-off-by: Haris Gušić <harisgusic.dev@gmail.com>

* Fix compile error on Windows

Signed-off-by: Haris Gušić <harisgusic.dev@gmail.com>

* Make it work on Windows

* Remove obsolete function in main.cpp

Signed-off-by: Haris Gušić <harisgusic.dev@gmail.com>

* Make 'launcher' work without dbus

Signed-off-by: Haris Gušić <harisgusic.dev@gmail.com>

* clang-format, sigh

Signed-off-by: Haris Gušić <harisgusic.dev@gmail.com>

* Enable CLI parsing on MacOS

Signed-off-by: Haris Gušić <harisgusic.dev@gmail.com>

* Make 'config' work without dbus

Signed-off-by: Haris Gušić <harisgusic.dev@gmail.com>

* Small refactor of capture request handling

Signed-off-by: Haris Gušić <harisgusic.dev@gmail.com>

* Remove obsolete DBusUtils

Signed-off-by: Haris Gušić <harisgusic.dev@gmail.com>

* Remove unused D-Bus sigslots

Signed-off-by: Haris Gušić <harisgusic.dev@gmail.com>

* Remove D-Bus methods openConfig, autostartEnabled and trayIconEnabled

Signed-off-by: Haris Gušić <harisgusic.dev@gmail.com>

* Remove D-Bus method requestCapture

Signed-off-by: Haris Gušić <harisgusic.dev@gmail.com>

* Remove CaptureRequest id mechanism

Signed-off-by: Haris Gušić <harisgusic.dev@gmail.com>

* Fix 'launcher' crash

Signed-off-by: Haris Gušić <harisgusic.dev@gmail.com>

* Handle clipboard notifications properly

Signed-off-by: Haris Gušić <harisgusic.dev@gmail.com>

* Add 'autoCloseIdleDaemon' option

Signed-off-by: Haris Gušić <harisgusic.dev@gmail.com>

* Document FlameshotDaemon class

Signed-off-by: Haris Gušić <harisgusic.dev@gmail.com>

* Make 'flameshot gui' run in single-application mode

Signed-off-by: Haris Gušić <harisgusic.dev@gmail.com>

* Add `allowmultipleGuiInstances` config option

Signed-off-by: Haris Gušić <harisgusic.dev@gmail.com>

* Fix endless loop with multiple GUI instances

Signed-off-by: Haris Gušić <harisgusic.dev@gmail.com>

* Move upload confirmation dialog where it belongs

Signed-off-by: Haris Gušić <harisgusic.dev@gmail.com>

* Add the new config options to the GUI as well

Signed-off-by: Haris Gušić <harisgusic.dev@gmail.com>

* Fix failing build on Windows

Signed-off-by: Haris Gušić <harisgusic.dev@gmail.com>

* Handle persistence on MacOS

Signed-off-by: Haris Gušić <harisgusic.dev@gmail.com>

* fixed notifications on macos

* Fixed display on macos

* Reformat tests/action_options.sh

Signed-off-by: Haris Gušić <harisgusic.dev@gmail.com>

* Fix infinite recursion in tests/action_options.sh

Signed-off-by: Haris Gušić <harisgusic.dev@gmail.com>

Co-authored-by: Dearsh Oberoi <59907159+deo002@users.noreply.github.com>
Co-authored-by: Jeremy Borgman <borgman.jeremy@pm.me>
2021-12-08 22:18:39 +01:00
Yurii Puchkov
203b5baab6 Added UploaderManager for further multiple Storage for images support (#2142)
Co-authored-by: Yuriy Puchkov <yuriy.puchkov@namecheap.com>
2021-12-07 17:19:32 -06:00