forked from baumgarr/nixnote2
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathnwebview.h
119 lines (102 loc) · 3.63 KB
/
nwebview.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
/*********************************************************************************
NixNote - An open-source client for the Evernote service.
Copyright (C) 2013 Randy Baumgarte
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
***********************************************************************************/
#ifndef NWEBVIEW_H
#define NWEBVIEW_H
#include <QWebView>
#include <gui/nwebpage.h>
#include <QShortcut>
#include <QMenu>
#include <QNetworkRequest>
#include <QAction>
#include <QSignalMapper>
#include "gui/nbrowserwindow.h"
#include "gui/browserWidgets/ntitleeditor.h"
class NBrowserWindow;
//****************************************************
//* This inherits everything from QWebView. It is
//* useful to allow us to setup things that are
//* needed to view & edit notes.
//****************************************************
class NWebView : public QWebView
{
Q_OBJECT
private:
QAction *setupColorMenuOption(QString color);
void setupShortcut(QAction *action, QString text);
QSignalMapper *backgroundColorMapper;
public:
explicit NWebView(NBrowserWindow *parent = 0);
NBrowserWindow *parent;
NTitleEditor *titleEditor;
QString pasteSequence;
QString pasteUnformattedSequence;
QString fileSaveSequence;
QMenu *contextMenu;
QMenu *tableMenu;
QMenu *imageMenu;
QAction *cutAction;
QAction *copyAction;
QAction *pasteAction;
QAction *removeFormattingAction;
QAction *insertDateTimeAction;
QAction *pasteWithoutFormatAction;
QAction *todoAction;
QAction *encryptAction;
QAction *downloadAttachmentAction();
QAction *downloadImageAction();
QAction *rotateImageRightAction;
QAction *rotateImageLeftAction;
QAction *insertLinkAction;
QAction *removeLinkAction;
QAction *insertLatexAction;
QAction *attachFileAction;
QAction *insertTableAction;
QAction *insertTableRowAction;
QAction *tablePropertiesAction;
QAction *insertTableColumnAction;
QAction *deleteTableColumnAction;
QAction *deleteTableRowAction;
QAction *openAction;
QAction *insertQuickLinkAction;
QAction *insertHtmlEntitiesAction;
QAction *copyNoteUrlAction;
QShortcut *attachFileShortcut;
bool isDirty;
NWebPage *editorPage;
bool event(QEvent *event);
void keyPressEvent(QKeyEvent *);
void downloadAttachment(QNetworkRequest *req);
void focusLostNotify(QString text);
signals:
void noteChanged();
void downloadAttachmentRequested(QNetworkRequest*);
void htmlEditAlert();
void escapeKeyPressed();
public slots:
void editAlert();
void decryptText(QString id, QString text, QString hint);
void contextMenuEvent(QContextMenuEvent *event);
void setBackgroundColor(QString color);
void printNodeName(QString s);
void setTitleEditor(NTitleEditor *editor);
void focusOutEvent(QFocusEvent *e);
private slots:
void exposeToJavascript();
void setDefaultTitle();
void downloadRequested(QNetworkRequest);
void dropEvent(QDropEvent *e);
};
#endif // NWEBVIEW_H