GpgFrontend Project
A Free, Powerful, Easy-to-Use, Compact, Cross-Platform, and Installation-Free OpenPGP(pgp) Crypto Tool.
TextEdit.h
1 
29 #ifndef __TEXTEDIT_H__
30 #define __TEXTEDIT_H__
31 
32 #include "ui/dialog/QuitDialog.h"
33 #include "ui/widgets/FilePage.h"
34 #include "ui/widgets/HelpPage.h"
35 #include "ui/widgets/PlainTextEditorPage.h"
36 
37 namespace GpgFrontend::UI {
41 class TextEdit : public QWidget {
42  Q_OBJECT
43  public:
47  TextEdit(QWidget* parent);
48 
55  void LoadFile(const QString& fileName);
56 
64  bool MaybeSaveAnyTab();
65 
71  [[nodiscard]] int TabCount() const;
72 
78  [[nodiscard]] PlainTextEditorPage* CurTextPage() const;
79 
85  [[nodiscard]] FilePage* CurFilePage() const;
86 
91  [[nodiscard]] QHash<int, QString> UnsavedDocuments() const;
92 
93  QTabWidget* tab_widget_;
95  public slots:
96 
102 
108 
112  void SlotQuote() const;
113 
118  void SlotFillTextEditWithText(const QString& text) const;
119 
124  void SlotSave();
125 
132  bool SlotSaveAs();
133 
139  void SlotOpen();
140 
144  void SlotPrint();
145 
151  void SlotNewTab();
152 
157  void SlotNewTabWithContent(std::string title, const std::string& content);
158 
162  void SlotOpenFile(const QString& path);
163 
170  void slotNewHelpTab(const QString& title, const QString& path) const;
171 
175  void SlotNewFileTab() const;
176 
181  void SlotShowModified(bool) const;
182 
187  void SlotCloseTab();
188 
193  void SlotSwitchTabUp() const;
194 
199  void SlotSwitchTabDown() const;
200 
201  private:
202  uint text_page_data_modified_count_ = 0;
203 
210  static QString stripped_name(const QString& full_file_name);
211 
217  bool maybe_save_current_tab(bool askToSave);
218 
220 
221  private slots:
222 
223  void slot_file_page_path_changed(const QString& path) const;
224 
230  void slot_remove_tab(int index);
231 
238 
239  public slots:
240 
244  void SlotCut() const;
245 
249  void SlotCopy() const;
250 
254  void SlotPaste() const;
255 
260  void SlotUndo() const;
261 
266  void SlotRedo() const;
267 
272  void SlotZoomIn() const;
273 
278  void SlotZoomOut() const;
279 
284  void SlotSelectAll() const;
285 
286  protected:
292  bool save_file(const QString& fileName);
293 };
294 
295 } // namespace GpgFrontend::UI
296 
297 #endif // __TEXTEDIT_H__
Definition: FilePage.h:43
Class for handling a single tab of the tabwidget.
Definition: PlainTextEditorPage.h:45
TextEdit class.
Definition: TextEdit.h:41
bool SlotSaveAs()
Definition: TextEdit.cpp:231
int TabCount() const
Definition: TextEdit.cpp:402
void slot_remove_tab(int index)
Definition: TextEdit.cpp:255
void SlotOpen()
Definition: TextEdit.cpp:150
void slot_save_status_to_cache_for_revovery()
Definition: TextEdit.cpp:631
void SlotCopy() const
Definition: TextEdit.cpp:557
void slotNewHelpTab(const QString &title, const QString &path) const
Definition: TextEdit.cpp:103
bool MaybeSaveAnyTab()
Definition: TextEdit.cpp:334
PlainTextEditorPage * SlotCurPageTextEdit() const
Definition: TextEdit.cpp:404
void SlotUndo() const
Definition: TextEdit.cpp:575
void SlotSwitchTabDown() const
Definition: TextEdit.cpp:519
void SlotNewTab()
Definition: TextEdit.cpp:62
void SlotOpenFile(const QString &path)
Definition: TextEdit.cpp:119
bool save_file(const QString &fileName)
Saves the content of currentTab to the file filename.
Definition: TextEdit.cpp:176
void SlotQuote() const
Definition: TextEdit.cpp:415
void SlotSelectAll() const
select all in current text page
Definition: TextEdit.cpp:611
FilePage * SlotCurPageFileTreeView() const
Definition: TextEdit.cpp:410
void LoadFile(const QString &fileName)
Definition: TextEdit.cpp:445
int count_page_
int containing the number of added tabs
Definition: TextEdit.h:219
PlainTextEditorPage * CurTextPage() const
Definition: TextEdit.cpp:389
QHash< int, QString > UnsavedDocuments() const
Definition: TextEdit.cpp:530
bool maybe_save_current_tab(bool askToSave)
Definition: TextEdit.cpp:288
void SlotCloseTab()
Definition: TextEdit.cpp:248
void SlotPaste() const
Definition: TextEdit.cpp:567
FilePage * CurFilePage() const
Definition: TextEdit.cpp:393
void SlotShowModified(bool) const
Definition: TextEdit.cpp:492
void SlotSave()
Definition: TextEdit.cpp:160
void SlotPrint()
Definition: TextEdit.cpp:470
void SlotCut() const
Definition: TextEdit.cpp:549
void SlotNewFileTab() const
Definition: TextEdit.cpp:109
void SlotRedo() const
redo last change in current text page
Definition: TextEdit.cpp:583
void SlotSwitchTabUp() const
Definition: TextEdit.cpp:512
void SlotFillTextEditWithText(const QString &text) const
Definition: TextEdit.cpp:437
static QString stripped_name(const QString &full_file_name)
Definition: TextEdit.cpp:466
Definition: FileReadTask.cpp:29