xarkes
520bee81d5
Fixed highlight color in xref dialog
2018-07-02 11:11:06 +02:00
xarkes
22465615a4
Fixed weird widget priority behaviour and fix #514
2018-07-01 13:47:15 +02:00
xarkes
1e721ff32e
Increase default graph maxcols
2018-07-01 10:59:10 +02:00
Florian Märkl
1a0f307dcb
Add CutterCore::getBlockStatistics()
2018-06-29 12:34:01 +02:00
fcasal
0c1935d3f1
Refreshing now seeks to the correct offset ( #552 )
2018-06-27 17:33:21 +02:00
Florian Märkl
2293b608a8
Fix uninitialized fields in HexdumpWidget and VisualNavbar
2018-06-26 22:28:51 +02:00
Florian Märkl
2d98943c13
Fix initialization of some attrs in GraphView
2018-06-26 22:23:10 +02:00
Florian Märkl
a076b2ef7b
Fix AsyncTaskDialog::interruptOnClose initialization
2018-06-26 22:11:26 +02:00
Florian Märkl
dd7a5f4eb6
Fix some warnings
2018-06-26 18:17:03 +02:00
xarkes
bfa495321a
C++ Plugins ( #550 )
...
* Added Cutter plugins listing
* Added SetupInterface callback
* Added seekChanged signal handling to plugin
2018-06-26 09:40:08 +02:00
Florian Märkl
83c6fd5d22
Fetch Functions in Task
2018-06-25 21:28:34 +02:00
Florian Märkl
400a2c184d
Remove Callgrind Macros
2018-06-24 21:52:54 +02:00
Florian Märkl
05e49ee8a6
Disable Console QLineEdit when task is running
2018-06-24 21:16:57 +02:00
Florian Märkl
baf7abce60
Add ProgressIndicator for Tasks
2018-06-24 21:12:22 +02:00
Florian Märkl
c0397fdcb5
Run Commands from ConsoleWidget in AsyncTask
2018-06-24 21:12:22 +02:00
Florian Märkl
8b293bfe8c
Add CommandTask
2018-06-24 21:12:22 +02:00
Florian Märkl
e3bd0612d9
Use r2 tasks for fetching strings
2018-06-24 21:12:22 +02:00
Florian Märkl
cc3ad67096
Fetch Strings asynchronously
2018-06-24 21:12:22 +02:00
Florian Märkl
2e26ead446
Get Strings from r2 API
2018-06-24 21:12:22 +02:00
Florian Märkl
88830cbd66
Update radare2 submodule
2018-06-23 14:01:11 +02:00
Itay Cohen
bd8243f24f
Removed old Dark Theme, and replace it with the "Dark Grey" ( #549 )
...
* Remove old dark theme, and replace it with the "Dark Grey"
* Fixed comments
2018-06-22 17:57:26 +02:00
xarkes
b8e876ad9c
Made a quick open file dialog ( #543 )
2018-06-20 11:24:28 +02:00
mauronz
da2c4770fc
Fix references to pkg-config in lib_radare2.pri for Unix ( #540 )
...
* Fix references to pkg-config in lib_radare2.pri for Unix
2018-06-19 16:16:22 +02:00
dok
db76bffbe3
widgets/disasm: Add shortcuts to change font-size
...
Add two shortcut for changing the font-size in the Disassembly window:
CTRL+PLUS : increase font size
CTRL+MINUS: decrease font size
Issue: #298
2018-06-17 17:41:35 +02:00
jcaesar
81aa85e461
Add appstream XML file ( #536 )
2018-06-12 15:03:01 +02:00
xarkes
2264353507
Reset settings do not modify architecture
2018-06-09 12:14:03 +02:00
fcasal
e8b024042b
Added widget to view register values ( #509 )
...
* Added backtrace info
* Make stack printing arch agnostic
* Split into registers/stack/backtrace widgets
* hide table idxs in stacktable
* backtrace table header has register name instead of generic PC/SP
* imports cleanup
* add sorting to stack table
* add Qheaderview import
* Added button to set registers
* added color to recently changed register
* reorganized Windows tab and added stacking to debug widgets
2018-06-06 13:05:20 +02:00
Florian Märkl
14cfe74324
Use QSharedPointer for AsyncTask
2018-05-28 16:19:04 +02:00
Florian Märkl
7777707062
Remove Progress UI from OptionsDialog
2018-05-27 22:10:23 +02:00
Florian Märkl
39eee858e6
Fix Memory Bug in AsyncTaskDialog
2018-05-27 21:57:37 +02:00
Florian Märkl
5dbaefb176
Exit AnalTask if interrupted
2018-05-27 21:49:14 +02:00
Florian Märkl
4ce04c4f95
Refactor Analysis Options
2018-05-27 21:38:19 +02:00
Florian Märkl
f09d32bd3d
Interrupt AsyncTask from AsyncTaskDialog
2018-05-27 18:45:30 +02:00
Florian Märkl
3e8b76138c
Use AsyncTaskDialog for initial Analysis
2018-05-27 18:03:29 +02:00
Florian Märkl
896925736f
Add Timer to AsyncTask
2018-05-27 16:51:33 +02:00
Florian Märkl
6dd71958e2
Add AsyncTaskDialog
2018-05-27 16:51:33 +02:00
Florian Märkl
68e57f536f
Fix CMake build for Qt 5.11
2018-05-27 16:38:08 +02:00
Florian Märkl
7117846b3e
Use AsyncTask for initial analysis
2018-05-26 20:17:01 +02:00
Florian Märkl
790dd4868e
Add AsyncTask
2018-05-26 20:17:01 +02:00
Florian Märkl
49dabaab71
Optimize seekChanged in FunctionsModel #498
2018-05-25 20:55:05 +02:00
fcasal
0cea9e3287
Multiple graph/disasm/hexdump widgets and independent seeks ( #504 )
2018-05-25 16:30:59 +02:00
Florian Märkl
c4a4cb8a25
Fix Graph Local Check
2018-05-24 18:58:57 +02:00
Florian Märkl
e642406192
Replace DisassemblerGraphView::sent_seek with connect/disconnect
2018-05-24 18:58:57 +02:00
rrreeezzz
b857e724e8
Add a panel for zignatures #463 ( #505 )
2018-05-24 17:37:37 +02:00
Florian Märkl
cd776c24ef
Avoid calling triggerRaisePrioritizedMemoryWidget() on every command
2018-05-24 15:42:27 +02:00
Florian Märkl
1ee7061c72
Remove unnecessary pass Statements
2018-05-24 10:41:01 +02:00
xarkes
2391b4eff6
Updated radare2
2018-05-24 08:21:12 +02:00
fcasal
7fdfad32f7
Added headers widget ( #499 )
2018-05-21 19:34:41 +02:00
Xaltonon
55be4efb8c
Graph improvements ( #500 )
...
* Add antialiasing to graphview
* Make panning speed up/slow down with current zoom
* Made scrolling proportional to zoom level
2018-05-21 19:33:46 +02:00
Itay Cohen
8ac598f992
Fixed x-refs to Address ( #495 )
2018-05-14 17:21:59 +02:00
xarkes
24941611fe
g++ fix ( #491 )
2018-05-13 21:38:53 +02:00
Xaltonon
a04c633655
Replace placeholder icons in preferences window with SVGs ( #493 )
2018-05-13 20:59:33 +02:00
Itay Cohen
fad76ecddb
Disable align to 0 of HexdumpWidget, highlight current seek ( FIX #64 ) ( #492 )
...
* Disable align to 0 of HexdumpWidget, highlight current seek
Disabled the alginment to `0x???????0` and made the current seek the first column.
Added color to highlight the current seek address.
* fixed camelCase
* Fixed camelCase#2
2018-05-13 16:43:38 +02:00
Xaltonon
21400952f2
Add tree-structured config dialog ( #489 )
2018-05-13 09:52:49 +02:00
Xaltonon
58226dda0e
Add forward/back functionality to mouse buttons ( #490 )
...
* Add forward/back functionality to mouse buttons
* Prevent other widgets from stealing mouseclicks for buttons 4 & 5
2018-05-13 09:50:01 +02:00
fcasal
4b148d74de
Added ctrl+wheel zoom in graph view ( #484 )
2018-05-10 16:08:03 +02:00
xarkes
43b147c6eb
Added message box when r_core_file_open fails
2018-05-08 22:44:53 +02:00
fcasal
8ab3a3664c
Fixed switching between views in same offset ( #483 )
2018-05-08 20:09:05 +02:00
xarkes
73d395c2be
Fix -B default value
2018-05-07 17:16:51 +02:00
xarkes
923a7e888c
A bit of AnalThread cleaning
2018-05-05 15:20:36 +02:00
rrreeezzz
53a7d5a959
Button grayed out if no signatures/version info available #474 ( #481 )
2018-05-05 14:58:26 +02:00
Itay Cohen
eef5022469
Add entropy to Section widget ( #480 )
2018-05-05 12:11:44 +02:00
Itay Cohen
31c7289726
Fixed Entropy and baddr on Dashboard view ( #479 )
2018-05-04 12:50:57 +02:00
Paul I
bebc2ec36d
More c++11 ( #478 )
...
* Replace 0 and Q_NULLPTR with nullptr
* Use c++11 foreach
2018-05-04 09:58:32 +02:00
fcasal
c4d7dd3383
Added copy address feature in graph/disasm ( #476 )
2018-05-03 09:53:01 +02:00
Paul I
a30ac22056
Refactor SectionsWidget to use Model/View archictecture ( #475 )
2018-05-03 09:52:30 +02:00
Paul I
fd829986af
Refactor SymbolsWidget to use Model/View architecture ( #473 )
2018-05-02 14:06:31 +02:00
fcasal
df251dd514
Added new dark grey theme ( #471 )
2018-05-02 08:02:24 +02:00
fcasal
c0a3ec4481
Reordered related option ( #470 )
2018-05-01 21:54:51 +02:00
Paul I
41d2fdc690
Refactor CommentsWidget to use Model/View architecture ( #469 )
...
Add QuickFilter panel to CommentsWidget
2018-05-01 20:54:34 +02:00
rrreeezzz
f5f2c4702e
Add a button "Version Information" in Dashboard (iVj) #317 ( #468 )
2018-05-01 20:53:14 +02:00
Paul I
e97c22f214
Windows dist: move r2 related data to <radare2> subdir ( #466 )
...
* Update radare2
* Windows dist: move r2 related data to <radare2> subdir
2018-04-30 22:03:31 +02:00
Paul I
eeec725b94
Little hack to distribute precompiled cutter_*.py files ( #465 )
2018-04-30 11:45:02 +02:00
Itay Cohen
5e4dff9639
Load radare script from Options Dialoh ( #464 )
...
* Initial implementation of radare script loading from OptionsDialog
* Fixed and removed redundant function
2018-04-30 08:39:48 +02:00
Paul I
d58e69d411
Add QuickFilter to RelocsWidget ( #452 )
2018-04-24 20:40:40 +02:00
xarkes
a815f8f182
Fixed actionSearch issue
2018-04-24 10:43:11 +02:00
xarkes
e0cb52fa2c
Cutter 1.4 release
2018-04-23 19:47:32 +02:00
xarkes
09058ead57
Use default font values
2018-04-23 19:30:41 +02:00
rrreeezzz
756ebec512
Delete project with pop-up confirmation ( #451 )
2018-04-23 09:54:24 +02:00
Paul I
0ae021f9a1
Check QModelIndex/column before processing double click event ( #450 )
2018-04-23 09:54:06 +02:00
Paul I
09bfc9f3d0
Add QuickFilter panel for ImportsWidget and ExportsWidget ( #449 )
2018-04-23 09:53:35 +02:00
Florian Märkl
5f9018f5b9
Fix Error when shutting down Jupyter
2018-04-21 12:13:36 +02:00
Florian Märkl
9be6dba2c2
Temporarily disable Analysis after opening a file ( Fix #446 )
2018-04-20 14:34:32 +02:00
xarkes
45763f88b5
Fix some font size
2018-04-18 17:14:54 +02:00
rrreeezzz
6642f60f75
Add information about register used in a function #381 ( #442 )
...
* Add information about register used in a function #381
2018-04-18 11:13:08 +02:00
Florian Märkl
1e81aafb37
Use r_sys_prefix() for AppImage and macOS AppBundle ( Fix #432 )
2018-04-16 21:36:55 +02:00
Florian Märkl
6934d785f4
Limit Disassembly scrolling from 0 and RVA_MAX
2018-04-15 19:06:05 +02:00
Florian Märkl
b8594e3bf5
Remove White Border from Console Input
2018-04-15 15:42:20 +02:00
Florian Märkl
dc871ca8a1
Revert "Added Zip to cmake Fix #433 "
...
This reverts commit abfb29d5c8
.
2018-04-13 17:25:03 +02:00
Florian Märkl
73848d26e7
Fix initial Hexdump Loading with Limits
2018-04-13 16:48:10 +02:00
Florian Märkl
1c58e2706c
Limit Hexdump Scrolling from 0 to RVA_MAX
2018-04-13 14:21:39 +02:00
Florian Märkl
d3b8bcb62a
Fix blank lines when scrolling up Hexdump
2018-04-13 11:36:30 +02:00
Florian Märkl
2af51a1af0
Fix Hexdump Scroll Up Loading
2018-04-13 11:29:11 +02:00
Florian Märkl
839ec9fffe
Fix seeking to anything but Adresses in Omnibar
2018-04-13 10:55:54 +02:00
Abdel-Rahman A
c79106ef84
Use Core() everywhere ( #440 )
2018-04-12 08:33:30 +02:00
Abdel-Rahman A
05fe4e60ea
RelocsWidget: Change from QTableView to QTreeView ( #439 )
2018-04-12 08:33:03 +02:00
Abdel-Rahman A
e1f17db235
Refactor ImportsWidget to a view and a model ( #438 )
...
* Refactor ImportsWidget to a view and a model
* Remove unused delegate
2018-04-12 08:32:31 +02:00
fcasal
7181c81a2b
Added /v search ability and usage hints in the box ( #435 )
2018-04-11 11:55:37 +02:00
xarkes
d263778ad2
Radare2 update
2018-04-11 11:44:01 +02:00
xarkes
abfb29d5c8
Added Zip to cmake Fix #433
2018-04-11 11:19:07 +02:00
rrreeezzz
997b68ac38
Add more information in Function Panel #382 ( #436 )
...
* Add more information in Function Panel #382
* Fix sort
* Fix calltype
* Fix build dir
2018-04-10 20:34:11 +02:00
Paul I
ec8d54b597
Remove cutter_win32 dir ( #430 )
2018-04-05 10:05:00 +02:00
xarkes
6f14b3c0e3
Added cutter.refresh() to jupyter API
2018-04-04 16:30:30 +02:00
Abdel-Rahman A
c8fdf4b193
Use qhelpers::adjustColumns in all widgets ( #423 )
2018-04-01 10:25:31 +02:00
xarkes
459aaf482f
Fix multiple poping DisassemblyWidget
2018-03-30 18:23:59 +02:00
xarkes
d4903c0f3d
Pseudo fix for #422
2018-03-28 11:25:40 +02:00
xarkes
8afc02dd4e
Hexdump and Pseudocode widgets colors Fix #410
2018-03-25 19:34:25 +02:00
David Roman
87ee023235
Add dir.projects cutter setting ( #416 )
2018-03-25 18:58:34 +02:00
int 0x80
0ecc0ed113
Allow to run Cutter without any file opened #404 ( #419 )
...
* Allow to run Cutter without any file opened #404
2018-03-25 14:36:14 +02:00
xarkes
152503a936
Segfault fix
2018-03-25 13:21:07 +02:00
Abdel-Rahman A
5001d395af
Refactor RelocsWidget to a model and a view ( #418 )
2018-03-25 12:57:55 +02:00
Florian Märkl
adb311a122
Move default AsmOptions code to Configuration and shorten it ( #415 )
...
* Correct asm.cmtright to asm.cmt.right
* Add asm.flgoff to Disassembly Options
* Add Configuration::get/setConfig
2018-03-22 09:42:54 +01:00
Florian Märkl
0cc1f23826
Add --keep-one-line-blocks to astyle
2018-03-21 23:10:52 +01:00
xarkes
3cd71f75e1
Changing coding style
2018-03-21 21:33:40 +01:00
Paul I
b14be4acb2
Some little fixes ( #411 )
2018-03-20 21:44:00 +01:00
int 0x80
bba02f4b9d
Add a button Certificate in Dashboard (iCj) Fixes #316 ( #409 )
...
* Add a button Certificate in Dashboard (iCj) #316
2018-03-17 20:26:51 +01:00
Nics
c4e8a1c178
Small refactor for the widgets of Cutter ( #405 )
...
* Small refactor for the widgets of Cutter
This refactor include the following :
* Creation of a new class
Creation of a new class, named CutterWidget, that inherits from QDockWidget and
is used to represent all of the widgets of the main window.
The goal of this class is to regroup all the behaviour shared by the widgets of
Cutter.
For example : in the constructor, instructions corresponding of those
present in the macro **ADD_DOCK** (in MainWindow.cpp) are executed.
This was made because I think that the macro **ADD_DOCK** which is used
to construct the widgets does not take advantage of the object structure.
* Ensure that every widget has a parent
Some widgets were created using the constructor QDockWidget, but using
**nullptr** (default) as argument, thus they haven't got any parent.
The constructor of a CutterWidget takes as argument the MainWindow and an
action (optional) and calls the constructor of QDockWidget with the main
window as argument. This is valid under the assumption that it is mandatory
for every widget to have the main window as a parent.
* Constructors removal
The constructors of some widgets are not used anywhere and does not seem not
fullfill any current usecase. They were removed.
* Renaming CutterWidget to CutterDockWidget
2018-03-16 22:46:57 +01:00
Florian Märkl
98ea17c85a
Make CUTTER_ENABLE_* individual vars in qmake
2018-03-16 18:37:38 +01:00
fcasal
0a252bda7b
Added rop gadget search ( #403 )
2018-03-16 10:07:41 +01:00
Mohd Shahril
8a71d1bb07
SectionsWidget - remove unnecessary dot checking ( #392 )
2018-03-13 14:53:53 +01:00
Florian Märkl
cd28e00bb5
Add FlagsWidget Context Menu
2018-03-11 17:40:52 +01:00
Florian Märkl
6b7a5c9227
Add Flags Source to ClassesWidget
2018-03-11 16:57:38 +01:00
Florian Märkl
523e4b471a
Fix restoring Window Layout
2018-03-11 12:41:19 +01:00
Florian Märkl
2ab6907746
Add CutterCore::getAllClassesFromFlags()
2018-03-11 12:13:08 +01:00
Marco Grassi
391e847ebc
Dynamic size for color selection and compile warning fixes ( #380 )
2018-03-11 11:29:37 +01:00
Abdel-Rahman A
cd38fb9277
Improve 'About' plugins window ( #378 )
...
* Show detailed information of RAsm plugins in 'About' window
* Improve 'About' plugins window UI with tabs
2018-03-11 09:39:31 +01:00
fcasal
3ef8218e49
Added option to swap conditional jmps ( #373 )
2018-03-10 08:27:09 +01:00
Abdel-Rahman A
742690afd0
Add asm.size option in preferences ( #374 )
2018-03-10 07:26:58 +01:00
Florian Märkl
c127772dc1
Fix themes for AppImage
2018-03-09 18:04:05 +01:00
xarkes
8849f25a8d
Changes for 1.3 release
2018-03-09 16:28:04 +01:00
Abdel-Rahman A
4cc5e49a24
Add plugin information in 'About' window ( #363 )
...
* Add RBin plugin information in 'About' window
* Add RIO plugin information in 'About' window
* Add RCore plugin information in 'About' window
* Add RAsm plugin information in 'About' window
2018-03-09 16:05:40 +01:00
Florian Märkl
051b95c69d
Make AnalThread interruptable ( Fix #264 )
2018-03-09 13:57:57 +01:00
xarkes
d3e48cdae1
Better settings cleaning and initialization
2018-03-09 12:44:29 +01:00
fcasal
e4f428e959
added search button to Edit menu ( #371 )
2018-03-09 12:43:01 +01:00
xarkes
54a91425f2
Fix arrow colors #370
2018-03-09 12:24:26 +01:00
xarkes
d6bc8c3af4
Disable search flags by default
2018-03-08 14:02:34 +01:00
fcasal
d9592edd1b
added basic search ( #367 )
...
* Added basic search
2018-03-08 13:24:15 +01:00
Florian Märkl
7b552694f0
Adjust QMainWindow::separator and QSplitter::handle in dark theme
2018-03-08 12:45:34 +01:00
xarkes
1b7462327e
Temp fix for seek arrows color
2018-03-08 10:11:29 +01:00
Paul I
a1fba8e6b1
Bundle Python for Windows in AppVeyor ( #361 )
2018-03-08 10:06:02 +01:00
xarkes
20c7b25308
Using solarized by default.
2018-03-08 08:57:04 +01:00
Florian Märkl
47d9990f84
Fix Jupyter for macOS
2018-03-07 15:23:46 +01:00
Florian Märkl
1d583fe441
Add --pythonhome Arg
2018-03-07 15:23:46 +01:00
Florian Märkl
5bb1a5be6c
Bundle Python for macOS in Travis
2018-03-07 15:23:46 +01:00
mandlebro
b0c3d438d1
Added load option to set anal.bb.maxsize
2018-03-07 14:15:56 +01:00
xarkes
8a73abf63f
Fixed SegFault when closing LoadOptions dialog
2018-03-07 11:49:49 +01:00
xarkes
2eda598ea2
Cleaning
2018-03-07 08:53:37 +01:00
xarkes
395a383ca1
Set anal.hasnext to false by default, as in radare2
2018-03-07 08:53:37 +01:00
fcasal
09e4bf348e
Added typeswidget ( #358 )
2018-03-06 18:21:48 +01:00
xarkes
93be7f4907
Easier build instructions
2018-03-06 17:50:09 +01:00
fcasal
fa7da352cf
Added option to Nop instructions ( #355 )
2018-03-05 15:20:55 +01:00
Florian Märkl
4a8352169b
Make HexdumpWidget more resizable
2018-03-05 15:10:47 +01:00
fcasal
e115cbc9e9
Fixed sorting in Strings widget ( #354 )
...
Sorting by string, type, size or length now works when selecting the corresponding column.
2018-03-05 00:16:54 +01:00
Moritz
2439eb52a5
Fix compilation error. ( #352 )
2018-03-04 20:15:09 +01:00
xarkes
08c2ac54c4
cutter => Cutter
2018-03-04 19:07:33 +01:00
Florian Märkl
0ec363a214
Set PYTHONHOME for AppImage
...
Keep PYTHONHOME string
2018-03-04 17:32:47 +01:00
Florian Märkl
78c3e5f1e3
Set ResourcesWidget objectName
2018-03-03 18:48:39 +01:00
Florian Märkl
1505aefdd1
Make Jupyter Home Button beautiful
2018-03-03 18:40:06 +01:00
Florian Märkl
09a34d265e
Make Jupyter Tabs closable, Add Home Button
2018-03-03 18:12:03 +01:00
Boris Ryutin
17f7c0b593
Add double click function to VTables ( #343 ) ( #349 )
2018-03-03 12:23:53 +01:00
Maijin
efc7a7e90e
Fix issue with cmd/cmdj
2018-03-03 10:54:18 +01:00
Paul I
98b9de504b
meson: Make Jupyter optional ( #348 )
2018-03-03 08:03:08 +01:00
Maijin
06a9507aea
toUtf8 -> toLocal8Bit
2018-03-02 21:49:57 +01:00
xarkes
e52d002fea
Refine cutter.pro rules
2018-03-02 21:42:27 +01:00
xarkes
422a43f344
Set qmake Jupyter optional
2018-03-02 21:00:41 +01:00
Florian Märkl
b48d88c6a5
Add QTabWidget declaration
2018-03-02 19:03:12 +01:00
Florian Märkl
a30579a536
Jupyter Tab Titles
2018-03-02 17:56:59 +01:00
Florian Märkl
7914deb887
Fix CUTTER_ENABLE_QTWEBENGINE define for CMake
2018-03-02 17:34:03 +01:00
Florian Märkl
7ae1cee66b
Fix Meson
2018-03-02 16:42:41 +01:00
Florian Märkl
f89d9c0434
Add Optional Features Info to AboutDialog
2018-03-02 15:11:08 +01:00
Florian Märkl
011d113a5e
Disable actionJupyter if not needed, Display Jupyter URL if QtWebEngine is disabled
2018-03-02 15:11:08 +01:00
Florian Märkl
ccedd3d59f
Make Jupyter optional for CMake
2018-03-02 15:11:08 +01:00
xarkes
784fe17652
Updated dark theme ColinDuquesnoy/QDarkStyleSheet
2018-03-01 17:10:16 +01:00
xarkes
995429b77e
Fix scr.color int value
2018-03-01 17:06:13 +01:00
xarkes
13efdf86d5
Removed old Notepad
2018-03-01 16:43:27 +01:00
xarkes
3843864ff9
Remember color scheme on exit
2018-03-01 16:30:31 +01:00
xarkes
427f3797e8
Set more options at file opening + cleaning
2018-03-01 13:16:23 +01:00
xarkes
2626ee02b8
Added python cmdj
2018-02-28 23:00:33 +01:00
exokortex
607b8b8ca8
make FunctionsWidget and SectionsWidget sort numbers correctly and align right ( #344 )
2018-02-28 21:12:51 +01:00
xarkes
5db9722644
Eval var asm.cmtright => asm.cmt.right
2018-02-27 23:04:06 +01:00
xarkes
a738c020f4
CI Fixes
2018-02-27 21:26:14 +01:00
Florian Märkl
9434476c11
Fix JupyterConnection Shutdown on Error
2018-02-27 21:26:14 +01:00
Florian Märkl
47e99f6d11
Use Py_Finalize() instead of Py_FinalizeEx() for compatibility
2018-02-27 21:26:14 +01:00
xarkes
1ffc2bb742
Qmake python3 lib
2018-02-27 21:26:14 +01:00
xarkes
93c836249e
Added pythn dependency for meson
2018-02-27 21:26:14 +01:00
xarkes
3ca97e248d
Removed extra file in cutter.pro
2018-02-27 21:26:14 +01:00
Florian Märkl
b45314fd19
Fix IPyKernel restarting
2018-02-27 21:26:14 +01:00
Florian Märkl
06dffde0fe
Fix error handling in Python API, minor cleanup
2018-02-27 21:26:14 +01:00
Florian Märkl
ec55e40d5e
Support interrupting nested IPyKernel
2018-02-27 21:26:14 +01:00
Florian Märkl
693fc1eb1f
IPyKernel signal and poll
2018-02-27 21:26:14 +01:00
Florian Märkl
926a9ffd1e
Prepare IPyKernel communication
2018-02-27 21:26:14 +01:00
Florian Märkl
05be34ae6b
Jupyter refactoring and cleanup
2018-02-27 21:26:14 +01:00
xarkes
3b8bdb6995
Warnings removal
2018-02-27 21:26:14 +01:00
xarkes
d23cc71b79
Added an error tab when Jupyter fails
2018-02-27 21:26:14 +01:00
Florian Märkl
b9b903052c
Run IPyKernel in subinterpreter and thus expose Cutter bindings to it
2018-02-27 21:26:14 +01:00
xarkes
abd9cca091
Added basic Cutter python bindings
2018-02-27 21:26:14 +01:00
Florian Märkl
0a9fba0677
Load cutter_jupyter.py from Qt resources
2018-02-27 21:26:14 +01:00
xarkes
a5e77c5095
Removed old r2pipe server
2018-02-27 21:26:14 +01:00
Florian Märkl
3164b5c118
Embed Jupyter using Python/C API
2018-02-27 21:26:14 +01:00
Florian Märkl
cea55dfdb1
Start Jupyter with single Process
2018-02-27 21:26:14 +01:00
xarkes
7526965b26
Added listening r2 server for Jupyter + r2pipe
2018-02-27 21:26:14 +01:00
Florian Märkl
1ba8e03f04
Basic Jupyter Integration
2018-02-27 21:26:14 +01:00
Florian Märkl
f01fa9d4ea
Enable Qt::WA_DeleteOnClose for PreferencesDialog
2018-02-27 14:08:39 +01:00
Florian Märkl
8c3d8d77cb
Properly delete MainWindow
2018-02-27 14:06:04 +01:00
xarkes
a0a3f9278d
Using raw permissions rather than rw
2018-02-27 11:20:48 +01:00
Abdel-Rahman A
c1132aba0c
Add virtual tables panel ( #340 )
2018-02-26 23:26:18 +01:00
xarkes
a9f669e27e
Splitted Qt theme and color theme (now using eco/ecoj)
2018-02-26 23:25:23 +01:00
chq-matteo
b7a89a619d
Update cutter.desktop with capital C ( #338 )
...
[https://github.com/radareorg/cutter/issues/333 ](https://github.com/radareorg/cutter/issues/333 )
2018-02-23 12:41:22 +01:00
0xcpy
7fa2b9bf61
Added export graph as dot ( #330 )
2018-02-14 10:33:34 +01:00
0xcpy
16ebe024a3
Right click edit instruction fix #312 ( #328 )
...
* Right click edit instruction fix #312
* added bytes editing
2018-02-12 21:12:13 +01:00
nico
4f484eb1f4
Apply logo fix also to AboutDialog ( #327 )
2018-02-12 13:59:47 +01:00
xarkes
524be44dc2
Fixed white logo on startup #319
2018-02-12 13:22:53 +01:00
xarkes
b229513620
Added ahb to disasm context menu
2018-02-12 10:48:13 +01:00
0xcpy
b119181757
Added Main function highlighting Fix #124 ( #326 )
...
* fix #124
* use cmdj instead of cmd
2018-02-12 09:59:45 +01:00
xarkes
b5a2ec74b0
Fix Strings panel/Updated r2
2018-02-11 22:34:28 +01:00
xarkes
28ff13729f
Made "load bin" checkbox more understandble
...
It is also now doing as the -n option of radare
2018-02-10 23:31:15 +01:00
xarkes
a869009909
Build fix
2018-02-10 19:12:08 +01:00
Marco Grassi
0fb1086aca
macOS file operations improvements ( #321 )
...
* Implemented macOS open with functionality and drag of files to the icon
* fixed bug when dropping a different binary
* fixed Uppercases for application names
* refactor to avoid code in header for CutterApplication
* removed unused includes
* more consistent includes and main.cpp cleanup
2018-02-10 19:04:31 +01:00
xarkes
bc22302d7d
Travis fix
2018-02-10 19:03:16 +01:00
xarkes
bc8b890557
Fix strings list #322
2018-02-10 18:50:00 +01:00
Maijin
5d1bf80b5b
Fix #323
2018-02-10 18:16:16 +01:00
Paul I
9a0416d218
Introducing mesonbuild for Cutter ( #314 )
...
* Introducing mesonbuild
* appveyor.yml: Added meson builder
* Cleanup Windows build scripts
* Updated radare2 submodule
* meson: Clone capstone before building r2
* Some appveyor.yml cleanup
2018-02-09 20:51:30 +01:00
xarkes
b15900be54
Added strings info Fix #240
2018-02-09 15:22:45 +01:00
xarkes
dd6b591d9d
FunctionsWidget code cleaning
2018-02-09 15:03:03 +01:00
xarkes
c8e6cae150
Resources Widget name/double click fix
2018-02-09 14:19:36 +01:00
xarkes
0c035f7ad8
Hexdump widget improvements
2018-02-08 12:46:23 +01:00
xarkes
689cb06ff2
Some HexdumpWidget fixes
2018-02-07 21:15:33 +01:00
nico
ef8118a52e
Refactored code to handle NewFile dialog to honor black theme fix #291 ( #315 )
...
* Added displayNewFileDialog()
* Added MainWindow::displayNewFileDialog()
* Use displayNewFileDialog()
2018-02-06 19:23:01 +01:00
nico
fc6159c6b3
Remove the close button and put the About one under the cutter logo fix #289 ( #313 )
...
* removed cancelButton_clicked()
* removed NewFileDialog::on_cancelButton_clicked()
* removed cancel button and moved about button
2018-02-04 21:54:54 +01:00
Florian Märkl
3dcd9cab9d
Add asm.fcnlines option ( Fix #248 )
2018-02-04 20:34:52 +01:00
Maijin
330e230572
Add more human readable size
2018-02-04 18:27:48 +01:00
xarkes
3712cf1529
Added ResourcesWidget ( fix #259 )
2018-02-04 15:32:49 +01:00
Florian Märkl
293078d358
Fix Console Title
2018-02-04 13:21:03 +01:00
Florian Märkl
0dbadc59d8
Fix QDockWidget Header Background on macOS #290
2018-02-03 21:00:31 +01:00
Florian Märkl
51a79c89ac
Adjust Omnibar size and padding #290
2018-02-03 20:27:45 +01:00
xarkes
ba3f655a9f
Added double click handling on SectionsWidget
...
fix #303
2018-02-02 16:56:46 +01:00
Florian Märkl
085b858bb6
Enable asm.slow by default, Remove some unneeded config
2018-02-02 11:56:07 +01:00
Florian Märkl
9f945ca585
Disable asm.bbline for graph
2018-02-01 18:28:26 +01:00
Florian Märkl
f21cdfa5c0
Use r2 colors in graph
2018-02-01 18:28:26 +01:00
Florian Märkl
75bf8cf5b6
Use agJ for graph
2018-02-01 18:28:26 +01:00
xarkes
613a3e422a
Changed VisualNavbar colors to be consistent with r2
2018-02-01 17:06:41 +01:00
nico
bcba36a53d
Uppercase application name fix #296 ( #309 )
2018-02-01 16:07:51 +01:00
Jubal
195fd4a4b6
Added asm.nbytes option ( #308 )
2018-02-01 10:01:09 +01:00
xarkes
4cc51a6a51
Using bundled fonts by default ( #307 )
2018-01-31 16:36:09 +01:00
xarkes
dc3fe4f3c4
Fix typo
2018-01-31 11:06:45 +01:00
xarkes
6b644d6ed6
Added asm.emu to Graph
2018-01-31 10:59:01 +01:00
xarkes
b94c5967c2
Added asm.bytes options to Graph View
2018-01-31 10:17:29 +01:00
Jubal
806fc5bded
Added options for disasm ( #306 )
2018-01-31 09:01:16 +01:00
xarkes
da576b973e
Cutter v1.2
2018-01-30 22:49:43 +01:00
Jubal
a7ce43784b
added show jump lines in disassembly ( #286 )
2018-01-28 23:28:25 +01:00
xarkes
98c6c0a56e
Warning removals
2018-01-27 16:10:41 +01:00
xarkes
372021dadc
Some hexdump fixes
2018-01-27 14:11:30 +01:00
xarkes
2703ec274d
Fix VisualNavbar segfault
2018-01-27 12:15:58 +01:00
xarkes
12316714cf
WIP Analysis panel after file is opened ( #278 )
...
* WIP Analysis panel after file is opened
2018-01-27 11:40:26 +01:00
Thomas (nezza-_-) Roth
9847836d73
HexdumpWidget enhancements ( #235 )
2018-01-27 11:08:05 +01:00
Florian Märkl
f71c21ae10
Add Endianness Option
2018-01-20 12:14:55 +01:00
xarkes
3af89d5f94
Fix comment shortcut
2018-01-16 15:29:33 +01:00
xarkes
0ade622a4f
Added PDB import menu ( Fix #82 )
2018-01-16 15:09:51 +01:00
xarkes
90915134f5
Fix shortcuts #237
2018-01-13 14:49:20 +01:00
xarkes
bb26c2b7a5
Widgets tiny improvement
2018-01-09 13:09:25 +01:00
xarkes
d878e5055e
Added dark theme
2018-01-09 12:03:07 +01:00
Florian Märkl
266402095f
Check file using CutterCore::tryFile() instead of QFileInfo
2018-01-07 11:58:37 +01:00
xarkes
8b52c66f4f
Update version number to 1.1
2017-12-29 09:07:09 +01:00
Maijin
0ebd34370b
Fix #228
2017-12-26 14:40:12 +01:00
Mathieu Hautebas
69506b6460
change version to 1.1 ( #244 )
2017-12-25 22:04:32 +04:00
Florian Märkl
4b160e4496
Do not update Pseudocode on changes
2017-12-24 15:08:54 +01:00
Florian Märkl
7fd6867b12
Fix crash in GraphView
2017-12-24 13:11:29 +01:00
Florian Märkl
a476dda5d0
Add ClassesWidget ( Fix #193 )
2017-12-23 17:42:42 +01:00
Florian Märkl
92d6f597e8
Use disasm from agj in Graph ( Fix #233 )
2017-12-22 16:53:46 +01:00
Florian Märkl
8cf623c1ab
Use single QTreeView in FunctionsWidget
2017-12-21 20:51:19 +01:00
Florian Märkl
9bd57776f6
Update Windows Menu and make Actions checkable
2017-12-21 16:47:36 +01:00
Florian Märkl
7d84fbfc1d
Remove Omnibar Commands
2017-12-21 16:16:43 +01:00
Florian Märkl
be93b3e9d6
Add PseudocodeWidget.ui to cutter.pro
2017-12-21 16:00:18 +01:00
Florian Märkl
3c2a7189bf
Create PseudocodeWidget from .ui file, Refresh only on Button
2017-12-21 15:23:44 +01:00
Florian Märkl
f8182a9e2e
Disable only necessary Widgets in OptionsDialog
2017-12-21 12:29:58 +01:00
Florian Märkl
1462f29251
Qt<5.6 compatibility
2017-12-21 12:08:49 +01:00
Florian Märkl
fa6902d41c
Remove some unused members from CutterCore
2017-12-21 00:22:59 +01:00
Florian Märkl
aad3797159
Rename functions and flags in Raw Command, Fix #230
2017-12-20 23:50:26 +01:00
xarkes
ec2dfe83f7
Added color for import functions ( Fix #219 )
2017-12-20 16:40:46 +01:00
Florian Märkl
15a1a6bd9c
Add Quick Filter to StringsWidget #162
2017-12-19 19:56:18 +01:00
Florian Märkl
f694daac88
Decouple QuickFilterView as independent class
2017-12-19 19:38:06 +01:00
Florian Märkl
326bf70ff2
Refactor StringsWidget to use QTreeView+QAbstractListModel #183
2017-12-19 19:05:57 +01:00
Florian Märkl
2522e6a378
ToolTip for cropped lines in Graph, Fix #227
2017-12-19 17:59:39 +01:00
Florian Märkl
41430d2826
Add GraphOptionsWidget with Block Max Cols
2017-12-19 17:13:44 +01:00
Florian Märkl
46e862a3b8
Crop Line Length in Graph
2017-12-19 17:00:42 +01:00
Florian Märkl
6fa0e0d147
Page Key Navigation in Disassembly ( Fix #167 )
2017-12-17 15:11:27 +01:00
Jubal
0abcf20566
Save 'Unlock Panels' and 'Show Tabs on Top' settings ( #223 )
...
* 'Unlock Panels' and 'Show Tabs on Top' now saved to settings
* added saveSettings method and renamed doLock to panelLock
2017-12-17 14:49:03 +01:00
Florian Märkl
5ef204d3b8
Use /O for Backwards Disassembly Scrolling
2017-12-17 10:58:25 +01:00
Florian Märkl
22374096da
Set PseudocodeWidget objectName
2017-12-16 14:22:56 +01:00
Florian Märkl
4613ffa485
Cursor Key Navigation in DisassemblyContextWidget #167
2017-12-16 14:02:11 +01:00
xarkes
a3cc04fb2d
Fix #143 Button focus
2017-12-15 17:20:25 +01:00
xarkes
d92f016ead
Fix #133 (r2 -V tab in AboutDialog)
2017-12-15 17:09:04 +01:00
Properrr
4330b7ddaa
Implemented syntax highlighter ( #220 )
...
* Implemented syntaxHighLighter
* removed PseudoWidget.ui
* buildfix
* reverted r2-submodule
* Added nowrap to the pseudocodeWidget
* changed color of functions in the pseudocode highlighter
2017-12-15 10:52:47 +00:00
Thomas (nezza-_-) Roth
f59e5bbc01
GraphView: Change default vertical margin to 20. ( #218 )
2017-12-14 23:06:34 +01:00
Thomas (nezza-_-) Roth
7b3c2fe7b1
FunctionsWidget: Add undefine function action. ( #217 )
2017-12-14 22:54:57 +01:00
Thomas (nezza-_-) Roth
ce2557ccbe
GraphView fixes ( #214 )
2017-12-14 22:07:48 +01:00
Florian Märkl
273c87eaba
Remove Theme Selection from Menu
...
now in PreferencesDialog
2017-12-14 21:06:14 +01:00
don1001
579ad54757
Fix memory leak
2017-12-14 20:55:24 +01:00
Florian Märkl
0ca6fc6b29
Fix Warnings
2017-12-14 20:51:24 +01:00
Florian Märkl
c42b566a4c
Move general options from AsmOptionsWidget to new GeneralOptionsWidget
2017-12-14 16:14:33 +01:00
Florian Märkl
94750ea15b
Add PreferencesDialog and embed AsmOptions
2017-12-14 14:42:24 +01:00
Florian Märkl
911e4645d5
Change "Running since" to "Running for"
2017-12-14 14:21:17 +01:00
xarkes
33732291e7
Added <file>.r2 auto loading
2017-12-14 13:45:03 +01:00
xarkes
dcf0996293
Added graph zoom reset
2017-12-13 23:57:36 +01:00
Thomas (nezza-_-) Roth
86d467daf9
DisassemblerGraphView: lots of additions.. ( #213 )
...
* GraphView: Add refactored graphview with animations etc.
* GraphView: Use new graphview and render background color.
* DisassemblerGraphView: t/f navigation, zoom with +/-, bugfixes.
2017-12-13 22:38:46 +00:00
xarkes
d34b45ab4a
Removed CreateNewDialog
2017-12-13 17:20:58 +01:00
Florian Märkl
4213852419
Fetch disassembly with pdJ ( Fixes #177 ) ( #210 )
...
* Use pdJ for DisassemblyWidget
* Attach DisassemblyLine to QTextBlock in DisassemblyWidget
2017-12-13 15:30:00 +01:00
Florian Märkl
aafc99dcd6
Fix for Qt 5.5
2017-12-11 20:17:52 +01:00
Paul I
78c7d791cc
PseudocodeWidget: Disable line wrapping ( #209 )
2017-12-11 19:36:21 +01:00
Thomas (nezza-_-) Roth
c03f3395cd
Fix #148 : Show elapsed time of running analysis. ( #207 )
...
* Fix #148 : Show elapsed time of running analysis.
* OptionsDialog: Add missing space after elapsed hours.
* OptionsDialog: Hide elapsed label when showing the dialog.
2017-12-11 15:06:26 +01:00
Thomas (nezza-_-) Roth
134c0ebb39
DisassemblyContextMenu: Add delete flag/function/comment. ( #206 )
2017-12-11 14:07:12 +01:00
Thomas (nezza-_-) Roth
522881c569
Fix #147 : Open dialog with advanced level is too tall. ( #205 )
2017-12-11 11:35:36 +01:00
Thomas (nezza-_-) Roth
e034a010a9
Fix #136 : Add a 'Create function' right click. ( #202 )
...
* Fix #136 : Add a 'Create function' right click.
* cutter: Filter function names.
2017-12-10 21:40:15 +01:00
Thomas (nezza-_-) Roth
4a3371873a
Fixes #132 : Make File->New create a new cutter instance. ( #201 )
2017-12-10 19:14:05 +01:00
Thomas (nezza-_-) Roth
746998be71
Fixes #157 : Add support for multiline comments. ( #200 )
...
* Fix a bug that prevented comments on invalid instructions to be edited
* CommentsDialog: Support multiline comments.
* DisassemblyContextMenu: Remove base64 comment handling.
2017-12-10 19:13:37 +01:00
Thomas (nezza-_-) Roth
df02b91e69
VisualNavbar: Use maps if no sections are available. ( #199 )
2017-12-10 19:12:22 +01:00
Thomas (nezza-_-) Roth
e3e108f354
Fix #161 : Make console dockable. ( #198 )
2017-12-10 17:55:42 +01:00
Thomas (nezza-_-) Roth
8e0ca36e98
VisualNavbar: Implement scrubbing, higher resolution, fix a ton of bugs. ( #197 )
2017-12-10 00:22:16 +01:00
Will Dietz
253dae261c
Separate platform from use of APPIMAGE ( #196 )
2017-12-09 23:01:30 +01:00
Will Dietz
44493c6327
VisualNavbar: fix use of std::isnan ( #195 )
2017-12-09 23:00:29 +01:00
Thomas (nezza-_-) Roth
f36e9277fc
Rename Codegraphic to VisualNav and fix some bugs ( #192 )
...
* CodeGraphic: Use RVA_INVALID instead of 0 to indicate an invalid address.
* Rename CodeGraphic/GraphicsBar to VisualNavbar
* VisualNavbar: Fix a crash, do some cleanup, fix a resizing bug.
2017-12-08 16:00:52 +01:00
Thomas (nezza-_-) Roth
3f357fbbc3
CodeGraphic: Improve cursor rendering performance ( #191 )
...
* CodeGraphic: Improve cursor rendering performance
* GraphicsBar: Don't jump to invalid addresses
2017-12-08 13:21:24 +01:00
Thomas (nezza-_-) Roth
8e0deeb115
CodeGraphic: Small memory and performance improvements ( #190 )
2017-12-08 10:55:47 +01:00
askme765cs
79b4aefd4e
Update Configuration.cpp ( #186 )
...
fixed issue #179 Strings not visible as yellow on white
changed the color7&9 to RGB(255,130,0) to achieve a greater constract both in default theme and the dark one.
2017-12-08 00:41:42 +01:00
Thomas (nezza-_-) Roth
5c9dec657d
Fix & extend CodeGraphic. Adds symbols, strings, etc ( #187 )
...
* Fix & extend CodeGraphic. Adds symbols, strings, etc, makes it clickable and shows the current position in the file.
* Don't use designated initializer (fails on AppVeyor).
* CodeGraphic: Change color of symbols to orange for increased contrast.
2017-12-08 00:41:15 +01:00
Thomas (nezza-_-) Roth
5ce151da94
Fix #188 : Qt fails to handle long integers when decoding JSON ( #189 )
2017-12-08 00:37:48 +01:00
Will Dietz
5aedbdba71
shuffle icon names and fix icon installation
...
* don't refer to non-existant "cutter-small.png"
* icon renaming as requested:
https://github.com/radareorg/cutter/pull/180#issuecomment-349686261
* Fixes #174
References semi-automatically updated to track
renaming, hopefully caught them all.
(appears to have worked upon quick inspection)
2017-12-07 11:46:23 +01:00
Thomas (nezza-_-) Roth
8bc7213b8c
Add basic Pseudocode tab ( Fixes #142 ) ( #184 )
...
* Add basic Pseudocode tab (Fixes #142 )
* Add missing include to fix Windows build
* PseudocodeWidget: Move refreshPseudocode to slots to silence warning
2017-12-07 00:19:14 +01:00
Thomas Roth
3f05e55bbe
Fix #155 : Save project dialog doesn't handle ESC key
2017-12-06 18:02:32 +01:00
Thomas (nezza-_-) Roth
6752cd35e2
Fix style of last commit.
2017-12-06 17:35:43 +01:00
Thomas Roth
a729568a51
Allow file selection by drag & drop ( #173 )
2017-12-06 17:35:43 +01:00
xarkes
496cbcfd4d
Fix invalid close()
2017-12-06 14:46:10 +01:00
xarkes
e4fe1e180d
Fix #146
2017-12-06 13:32:35 +01:00
Matteo
4370503c98
Reduced margins on open file ( #141 )
2017-12-05 00:48:28 +01:00
xarkes
cc44246ad6
Replace wrong word ( Fix #127 )
2017-12-04 23:30:58 +01:00
Matteo
e52468243d
added about cutter at openfile dialog ( #140 )
2017-12-04 22:38:09 +01:00
Alexandre L
6c6f743f97
Add aab and hasnext in advanced analysis ( #137 ) ( #139 )
2017-12-04 22:36:02 +01:00
Florian Märkl
7c2bd975f9
Use Icon with Background on Linux
2017-12-04 16:27:37 +01:00
Florian Märkl
9f582b3b82
Update cutter.icns
2017-12-04 16:27:37 +01:00
Florian Märkl
10f46616dc
Add Icons with Background
2017-12-04 16:27:37 +01:00
Florian Märkl
572ba02a76
Do not update DisassemblyWidget at RVA_INVALID
2017-12-04 14:11:13 +01:00
Florian Märkl
af9ace7458
Select Parsing Tab by default in HexdumpWidget
2017-12-03 22:04:47 +01:00
Florian Märkl
8ca69ff5fc
Correct update after rename X used here
2017-12-03 21:59:38 +01:00
Florian Märkl
a101d3508f
Use default margins and spacing in dialogs
2017-12-03 21:59:38 +01:00
Florian Märkl
f4e7880152
Use anj for rename X used here
2017-12-03 21:59:38 +01:00
Florian Märkl
baea88d744
Add rename X used here
2017-12-03 21:59:38 +01:00
Florian Märkl
f80cf8eb03
Cleanup Nodepad
2017-12-03 21:50:32 +01:00
Florian Märkl
a7eec66110
Disable some unimplemented Context Menu Entries
2017-12-03 21:50:32 +01:00
Florian Märkl
10ce6e7e88
Fix regular Rename from DisassemblyContextMenu
2017-12-03 21:23:02 +01:00
Florian Märkl
fab611f1b0
Fix Omnibar
2017-12-03 21:07:14 +01:00