summaryrefslogtreecommitdiff
path: root/ui/typedialog.h
diff options
context:
space:
mode:
Diffstat (limited to 'ui/typedialog.h')
-rw-r--r--ui/typedialog.h35
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();