diff options
Diffstat (limited to 'ui/typedialog.h')
| -rw-r--r-- | ui/typedialog.h | 35 |
1 files changed, 2 insertions, 33 deletions
diff --git a/ui/typedialog.h b/ui/typedialog.h index 690b1650..77e599e9 100644 --- a/ui/typedialog.h +++ b/ui/typedialog.h @@ -5,16 +5,13 @@ #include <QtCore/QStringListModel> #include <QtWidgets/QComboBox> #include <QtCore/QTimer> -#ifndef BINARYNINJAUI_BINDINGS - #include <QtCore/QThread> -#endif #include "binaryninjaapi.h" #include "uitypes.h" +#include "typecompletioncombobox.h" #ifdef BINARYNINJAUI_BINDINGS // QThread has issues working in the bindings on some platforms -class GetTypesListThread; class ParseTypeThread; #else @@ -24,30 +21,6 @@ class ParseTypeThread; \ingroup uiapi */ -/*! - - \ingroup typedialog -*/ -class BINARYNINJAUIAPI GetTypesListThread : public QThread -{ - Q_OBJECT - - QStringList m_allTypes; - std::function<void()> m_completeFunc; - std::mutex m_mutex; - bool m_done; - BinaryNinja::TypeContainer m_typeContainer; - - protected: - virtual void run() override; - - public: - GetTypesListThread(BinaryNinja::TypeContainer typeContainer, const std::function<void()>& completeFunc); - void cancel(); - - const QStringList& getTypes() const { return m_allTypes; } -}; - Q_DECLARE_METATYPE(BinaryNinja::QualifiedNameAndType); /*! QThread subclass for handling type string parsing to avoid UI interruptions. @@ -80,16 +53,13 @@ class BINARYNINJAUIAPI TypeDialog : public QDialog { Q_OBJECT - QComboBox* m_combo; + TypeCompletionComboBox* m_combo; QStringListModel* m_model; QLabel* m_prompt; QString m_promptText; std::optional<BinaryNinja::TypeContainer> m_typeContainer; bool m_resultValid = true; bool m_resolved = false; - QStringList m_historyEntries; - int m_historySize; - GetTypesListThread* m_updateThread = nullptr; BinaryNinja::QualifiedNameAndType m_type; QPushButton* m_acceptButton; QTimer* m_updateTimer; @@ -99,7 +69,6 @@ class BINARYNINJAUIAPI TypeDialog : public QDialog QString m_parseError; void commitHistory(); - void customEvent(QEvent* event); void saveLocation(); void reject(); void accept(); |
