Commit Graph

54 Commits

Author SHA1 Message Date
Semnodime
54cd0f1a42
Fix fo/fortune command in python sample (#3076, Fix #3075) 2023-01-11 10:39:43 +01:00
billow
7a83001a06
convert ?E to API (#3025) 2022-08-18 06:52:50 +08:00
Kārlis Seņko
39bf5c6429 Don't try to load files with wrong extension as native plugins. #2626 2022-08-11 20:47:49 +03:00
Giovanni
90608117c9
Yara plugin + fix linuxdeployqt plugins (#2924) 2022-06-08 07:18:43 +08:00
Florian Märkl
62d75c9391
Extend cmake config files with deps, version, etc. (#2916)
This improves how the installed CutterConfig.cmake can be used for
native plugin development:
* Transitive dependencies are resolved automatically
* Version file is included
* Cutter_USER_PLUGINDIR is set to a path that plugins can use as a
  default install destination

src/plugins/sample-cpp/CMakeLists.txt is an example for how to use it.
Rizin was also updated to prevent an error with multiple
`find_package()` calls.
2022-03-31 12:49:37 +02:00
Kārlis Seņko
8c659feb43 Fix path when building appimage, caused by #2574 2021-04-10 10:14:35 +02:00
Florian Märkl
b0cef7e634 Change Executable to Lowercase and use re.rizin.cutter everywhere 2021-01-25 22:09:19 +01:00
ITAYC0HEN
48ae2150a9 Apply clang-format 2021-01-24 18:34:16 +02:00
Anton Kochkov
70cef2c1af
More R2/Radare -> Rizin renames (#2516) 2020-12-16 11:59:23 +01:00
Florian Märkl
7541c8910d
Update Rizin 2020-12-08 10:46:30 +01:00
Florian Märkl
2b8ac6ecf7
Port to Rizin 2020-12-07 09:17:56 +01:00
karliss
48192d799a
Get rid of circular include between Cutter.h and CutterPlugin.h (#2390) 2020-08-14 21:30:51 +03:00
karliss
7c9c7e6fe4
Add symbol exports. (#2345)
* Add symbol exports required for external native plugins to work on Windows
* Make Linux build behave more like Windows so that missing export
annotations can be more easily detected.
2020-08-01 17:14:30 +03:00
karliss
76773eadd6
Reduce amount of warnings (#2233)
* Deal with QT depracated warnings
2020-06-06 19:02:24 +03:00
karliss
3545f059f1
Rewrite layout management code (#2172)
* Use QDockWidget::toggleViewAction instead of custom solution.
* Improve new dock placement.
2020-05-22 14:49:34 +03:00
Florian Märkl
fab5f901f9
Fix Sample C++ Plugin (#2182) 2020-05-07 11:32:21 +02:00
karliss
6135fc7024
Add option for not loading plugins (#2160)
* Separate commandline parsing from rest of logic.
* Add options for not loading plugins.
2020-04-21 00:22:10 +03:00
itayc0hen
34e2cdf960 Use cmdRaw and cmdRawAt in DisassemblyContextMenu 2020-03-25 19:12:18 +02:00
karliss
1ae78655fa
Simplify and move Plugin context menu gui code out of core. (#2039) 2020-01-31 11:13:28 +01:00
karliss
55017f6ba0 Replace hardcoded system plugin directories with list from Qt. (#1814) 2019-12-12 08:35:25 +01:00
Florian Märkl
1d68115c93
Print Native Plugin Load Error (#1824) 2019-10-09 12:17:24 +02:00
Florian Märkl
33d97ee16a Bundle r2ghidra-dec 2019-09-06 08:40:20 +02:00
Florian Märkl
26dce4c7b9 Add Plugin Interface for Decompilers 2019-07-17 09:08:26 +02:00
Florian Märkl
65b5f78a59
Fix Bindings of Signals (Fix #1482) (#1530) 2019-05-13 13:55:02 +02:00
Paul I
b701d5a9ad Load plugins from app dir on Windows (#1408) 2019-04-04 10:58:36 +02:00
Florian Märkl
894a79b0cc
Add CutterPlugin::terminate() (#1372) 2019-03-23 12:23:31 +01:00
Paul I
40452c9826
Some micro optimizations (#1346) 2019-03-23 13:54:34 +03:00
Florian Märkl
31a832c34d Add PluginManager::getPluginsDirectory() 2019-03-11 11:55:02 +01:00
Florian Märkl
7a77eeee06 Fix NewFileDialog leaking MainWindow
This also fixes segfaults on quitting when using plugins
2019-03-11 10:42:22 +01:00
Florian Märkl
d4a6b031ff Use only cutter module in sample plugin 2019-03-09 14:07:20 +01:00
Florian Märkl
732f2d8cde
Use cutter-deps on macOS (#1238)
* Update deps scripts for macOS

* Update deps

* Update appbundle_embed_python.sh

* Use cutter-deps for macOS

* Remove qt from Brewfile

* Fix .travis.yml

* Disable Homebrew update

* Fix llvm for macOS

* Fix regex in update_deps.py

* Fix PYTHON_FRAMEWORK_DIR

* Some debug output in travis

* Enable Python Bindings for cmake on macOS

* QMake debug

* Update deps

* Hopefully fix pkg-config

* QMake hack for shiboken2 and pyside2

* Deploy on deps-test

* Update deps

* Fix call to appbundle_embed_python.sh

* Update deps

* Fix Python for cmake on macOS

* Update deps

* Fix appbundle_embed_python.sh

* Copy pyside libs in appbundle_embed_python.sh

* Fix includes for CMake on macOS

* Copy PySide2 and Shiboke2 libs to Frameworks dir

* Manually deploy QtDBus and QtPrintSupport

* Print plugins dir

* Fix appbundle_embed_python.sh

* Update deps

* Remove some debug output

* Use last release of linuxdeployqt
2019-03-09 00:01:24 +01:00
xarkes
003d0d3c26
Modified documentation format (#1240) 2019-03-06 21:30:39 +01:00
xarkes
ab27e09b91 Splitted Cutter.h and moved everything in core (#1201)
Sometimes it is not necessary to include the whole Cutter.h file
Hence, it's been splitted so you can include only what you require
E.g. #include "core/CutterCommon.h" to have access to the common types
2019-02-22 17:50:45 +01:00
Florian Märkl
acca40b978 Include and meson fixes
Fix QDir include in PythonManager

Fix cassert include

Fix assert include in PluginManager.cpp
2019-02-21 22:57:26 +01:00
Florian Märkl
f945ebf9ae Add enable_python option to meson 2019-02-21 22:57:26 +01:00
Florian Märkl
2be8ec8456 Generate Bindings in QMake
Fix typesystem-paths
2019-02-21 22:57:26 +01:00
xarkes
436842222e Modified some APIs for more consistence
Correct null check after create_cutter_plugin()

Fix cutter.core()
2019-02-21 22:57:26 +01:00
Florian Märkl
40274e4bf4 Kill CutterPythonPlugin and use Bindings instead
Simplify CutterPlugin Interface

Pull Python Plugin Metadata from class vars

Also kill cutter_plugin.py

Fix Python Plugin Module Loading
2019-02-21 22:57:26 +01:00
Florian Märkl
d544bbed77 Create Plugins dir automatically 2019-02-21 22:57:26 +01:00
Florian Märkl
ea6dea3cc1 Load Plugins from QStandardPaths::AppDataLocation 2019-02-21 22:57:26 +01:00
Florian Märkl
986041380c Add PluginManager 2019-02-21 22:57:26 +01:00
Florian Märkl
280e10d154 Subclass CutterDockWidget in Python Plugin
Refactor CutterPlugin::setupInterface() and fix C++ sample
2019-02-21 22:57:26 +01:00
Florian Märkl
23115d7b1c Generate Bindings for CutterCore in CMake
Refactor CMakeLists.txt for bindings

Fix for CUTTER_ENABLE_JUPYTER=OFF
2019-02-21 22:57:26 +01:00
Florian Märkl
1c98a1c42e Partially fix shutting down Python 2019-02-21 22:57:26 +01:00
xarkes
da3e1fad29 Cleaned a bit and added a widget example 2019-02-21 22:57:26 +01:00
Florian Märkl
b9c859bc0c Get Python Plugin Metadata 2019-02-21 22:57:26 +01:00
Florian Märkl
1f3315d020 Find MainWindow in Python
Return Pointer from setupInterface() in Python Plugin

Load plugins before creating MainWindow
2019-02-21 22:57:26 +01:00
Florian Märkl
7798021f03 Print Python Errors from setupPlugin() and setupInterface() 2019-02-21 22:57:26 +01:00
xarkes
73c40da3f9 PyDecref python plugin instance, Cleanup 2019-02-21 22:57:26 +01:00
xarkes
650823409d Test setupInterface 2019-02-21 22:57:26 +01:00