Commit graph

163 commits

Author SHA1 Message Date
Rebecca Breu
6b162f3ffb Prevent flipping of crop area 2021-10-17 21:56:01 +02:00
Rebecca Breu
cf55d1a5e3 Refactor 'just selected' code 2021-10-15 10:17:02 +02:00
Rebecca Breu
333515913a Add handle-free center so that small items can always be moved 2021-10-15 10:13:03 +02:00
Rebecca Breu
df071a99fc Add dragging of edges in crop mode 2021-10-14 20:45:38 +02:00
Rebecca Breu
3345efaacf Image cropping 2021-10-13 17:04:57 +02:00
Rebecca Breu
2c498e875a Renamed gui.py -> widgets.py 2021-10-05 11:14:06 +02:00
Rebecca Breu
5475f5d843 Create keyboard settings file; keyboard settings for recent files 2021-10-05 10:44:03 +02:00
Rebecca Breu
22e219f56f Show list of recent files on welcome screen 2021-10-03 22:21:23 +02:00
Rebecca Breu
e08f043361 Fit view when pasting/loading images into empty scene 2021-09-04 15:50:26 +02:00
Rebecca Breu
3ee5f65407 Added: Dragging bee files onto empty scenes to open 2021-09-01 18:25:37 +02:00
Rebecca Breu
e35a6e5390 Handle unknown item types while loading bee files
Just in case we add new item types in future versions
2021-09-01 15:47:55 +02:00
Rebecca Breu
53777bc346 Fix images getting loaded mirrored, fixes issue #20
This bug got introduced when adding test items.
2021-08-31 19:09:30 +02:00
Rebecca Breu
7f9fc8944c Fix copying text items 2021-08-30 11:08:11 +02:00
David Andrs
532294ba1c Adding a test 2021-08-12 13:00:40 +02:00
Rebecca Breu
2587ed01c5 Read keyboard shortcuts from file 2021-08-01 19:10:03 +02:00
Rebecca Breu
1b14e18658 Fix hover on scale areas for narrows items 2021-07-29 20:41:13 +02:00
Rebecca Breu
4453f2bbc3 PEP8 fixes 2021-07-28 18:40:50 +02:00
Rebecca Breu
3c7a050349 Add unittest for the actual migrations 2021-07-28 18:33:27 +02:00
Rebecca Breu
5d115b9391 Add text item 2021-07-28 18:33:27 +02:00
Rebecca Breu
849de6197a Add new loglevel TRACE
The debug log file still only logs DEBUG and above, so it's less verbose now. TRACE output will only show in the console if the loglevel is set accordingly.
2021-07-28 18:33:27 +02:00
Rebecca Breu
50eda2875a Dark style for menus and dialogs 2021-07-17 19:37:06 +02:00
Rebecca Breu
8deb807b06 Flipping an image on mouse press instead of mouse release
This should make it more clear to the user that the edges are
click-to-flip instead of drag-to-scale. Before, dragging an edge
outside of the handle areas would do nothing and seem broken.
2021-07-13 18:25:23 +02:00
Rebecca Breu
ff41aa4b69 Fix file name handling when opening bee files 2021-07-09 17:13:50 +02:00
Rebecca Breu
ae71f231e3 Use QPlainTextEdit for log file display 2021-07-09 15:45:02 +02:00
Rebecca Breu
f0bee26749 Adjust to new version of plum library 2021-07-08 16:32:20 +02:00
Rebecca Breu
f896cfb154 Fix file path issues 2021-07-08 12:53:41 +02:00
Rebecca Breu
2092680717 Make flip edges narrower 2021-07-07 17:03:58 +02:00
Rebecca Breu
b8dfbf0747 Add Raise to Top/Lower to Bottom actions 2021-07-05 18:03:47 +02:00
Rebecca Breu
e18de58024 Image loading now respects exif image rotation 2021-06-06 20:24:34 +02:00
Rebecca Breu
ace9238329 Add action to toggle title bar 2021-06-05 16:49:08 +02:00
Rebecca Breu
e4bc566aef Add ability to move window with Ctrl + Alt + Left Drag 2021-06-04 15:05:08 +02:00
Rebecca Breu
071d13845d Capture Qt log messages to Python logger 2021-06-04 14:00:25 +02:00
Rebecca Breu
5c1b44f851 Fix failing unittest 2021-05-31 18:46:53 +02:00
Rebecca Breu
686bb9cea5 Add qtbot.wait to ensure pending events don't cause errors 2021-05-31 18:36:11 +02:00
Rebecca Breu
bc7ce7e09c Port unittests to pytest-qt (fixes #1) 2021-05-31 18:11:45 +02:00
Rebecca Breu
d25f911561 Add ability to zoom with ctrl + middle mouse drag 2021-05-20 19:44:49 +02:00
Rebecca Breu
58472c3348 Make double-cick to fit view more lenient
On tablets it's almost impossible to perform a double-click without moving the cursor, so ignore small movements before resetting the previous transform.
2021-05-18 21:02:36 +02:00
Rebecca Breu
45cd751de6 Add ability to enable a menu bar 2021-05-18 18:12:25 +02:00
Rebecca Breu
1de1e2eec9 Fix rotate and scale pushing undo command when no movement 2021-05-16 15:56:07 +02:00
Rebecca Breu
5fde9f35a7 Fix: (re-)building menu sets actiongroup enabled status 2021-05-16 15:40:48 +02:00
Rebecca Breu
679248380c Fix bugs in moving/scaling/flipping items
1. moving/scaling/flipping an item caused a MoveItem action put on the undo stack
2. pressing the mouse button on a flip edge but releasing outside of a flip edge would not clear the flip_active status, leaving the app in a buggy state.
2021-05-16 11:55:05 +02:00
Rebecca Breu
8425f9bbc1 Copy/Cut + internal pasting 2021-05-15 19:34:20 +02:00
Rebecca Breu
780b9f414d Fix show_debuglog unittest 2021-05-14 22:05:09 +02:00
Rebecca Breu
33ed9d891f Rename add_delayed_items -> add_queued_items 2021-05-14 21:36:46 +02:00
Rebecca Breu
d117790726 Fix dropping images into BeeRef 2021-05-14 21:29:58 +02:00
Rebecca Breu
a6ad6b47fe Save scrollbar visibility to settings 2021-05-14 16:23:03 +02:00
Rebecca Breu
dd03501b03 Skip failing test 2021-05-14 14:17:25 +02:00
Rebecca Breu
f7c0b3078e Fix unittests 2021-05-14 14:03:44 +02:00
Rebecca Breu
6a9605694e Fix unit tests 2021-05-14 13:50:15 +02:00
Rebecca Breu
5f4d008203 Log to file; Add 'Show Debug Log' action 2021-05-14 13:37:44 +02:00
Rebecca Breu
05e44851c2 Fix unittests 2021-05-13 18:51:07 +02:00
Rebecca Breu
93947ac2f6 Remember recently opened files 2021-05-13 18:35:26 +02:00
Rebecca Breu
7bf8f0304d File name and save status in title bar 2021-05-12 23:14:43 +02:00
Rebecca Breu
2e2b5ef364 Upgrade to PyQt 6.1 2021-05-12 20:55:32 +02:00
Rebecca Breu
9fa50a323c Arrange horizontal and vertical 2021-04-23 19:07:32 +02:00
Rebecca Breu
24599673ef Add action: Arrange Optimal 2021-04-19 19:49:56 +02:00
Rebecca Breu
e8e7a0fc1e Fix normalize for transformed items 2021-04-18 19:05:00 +02:00
Rebecca Breu
94117b82c1 Overwrite secetedItems: new option to get user items only 2021-04-18 17:40:01 +02:00
Rebecca Breu
87609944a5 Don't activate rubberband when no items in scene 2021-04-18 00:05:46 +02:00
Rebecca Breu
a9d360dcb4 Action for toggling scrollbars 2021-04-17 23:59:59 +02:00
Rebecca Breu
a358d86620 Add unit test for help dialog 2021-04-17 20:16:14 +02:00
Rebecca Breu
7ab442f6b5 Add Select All/Deselect All 2021-04-17 13:01:15 +02:00
Rebecca Breu
6f77c43d76 Add actions for undoing transformations 2021-04-16 22:28:13 +02:00
Rebecca Breu
eb41300172 Fix fit item when multi selection active 2021-04-15 20:51:43 +02:00
Rebecca Breu
4d64a7422f Re-implemend itemsBoundingRect to not include selection handles 2021-04-15 18:21:21 +02:00
Rebecca Breu
ea833d830a Fix fit view issues; enable zoom anchor 2021-04-14 21:04:40 +02:00
Rebecca Breu
90067f96ab Add Fit Scene, Fit Selection and Fit Image (via doubleclick) 2021-04-14 13:26:35 +02:00
Rebecca Breu
e88bdb5910 Add basic unittests for __main__ 2021-04-13 17:39:38 +02:00
Rebecca Breu
d2c26d98d6 Move file IO to dedicated thread 2021-04-13 17:08:23 +02:00
Rebecca Breu
a907343d04 Reset view when no items; ignore pan and zoom when no items 2021-04-11 20:26:32 +02:00
Rebecca Breu
8ee5e1db68 Add 'New Scene' action 2021-04-11 20:04:08 +02:00
Rebecca Breu
27813f5bd8 Add Flip action to menu 2021-04-11 17:25:56 +02:00
Rebecca Breu
0d4b5da84b Refactor creation of menu and actions 2021-04-11 11:36:49 +02:00
Rebecca Breu
4e31ec8bac Add flip 2021-04-10 19:35:47 +02:00
Rebecca Breu
cc54698baa Prevent infinite event loop for multi selection 2021-04-06 18:15:33 +02:00
Rebecca Breu
b98e455272 More unittests for the view 2021-04-06 17:34:55 +02:00
Rebecca Breu
55819bf4c4 Add snapping for rotating 2021-04-06 16:19:02 +02:00
Rebecca Breu
be9adfdf4c Fix unittests 2021-04-06 15:27:55 +02:00
Rebecca Breu
b7a9ab01ba Normalize actions scale around image centers 2021-04-06 15:16:16 +02:00
Rebecca Breu
5fd18253e1 Unit tests 2021-04-06 14:37:48 +02:00
Rebecca Breu
46768dce24 Minor refactoring of BeePixmapItem.set_pos_center 2021-04-06 11:27:59 +02:00
Rebecca Breu
829d0d19fc Fix scale handle cursor shapes for rotated items 2021-04-06 11:23:42 +02:00
Rebecca Breu
a34231cd7d Fix scaling for rotated items 2021-04-06 10:13:25 +02:00
Rebecca Breu
2d3e6613bf Small enhancements around rotating 2021-04-05 19:34:26 +02:00
Rebecca Breu
d58b46b08f Add rotation 2021-04-05 19:07:31 +02:00
Rebecca Breu
8204d3141f Add rotate cursor 2021-04-05 14:45:18 +02:00
Rebecca Breu
1ff957bca4 Add hover areas for rotating items 2021-04-04 22:10:07 +02:00
Rebecca Breu
476c061071 Minor fixes for rubberband selection
Changed item shape so that it doesn't include handles during multi selection. This gives a more accurate behaviour for getting items out of the rubberband selection (except for the last remaining item, oh well).
2021-04-04 16:23:56 +02:00
Rebecca Breu
37a01f80a2 Add rubberband selection.
There's a slight inaccuracy when getting an already selected item outside of the rubberband: the additional margin of the selection handles needs to be outside of the rubberband too (since it's part of the item's bounding box), making it slightly harder to get an item out of the selection than it should be.

Let's see if it's very noticeable/annoying in practice.
2021-04-04 12:15:23 +02:00
Rebecca Breu
5c4b23518e Minor refactoring (use QPointF everywhere instead of tuples) 2021-04-03 17:08:52 +02:00
Rebecca Breu
165283d56c Unittests for multi selections 2021-04-03 16:53:19 +02:00
Rebecca Breu
511848146e Add scaling for multiple items at once 2021-04-02 21:43:43 +02:00
Rebecca Breu
5be88649f6 Make commandline file unittest more stable 2021-04-01 22:20:13 +02:00
Rebecca Breu
fea8d38d95 Add commandline options for loglevel and debug shapes 2021-04-01 22:02:16 +02:00
Rebecca Breu
7bb8cd200d Add scaling handles for all corners 2021-04-01 20:08:19 +02:00
Rebecca Breu
e9444dd8e3 Fix issues around selecting/deselecting (segfaults and hangs) 2021-03-31 21:26:02 +02:00
Rebecca Breu
aff745d27f Bring newly inserted items to front 2021-03-31 09:47:24 +02:00
Rebecca Breu
751aebe26e Bring selected item to front; load/save z values 2021-03-30 20:51:58 +02:00
Rebecca Breu
0db0ef45ea Unit tests for resize calculations 2021-03-30 19:04:44 +02:00
Rebecca Breu
af5aa5e87a Rework selection code part 2 2021-03-29 18:22:45 +02:00