Lab1
Loading...
Searching...
No Matches
mainwindow.h
1#pragma once
2#include <QMainWindow>
3#include <memory>
4#include "note_repository.h"
5#include <QListWidgetItem>
6#include <QElapsedTimer>
7#include <QCloseEvent>
8#include <QPoint>
9
10namespace Ui { class MainWindow; }
11
20class MainWindow : public QMainWindow {
21 Q_OBJECT
22
23public:
28 explicit MainWindow(QWidget *parent = nullptr);
30
38 void updateNotesList();
39
40private slots:
41 // Слоти для кнопок
42 void on_manageSchemasButton_clicked();
43 void on_createNoteButton_clicked();
44
51 void deleteNoteLogic();
52
53 void on_searchButton_clicked();
54 void on_importNoteButton_clicked();
55 void on_settingsButton_clicked();
56
64 void on_sortComboBox_currentIndexChanged(int index);
65
66 // Слоти для взаємодії зі списком нотаток
73 void onNoteDoubleClicked(QListWidgetItem *item);
74
81 void onNotesListContextMenuRequested(const QPoint &pos);
82
83
84protected:
92 void closeEvent(QCloseEvent *event) override;
93
102 void changeEvent(QEvent *event) override;
103
104
105private:
106 Ui::MainWindow *ui;
107
112 std::unique_ptr<NoteRepository> m_repository;
113
120 QElapsedTimer m_sessionTimer;
121};
Головне вікно програми та центр управління.
Definition mainwindow.h:20
void closeEvent(QCloseEvent *event) override
Перехоплює подію закриття вікна для збереження даних.
Definition mainwindow.cpp:242
void changeEvent(QEvent *event) override
Обробник подій для динамічної зміни стану.
Definition mainwindow.cpp:233
void updateNotesList()
Оновлює список нотаток на екрані.
Definition mainwindow.cpp:60