Pith - wedge_linux
wedge_linux/NoteWindow.h [1.8 kb]
Modified: 06:16:07 91 026 (18 Jun 026)
6 Days Ago
#ifndef NOTEWINDOW_H
#define NOTEWINDOW_H

#include <QWidget>
#include <QTextEdit>
#include <QPushButton>
#include <QJSEngine>
#include <QCloseEvent>
#include <QSyntaxHighlighter>
#include <QTextCharFormat>
#include <QRegularExpression>
#include "ConfigManager.h"
#include "NetworkManager.h"

class WedgeHighlighter : public QSyntaxHighlighter {
public:
    WedgeHighlighter(QTextDocument *parent, const QColor &focusColor, const QColor &highlightColor)
        : QSyntaxHighlighter(parent), m_focusColor(focusColor), m_highlightColor(highlightColor) {}
        
    void setColors(const QColor &focusColor, const QColor &highlightColor) {
        m_focusColor = focusColor;
        m_highlightColor = highlightColor;
        rehighlight();
    }

protected:
    void highlightBlock(const QString &text) override;

private:
    QColor m_focusColor;
    QColor m_highlightColor;
};

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 updateAppearance();

private:
    void setupUi();
    void loadData();
    void handleIncomingContent(const QString &content);
    bool handleCalculation(int key);
    void refreshDates();
    QString refreshAlarms(const QString &content);
    QString getOtcDateResult(int day, QString mon);

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

#endif
Updates
OTC Applet - Linux 93.026.1
Wedge - Linux 90.026.1
Wedge - Android 90.026.1
Shim - Android 86.026.1
Kerf - Android 86.026.4
Dev
TVShow (227) 'CSA'
TVShow (228) 'APT'
TVProgram (83) 'BXT'
Miter Update(s)
Peen (Messaging)

Menu
Calendar
Project Tin (024/029)
Miter
RSS Feed