Pith - wedge
#ifndef NOTEWINDOW_H
#define NOTEWINDOW_H

#include <QWidget>
#include <QTextEdit>
#include <QPushButton>
#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 openSyncWindow();
	void toggleEncryption();
	void closeApplication();
	void updateAppearance();

private:
	void setupUi();
	void loadData();
	void applyToolbarIcons();
	void updateCryptoState();
	void handleIncomingContent(const QString &content);
	void autoMergeTick();
	bool archiveFirst();
	void setEditorContent(const QString &text);
	bool handleCalculation(int key);
	void refreshDates();
	void insertNextDayHeader();
	void sortSelection();
	void moveLines(bool up);
	QString refreshAlarms(const QString &content);

	QTextEdit *editor;
	QPushButton *topBtn;
	QPushButton *cryptoBtn;
	QPushButton *syncBtn;
	QPushButton *settingsBtn;
	QPushButton *closeBtn;
	NoteData currentData;
	QPoint dragPosition;
	WedgeHighlighter *highlighter;
	NetworkManager *networkManager;
	bool isInitialized = false;
};

#endif