1 /*
2 For general Scribus (>=1.3.2) copyright and licensing information please refer
3 to the COPYING file provided with the program. Following this notice may exist
4 a copyright and/or license notice that predates the release of Scribus 1.3.2
5 for which a new license (GPL+exception) is in place.
6 */
7 #ifndef SMSTYLEIMPORT_H
8 #define SMSTYLEIMPORT_H
9 
10 #include <QDialog>
11 
12 #include "ui_smstyleimport.h"
13 #include "scribusapi.h"
14 #include "styles/styleset.h"
15 #include "scribusstructs.h"
16 
17 
18 /*! \brief Import styles from outer sla document.
19 User can choose what to import and what to do with the style
20 names here.
21 */
22 class SCRIBUS_API SMStyleImport : public QDialog, public Ui::SMStyleImport
23 {
24 	Q_OBJECT
25 
26 	public:
27 		SMStyleImport(QWidget* parent,
28 					StyleSet<ParagraphStyle> *pstyleList,
29 					StyleSet<CharStyle> *cstyleList,
30 					QHash<QString, multiLine> *lstyleList);
~SMStyleImport()31 		~SMStyleImport() {};
32 
33 		//! \brief True if the rename feature is ON.
34 		bool clashRename();
35 		QStringList paragraphStyles();
36 		QStringList characterStyles();
37 		QStringList lineStyles();
38 
39 	protected:
40 		//! \brief Root items in the styleWidget
41 		QTreeWidgetItem * pstyleItem;
42 		QTreeWidgetItem * cstyleItem;
43 		QTreeWidgetItem * lstyleItem;
44 
45 		/*! \brief Following constants are used as flags for searching.
46 		Soemthing like: give me all character style related items from
47 		the list. See commonStyles() for more info.
48 		*/
49 		static const int cType = QTreeWidgetItem::UserType;
50 		static const int pType = QTreeWidgetItem::UserType + 1;
51 		static const int lType = QTreeWidgetItem::UserType + 2;
52 
53 		QStringList commonStyles(QTreeWidgetItem * rootItem, int type);
54 
55 	protected slots:
56 		void checkAll(bool allChecked);
57 
58 };
59 
60 #endif // SMSTYLEIMPORT_H
61