veditsnippetdialog.h 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. #ifndef VEDITSNIPPETDIALOG_H
  2. #define VEDITSNIPPETDIALOG_H
  3. #include <QDialog>
  4. #include <QVector>
  5. #include "vsnippet.h"
  6. class VLineEdit;
  7. class QLineEdit;
  8. class QLabel;
  9. class QDialogButtonBox;
  10. class QComboBox;
  11. class QTextEdit;
  12. class QCheckBox;
  13. class VEditSnippetDialog : public QDialog
  14. {
  15. Q_OBJECT
  16. public:
  17. VEditSnippetDialog(const QString &p_title,
  18. const QString &p_info,
  19. const QVector<VSnippet> &p_snippets,
  20. const VSnippet &p_snippet,
  21. QWidget *p_parent = nullptr);
  22. QString getNameInput() const;
  23. VSnippet::Type getTypeInput() const;
  24. QString getCursorMarkInput() const;
  25. QString getSelectionMarkInput() const;
  26. QString getContentInput() const;
  27. QChar getShortcutInput() const;
  28. bool getAutoIndentInput() const;
  29. private slots:
  30. void handleInputChanged();
  31. private:
  32. void setupUI(const QString &p_title, const QString &p_info);
  33. void setContentEditByType();
  34. QString getContentEditByType() const;
  35. QVector<QChar> getAvailableShortcuts() const;
  36. VLineEdit *m_nameEdit;
  37. QComboBox *m_typeCB;
  38. QComboBox *m_shortcutCB;
  39. QLineEdit *m_cursorMarkEdit;
  40. QLineEdit *m_selectionMarkEdit;
  41. QCheckBox *m_autoIndentCB;
  42. QTextEdit *m_contentEdit;
  43. QLabel *m_warnLabel;
  44. QDialogButtonBox *m_btnBox;
  45. const QVector<VSnippet> &m_snippets;
  46. const VSnippet &m_snippet;
  47. };
  48. #endif // VEDITSNIPPETDIALOG_H