1 #ifndef MARKSMANAGER_H
2 #define MARKSMANAGER_H
3 
4 #include <QList>
5 #include <QTreeWidgetItem>
6 #include "ui/scrpalettebase.h"
7 #include "ui_marksmanager.h"
8 #include "marks.h"
9 class QEvent;
10 class  ScribusDoc;
11 
12 class SCRIBUS_API MarksManager : public ScrPaletteBase, Ui::MarksManager
13 {
14 	Q_OBJECT
15 
16 public:
17 	explicit MarksManager(QWidget *parent = nullptr, const char *name = "MarksManager");
18 	~MarksManager();
19 
20 	void updateListView();
21 
22 protected:
23 	void changeEvent(QEvent *e) override;
24 
25 private:
26 	ScribusDoc* m_Doc;
27 	PrefsContext* m_prefs;
28 	Mark* getMarkFromListView();
29 	void addListItem(MarkType typeMrk, const QString& typeStr, const QList<Mark *> &marks, int &index);
30 	QStringList m_expandedItems;
31 	void storeColaption();
32 	void restoreColaption();
33 
34 public slots:
35 	void setDoc(ScribusDoc *doc);
36 	void languageChange();
37 	void handleUpdateRequest(int updateFlags);
38 
39 private slots:
40 	void on_UpdateButton_clicked();
41 	void on_EditButton_clicked();
42 	void on_DeleteButton_clicked();
43 	void on_listView_doubleClicked(const QModelIndex &index);
44 	void on_listView_itemSelectionChanged();
45 };
46 
47 #endif // MARKSMANAGER_H
48