Commit Graph

34 Commits

Author SHA1 Message Date
Allen Winter
b4f49895c2 clarify: licensing is GPL2 or GPL3 or commercial licensed
follow the REUSE specs
2020-07-24 18:16:13 -04:00
Sergio Martins
19d5467f4d fuzzer: Also generate max-size constraints 2020-06-21 23:28:35 +01:00
Sergio Martins
137cf017c4 fuzzer: add a nice place to set a breakpoint 2020-05-13 19:37:47 +01:00
Sergio Martins
97c1ca30fd Layouting engine rewrite
The layouting was becoming too complex to maintain and to introduce
new features. Was even buggy, the fuzzer was constantly finding
bugs, which took hours to workaround.

Problem with the old layout engine is that there was a catch 22, between
Items driving the separators, and separators driving the anchors.

The new layout is much simpler, both in implementation and conceptually.
There's simply a recursive hierarchy of Item elements. An Item can either
have a QWidget to show, or be a ItemContainer, which contains Item children,
and so forth. Each ItemContainer is either vertical or horizontal. That's enough
to represent the "nested multi-splitter" concept which KDDW uses.

After each item insertion/deletion/resize, the separators are regenerated. They
are essentially dumb now.

TODO:
- Separators are drawn, but are not interactive yet
- There's 5 tests failing
- LayoutSaver scalling functionality
2020-05-04 00:02:03 +01:00
Sergio Martins
7a2aa43b2d Fuzzer: Add SaveLayout and RestoreLayout operations too 2020-02-19 14:12:44 +00:00
Sergio Martins
8c37c3a7ec fuzzer: print the name of the failing test 2020-01-24 11:38:21 +00:00
Sergio Martins
4a6b73cae1 fuzzer: Decouple skipping last from no quitting
There's two separate options now, as it's useful to pause without
skipping the last test
2020-01-22 14:44:56 +00:00
Sergio Martins
d738fbd154 fuzzer: Fix description of skipped operation
Only generate the description after all other dockwidgets are placed
, as the state of the others will be in the last description too
2020-01-22 12:47:42 +00:00
Sergio Martins
460d3f9ec1 fuzzer: Print the skipped operation 2020-01-22 11:48:04 +00:00
Sergio Martins
4c19ccade7 fuzzer: don't destroy the windows when we use -d
so we can debug the app
2020-01-22 11:36:49 +00:00
Sergio Martins
03cc8abd94 fuzzer: Add skipAndPause (-d) option
So we can pause before the last test and debug the app
2020-01-22 11:17:59 +00:00
Allen Winter
df692686e7 various - update copyright year 2020-01-07 11:36:56 -05:00
Sergio Martins
af796f6e69 fuzzer: Only print tasks we're running 2019-10-15 16:40:38 +01:00
Sergio Martins
60de4fd6a0 fuzzer: Generate the descriptions before running the operations
Because we want to print the state before running stuff, not how
the dockwidgets end up
2019-10-15 11:59:30 +01:00
Sergio Martins
5da338c185 fuzzer: Run MultisplitterLayout::checkSanity() after each operation 2019-10-14 23:22:45 +01:00
Sergio Martins
ad4c77e15a fuzzer: Add -f option to force dumping json
When loading from json we don't dump. But it's useful to regenerate
the old json in case the format was upadted with more fields.
2019-10-14 22:46:12 +01:00
Sergio Martins
50b8c91014 fuzzer: Print description when running operations
Even easier than reading json
2019-10-14 22:18:17 +01:00
Sergio Martins
c63e4a3d38 fuzzer: Also write the MainWindow name to json
Same reason as previous commit
2019-10-14 21:55:08 +01:00
Sergio Martins
9738fbddc6 fuzzer: Write the DockWidgets name to the json too
This way it's easier to read the json and remove unneeded dock widgets
while trimming the test-case
2019-10-14 21:49:36 +01:00
Sergio Martins
3895af14ea fuzzer: add a slowdown option 2019-10-13 22:05:20 +01:00
Sergio Martins
dd580a0f2f fuzzer: Don't generate random params when replaying
When replaying we want to replay with the params we read from json
2019-10-13 21:32:43 +01:00
Sergio Martins
d23eb035b9 fuzzer: Don't add dock widget to tabwidget already containing it 2019-10-13 18:51:41 +01:00
Sergio Martins
e278d0108a Add OperationBase::newOperation() to avoid duplicated code 2019-10-13 18:41:27 +01:00
Sergio Martins
ae439e0dad fuzzer: Add new operation: AddDockWidgetAsTab 2019-10-13 18:34:51 +01:00
Sergio Martins
e5b5885892 fuzzer: Add a 50ms delay, make the window manager happier 2019-10-13 18:09:13 +01:00
Sergio Martins
0ca0ad492b fuzzer: don't require dock widgets to exist when loading json
They'll be created later. So use their name instead of a pointer
to them.
2019-10-13 17:50:50 +01:00
Sergio Martins
b82977d9ee fuzzer: minor refactor to share code 2019-10-13 17:06:41 +01:00
Sergio Martins
28d0aa25ae fuzzer: Loading from json now works 2019-10-13 17:01:08 +01:00
Sergio Martins
069a9654aa fuzzer: Don't dump json when we're loading from json 2019-10-13 17:00:53 +01:00
Sergio Martins
acf6cfb327 Add QCommandLineParser support 2019-10-12 10:13:32 +01:00
Sergio Martins
954fb271d3 fuzzer: Also serialize the AddDockWidget operation 2019-10-11 17:04:26 +01:00
Sergio Martins
38619e734f fuzzer: dump to json when it fails 2019-10-11 14:18:20 +01:00
Sergio Martins
005e811eaa fuzzer: Fix hidding/showing operations
They werent receiving a dock widget name.
Normalized them, they now receive Fuzzer* via ctor
2019-10-11 13:33:13 +01:00
Sergio Martins
4d7da1e6f3 tests: Fix build
Fuzzer.cpp was filtered out by .gitignore
2019-10-11 13:27:13 +01:00