mirror of
https://gitee.com/vnotex/vnote.git
synced 2025-07-05 05:49:53 +08:00

* feature_quick_create_note * adj name and complete quick create * del unused * del unused * adj name * adj to const * adj name 2 * adj * fix --------- Co-authored-by: Le Tan <tamlokveer@gmail.com>
105 lines
2.1 KiB
C++
105 lines
2.1 KiB
C++
#ifndef NOTEBOOKEXPLORER_H
|
|
#define NOTEBOOKEXPLORER_H
|
|
|
|
#include <QFrame>
|
|
#include <QSharedPointer>
|
|
|
|
#include <core/global.h>
|
|
|
|
#include "notebookexplorersession.h"
|
|
|
|
class QMenu;
|
|
|
|
namespace vnotex
|
|
{
|
|
class Notebook;
|
|
class TitleBar;
|
|
class NotebookSelector;
|
|
class NotebookNodeExplorer;
|
|
class Node;
|
|
|
|
class NotebookExplorer : public QFrame
|
|
{
|
|
Q_OBJECT
|
|
public:
|
|
explicit NotebookExplorer(QWidget *p_parent = nullptr);
|
|
|
|
const QSharedPointer<Notebook> ¤tNotebook() const;
|
|
|
|
Node *currentExploredFolderNode() const;
|
|
|
|
Node *currentExploredNode() const;
|
|
|
|
QByteArray saveState() const;
|
|
|
|
void restoreState(const QByteArray &p_data);
|
|
|
|
public slots:
|
|
void newNotebook();
|
|
|
|
void newNotebookFromFolder();
|
|
|
|
void importNotebook();
|
|
|
|
void loadNotebooks();
|
|
|
|
void reloadNotebook(const Notebook *p_notebook);
|
|
|
|
void setCurrentNotebook(const QSharedPointer<Notebook> &p_notebook);
|
|
|
|
void newFolder();
|
|
|
|
void newNote();
|
|
|
|
void newQuickNote();
|
|
|
|
void importFile();
|
|
|
|
void importFolder();
|
|
|
|
void importLegacyNotebook();
|
|
|
|
void locateNode(Node *p_node);
|
|
|
|
void manageNotebooks();
|
|
|
|
signals:
|
|
void notebookActivated(ID p_notebookId);
|
|
|
|
private:
|
|
void setupUI();
|
|
|
|
TitleBar *setupTitleBar(QWidget *p_parent = nullptr);
|
|
|
|
Node *checkNotebookAndGetCurrentExploredFolderNode() const;
|
|
|
|
void setupViewMenu(QMenu *p_menu, bool p_isNotebookView);
|
|
|
|
void setupRecycleBinMenu(QMenu *p_menu);
|
|
|
|
void setupExploreModeMenu(TitleBar *p_titleBar);
|
|
|
|
void saveSession();
|
|
|
|
void loadSession();
|
|
|
|
void updateSession();
|
|
|
|
void recoverSession();
|
|
|
|
void rebuildDatabase();
|
|
|
|
NotebookSelector *m_selector = nullptr;
|
|
|
|
NotebookNodeExplorer *m_nodeExplorer = nullptr;
|
|
|
|
QSharedPointer<Notebook> m_currentNotebook;
|
|
|
|
NotebookExplorerSession m_session;
|
|
|
|
bool m_sessionLoaded = false;
|
|
};
|
|
} // ns vnotex
|
|
|
|
#endif // NOTEBOOKEXPLORER_H
|