vnote/src/widgets/dialogs/newnotedialog.h
Le Tan 52702a32e9 hard days for VNoteX project
Never say "refactor" again!!!
2020-11-28 23:10:43 +08:00

47 lines
947 B
C++

#ifndef NEWNOTEDIALOG_H
#define NEWNOTEDIALOG_H
#include "scrolldialog.h"
namespace vnotex
{
class Notebook;
class Node;
class NodeInfoWidget;
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;
protected:
void acceptedButtonClicked() Q_DECL_OVERRIDE;
private slots:
void validateInputs();
private:
void setupUI(const Node *p_node);
void setupNodeInfoWidget(const Node *p_node, QWidget *p_parent);
bool validateNameInput(QString &p_msg);
bool newNote();
void initDefaultValues();
NodeInfoWidget *m_infoWidget = nullptr;
QSharedPointer<Node> m_newNode;
static const QString c_defaultNoteName;
};
} // ns vnotex
#endif // NEWNOTEDIALOG_H