Commit Graph

122 Commits

Author SHA1 Message Date
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
523e4b471a Fix restoring Window Layout 2018-03-11 12:41:19 +01:00
fcasal
d9592edd1b added basic search (#367)
* Added basic search
2018-03-08 13:24:15 +01:00
xarkes
1b7462327e Temp fix for seek arrows color 2018-03-08 10:11:29 +01:00
xarkes
8a73abf63f Fixed SegFault when closing LoadOptions dialog 2018-03-07 11:49:49 +01:00
fcasal
09e4bf348e Added typeswidget (#358) 2018-03-06 18:21:48 +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
13efdf86d5 Removed old Notepad 2018-03-01 16:43:27 +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
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
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
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
xarkes
3712cf1529 Added ResourcesWidget (fix #259) 2018-02-04 15:32:49 +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
xarkes
0ade622a4f Added PDB import menu (Fix #82) 2018-01-16 15:09:51 +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
a476dda5d0 Add ClassesWidget (Fix #193) 2017-12-23 17:42:42 +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
fa6902d41c Remove some unused members from CutterCore 2017-12-21 00:22:59 +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
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
94750ea15b Add PreferencesDialog and embed AsmOptions 2017-12-14 14:42:24 +01:00
xarkes
33732291e7 Added <file>.r2 auto loading 2017-12-14 13:45:03 +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
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
e3e108f354 Fix #161: Make console dockable. (#198) 2017-12-10 17:55:42 +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
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
xarkes
e4fe1e180d Fix #146 2017-12-06 13:32:35 +01:00
Florian Märkl
f80cf8eb03 Cleanup Nodepad 2017-12-03 21:50:32 +01:00
Florian Märkl
2417963329 Adjust buttons to theme (Fix #89) 2017-12-03 17:26:01 +01:00
Florian Märkl
7d9cfca2d8 Fix Reset Settings for Themes #123 2017-12-03 13:10:09 +01:00
Florian Märkl
ca3efec644 Remove PreviewWidget, Fix #114 2017-11-28 15:55:41 +01:00
Florian Märkl
157931867a Clean up MainWindow menu 2017-11-27 18:28:44 +01:00
Florian Märkl
b0137892cd Fix closing file in CutterCore::tryFile(), Fix #26 2017-11-25 14:22:13 +01:00
Florian Märkl
484b3028a3 Fix MainWindow deleting core 2017-11-25 11:20:50 +01:00
xarkes
84168cb340 Colors modifications 2017-11-20 12:46:30 +01:00
Florian Märkl
61fd2b3058 Replace DockWidget with CutterCore::refreshAll() signal 2017-11-19 14:04:25 +01:00
Florian Märkl
a8cf0cbe19 Remove obsolete actions, Move SDB Browser action to Windows menu 2017-11-18 16:06:55 +01:00
Florian Märkl
2bb6b54e01 AStyle, remove a comment 2017-11-18 16:01:06 +01:00
Florian Märkl
294eb672d7 Remove old sidebar 2017-11-18 15:57:00 +01:00
Florian Märkl
adef80e9e8 Remove cursorAddress, Fix current function display (#103) 2017-11-07 21:11:33 +08:00
Florian Märkl
46bf0761bb Dynamic Memory Widget Priority (#86)
* Memory Widget priority from last user-selected widget

* CutterCore::raisePrioritizedMemoryWidget signal

* Space shortcut to switch between Disassembly/Graph

* Set default memory widget priority to Disassembly
2017-11-04 19:46:29 +08:00
Florian Märkl
0b5a351d5f Default Layout (#84)
* Basic default layout
* Workaround to set default widths for QDockWidgets
* AStyle
2017-11-03 21:22:54 +04:00
Florian Märkl
9dc51b9801 DisassemblyWidget (#80)
* Fix scrolling down in DisassemblyWidget

* DisassemblyWidget backwards scrolling

* DisassemblyWidget with custom scrolling

* Temporarily fix HexdumpWidget resizing like crazy

* Decouple DisassemblyWidget scrolling from seek

* DisassemblyWidget resizing

* DisassemblyWidget cursor from seek position

* Seek by DisassemblyWidget click

* Better up scrolling in DisassemblyWidget

* DisassemblyWidget: do not always seek, better bottomOffset

* DisassemblyWidget: avoid flicker, retain selection over lines, fix last line selection

* Update DisassemblyWidget on comment change

* Cleanup DisassemblyWidget scrolling code
2017-11-02 10:48:32 +04:00
xarkes
4c971ef8e8 Moved theme selection in submenu 2017-10-24 10:03:05 +02:00
xarkes
d2c50a803c Added colors to DisassemblyWidget 2017-10-22 12:21:44 +02:00
Florian Märkl
c73d9a0678 Projects Management (#66)
* Add TabWidget to NewFileDialog
* Project loading from NewFileDialog
* Projects dir in NewFileDialog
* Add SaveProjectDialog
* Make SaveProjectDialog work, refactor project saving and Notepad
* Add shortcut for Save
* Fix notes loading
* Sort projects in NewFileDialog
* Implement selecting projects dir in SaveProjectDialog
* Fix QAbstractButton include
2017-10-21 21:20:10 +02:00
Florian Märkl
69c86b0473 Set objectName for Graph Widget (#65)
* Set objectName for Graph Widget
2017-10-20 18:02:35 +02:00
xarkes
5e2223978d Shortcuts fixes 2017-10-16 21:00:47 +02:00
Florian Märkl
ff080c1d3c Remove QtWebEngine (Fix #60)
* Remove QML QtWebEngine dependency

* Remove Web graphs from Dashboard

* Remove web graphs from SidebarWidget

* Remove web mini graph from PreviewWidget

* Remove all remaining html and QtWebEngine dependencies

* Update docs/Compiling-with-CMake.md after QtWebEngine removal

* Remove QtWebEngine from Travis
2017-10-15 13:40:20 +02:00
xarkes
48e9767a66 Removed RadareWebServer (useless) 2017-10-14 11:45:11 +02:00
xarkes
e54b0ee106 Updated Configuration model + Added Font selection 2017-10-14 11:35:49 +02:00
xarkes
84d63ef363 Code cleaning 2017-10-13 15:56:47 +02:00
Florian Märkl
12e64cf052 Breakup MemoryWidget (#51)
* Add SidebarWidget from disassembly sidebar

* Remove disassembly sidebar from MemoryWidget

* Add HexdumpWidget from MemoryWidget

* Remove Hexdump from MemoryWidget

* Make PreviewWidget from MemoryWidget

* Some cleanup

* Rename DisassemblyView to DisasseblyWidget
2017-10-13 15:56:47 +02:00
xarkes
b4867cadef Moved disassembly view to its own class 2017-10-13 15:56:47 +02:00
xarkes
3c9e3be550 Fix segfault 2017-10-12 14:03:09 +02:00
xarkes
df3e9c2efa Tiny fix 2017-10-11 23:57:06 +02:00
xarkes
d53fd621c5 Moved graph from MemoryWidget to MainWindow
(Broke other dock windows -- not refreshed)
2017-10-11 13:22:30 +02:00
xarkes
a70001bf59 Merged disassembly and graph right click 2017-10-10 12:17:05 +02:00
xarkes
93195999d8 Made CutterCore singleton 2017-10-09 20:09:35 +02:00
xarkes
925eb15c9b Some refactoring 2017-10-03 20:38:34 +02:00
Tim Siebels
bafad96bf3 Camel Case all the files (#32)
fixes #30
2017-10-02 18:18:40 +02:00
Tim Siebels
b8bd62efe2 Use unique_ptr for ui objects (#31) 2017-10-02 11:41:28 +02:00
xarkes
83608be332 Renamed files to CamelCase 2017-10-01 21:16:38 +02:00