mirror of
https://gitee.com/vnotex/vnote.git
synced 2025-07-05 13:59:52 +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>
55 lines
1.4 KiB
C++
55 lines
1.4 KiB
C++
#ifndef NEWNOTEDIALOG_H
|
|
#define NEWNOTEDIALOG_H
|
|
|
|
#include "scrolldialog.h"
|
|
|
|
namespace vnotex
|
|
{
|
|
class Notebook;
|
|
class Node;
|
|
class NodeInfoWidget;
|
|
class NoteTemplateSelector;
|
|
|
|
class NewNoteDialog : public ScrollDialog
|
|
{
|
|
Q_OBJECT
|
|
public:
|
|
// New a note under @p_node.
|
|
NewNoteDialog(Node *p_node, QWidget *p_parent = nullptr);
|
|
|
|
const QSharedPointer<Node> &getNewNode() const;
|
|
|
|
static QSharedPointer<Node> newNote(Notebook *p_notebook,
|
|
Node *p_parentNode,
|
|
const QString &p_name,
|
|
const QString &p_templateContent,
|
|
QString &p_errMsg);
|
|
|
|
protected:
|
|
void acceptedButtonClicked() Q_DECL_OVERRIDE;
|
|
|
|
private:
|
|
void setupUI(const Node *p_node);
|
|
|
|
void setupNodeInfoWidget(const Node *p_node, QWidget *p_parent);
|
|
|
|
bool validateInputs();
|
|
|
|
bool validateNameInput(QString &p_msg);
|
|
|
|
void initDefaultValues(const Node *p_node);
|
|
|
|
static QString evaluateTemplateContent(const QString &p_content, const QString &p_name);
|
|
|
|
NodeInfoWidget *m_infoWidget = nullptr;
|
|
|
|
NoteTemplateSelector *m_templateSelector = nullptr;
|
|
|
|
QSharedPointer<Node> m_newNode;
|
|
|
|
static QString s_lastTemplate;
|
|
};
|
|
} // ns vnotex
|
|
|
|
#endif // NEWNOTEDIALOG_H
|