Textractor/GUI/extenwindow.h

39 lines
1.0 KiB
C
Raw Normal View History

2018-12-01 19:12:45 -05:00
#pragma once
#include "qtcommon.h"
namespace Ui
{
class ExtenWindow;
}
2019-02-09 00:30:38 -05:00
struct InfoForExtension
{
const char* name;
int64_t value;
};
2019-09-04 12:29:48 -04:00
bool DispatchSentenceToExtensions(std::wstring& sentence, const InfoForExtension* sentenceInfo);
2019-06-21 01:29:48 -04:00
void CleanupExtensions(); // must call this before exiting the program, only way to uphold guarantee that DllMain and OnNewSentence won't be called concurrently
class ExtenWindow : public QMainWindow
{
public:
explicit ExtenWindow(QWidget* parent = nullptr);
~ExtenWindow();
private:
2019-02-18 23:12:12 -05:00
inline static constexpr auto EXTEN_SAVE_FILE = u8"SavedExtensions.txt";
void Add(QFileInfo extenFile);
void Sync();
2018-12-21 09:34:01 -05:00
bool eventFilter(QObject* target, QEvent* event) override;
void keyPressEvent(QKeyEvent* event) override;
2018-12-21 09:34:01 -05:00
void dragEnterEvent(QDragEnterEvent* event) override;
void dropEvent(QDropEvent* event) override;
Ui::ExtenWindow* ui;
};
2019-06-29 08:46:31 +05:30
inline HMODULE LoadLibraryOnce(std::wstring fileName) { if (HMODULE module = GetModuleHandleW(fileName.c_str())) return module; return LoadLibraryW(fileName.c_str()); }