#ifndef NOTEWINDOW_H
#define NOTEWINDOW_H
#include <QWidget>
#include <QTextEdit>
#include <QPushButton>
#include <QJSEngine>
#include <QCloseEvent>
#include "WedgeConfig.h"
#include "WedgeNetwork.h"
#include "WedgeHighlighter.h"
class NoteWindow : public QWidget {
Q_OBJECT
public:
explicit NoteWindow(QWidget *parent = nullptr);
protected:
void mousePressEvent(QMouseEvent *event) override;
void mouseMoveEvent(QMouseEvent *event) override;
void resizeEvent(QResizeEvent *event) override;
void closeEvent(QCloseEvent *event) override;
bool eventFilter(QObject *obj, QEvent *event) override;
private slots:
void openSettings();
void openDataWindow();
void updateAppearance();
private:
void setupUi();
void loadData();
void handleIncomingContent(const QString &content);
bool handleCalculation(int key);
void refreshDates();
void insertNextDayHeader();
void sortSelection();
QString refreshAlarms(const QString &content);
QTextEdit *editor;
QPushButton *topBtn;
QPushButton *dataBtn;
QPushButton *settingsBtn;
NoteData currentData;
QPoint dragPosition;
QJSEngine mathEngine;
WedgeHighlighter *highlighter;
NetworkManager *networkManager;
bool isInitialized = false;
};
#endif