Rev 123 | Rev 140 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
3 | paul | 1 | /*************************************************************************** |
2 | scribusdoc.cpp - description |
||
3 | ------------------- |
||
4 | begin : Fre Apr 6 21:47:55 CEST 2001 |
||
5 | copyright : (C) 2001 by Franz Schmid |
||
6 | email : Franz.Schmid@altmuehlnet.de |
||
7 | ***************************************************************************/ |
||
8 | |||
9 | /*************************************************************************** |
||
10 | * * |
||
11 | * This program is free software; you can redistribute it and/or modify * |
||
12 | * it under the terms of the GNU General Public License as published by * |
||
13 | * the Free Software Foundation; either version 2 of the License, or * |
||
14 | * (at your option) any later version. * |
||
15 | * * |
||
16 | ***************************************************************************/ |
||
17 | |||
18 | #include "scribusdoc.h" |
||
19 | #include <qfile.h> |
||
20 | |||
21 | ScribusDoc::ScribusDoc() |
||
22 | { |
||
23 | modified = false; |
||
24 | MasterP = false; |
||
25 | Marks = true; |
||
26 | Guides = true; |
||
27 | GuideLock = false; |
||
28 | SnapGuides = false; |
||
29 | ShowPic = true; |
||
30 | Raster = false; |
||
31 | useRaster = false; |
||
32 | EditClip = false; |
||
33 | EditClipMode = 0; |
||
34 | loading = false; |
||
35 | minorGrid = 20; |
||
36 | majorGrid = 100; |
||
37 | minorColor = QColor(green); |
||
38 | majorColor = QColor(green); |
||
39 | guideColor = QColor(darkBlue); |
||
40 | GuideRad = 10; |
||
41 | Scale = 1.0; |
||
42 | Dpen = "Black"; |
||
43 | Dshade2 = 100; |
||
44 | Dbrush = "Black"; |
||
45 | Dshade = 100; |
||
46 | Dwidth = 1; |
||
47 | DLineArt = SolidLine; |
||
68 | Franz | 48 | DocName = tr("Document")+"-"; |
3 | paul | 49 | UsedFonts.clear(); |
50 | Dfont = ""; |
||
111 | Franz | 51 | Dsize = 120; |
3 | paul | 52 | CurrentSel = -1; |
53 | DocTitel = ""; |
||
54 | DocAutor = ""; |
||
55 | DocComments = ""; |
||
68 | Franz | 56 | DocKeyWords = ""; |
3 | paul | 57 | PageC = 0; |
58 | LastAuto = 0; |
||
59 | FirstAuto = 0; |
||
60 | DraggedElem = 0; |
||
61 | GroupCounter = 1; |
||
62 | Vorlagen.clear(); |
||
63 | struct StVorL vg; |
||
64 | vg.Vname = "Normal Internal"; |
||
65 | vg.LineSpa = 15; |
||
66 | vg.Ausri = 0; |
||
67 | vg.Indent = 0; |
||
68 | vg.First = 0; |
||
69 | vg.Avor = 0; |
||
70 | vg.Anach = 0; |
||
71 | vg.Font = ""; |
||
72 | vg.FontSize = Dsize; |
||
73 | Vorlagen.append(vg); |
||
74 | vg.Vname = "Center Internal"; |
||
75 | vg.Ausri = 1; |
||
76 | Vorlagen.append(vg); |
||
77 | vg.Vname = "Rechts Internal"; |
||
78 | vg.Ausri = 2; |
||
79 | Vorlagen.append(vg); |
||
80 | vg.Vname = "Block Internal"; |
||
81 | vg.Ausri = 3; |
||
82 | Vorlagen.append(vg); |
||
83 | vg.Vname = "EBlock Internal"; |
||
84 | vg.Ausri = 4; |
||
85 | Vorlagen.append(vg); |
||
86 | Layers.clear(); |
||
87 | struct Layer ll; |
||
88 | ll.LNr = 0; |
||
89 | ll.Level = 0; |
||
90 | ll.Name = tr("Background"); |
||
91 | ll.Sichtbar = true; |
||
92 | ll.Drucken = true; |
||
93 | Layers.append(ll); |
||
94 | ActiveLayer = 0; |
||
95 | JavaScripts.clear(); |
||
96 | UnDoValid = false; |
||
97 | UnData.UnCode = -1; |
||
98 | CurrentStyle = 0; |
||
99 | CurrentABStil = 0; |
||
100 | TotalItems = 0; |
||
101 | TemplateMode = false; |
||
102 | PDF_Optionen.Thumbnails = false; |
||
103 | PDF_Optionen.Articles = false; |
||
104 | PDF_Optionen.Compress = true; |
||
105 | PDF_Optionen.RecalcPic = false; |
||
106 | PDF_Optionen.Bookmarks = false; |
||
107 | PDF_Optionen.PicRes = 300; |
||
108 | PDF_Optionen.Version = 13; |
||
109 | PDF_Optionen.Resolution = 300; |
||
110 | PDF_Optionen.Binding = 0; |
||
111 | PDF_Optionen.EmbedList.clear(); |
||
112 | PDF_Optionen.PresentMode = false; |
||
113 | PDF_Optionen.Datei = ""; |
||
114 | PDF_Optionen.PresentVals.clear(); |
||
115 | PDF_Optionen.UseRGB = false; |
||
116 | PDF_Optionen.UseProfiles = false; |
||
117 | PDF_Optionen.UseProfiles2 = false; |
||
118 | PDF_Optionen.SolidProf = ""; |
||
119 | PDF_Optionen.SComp = 3; |
||
120 | PDF_Optionen.ImageProf = ""; |
||
121 | PDF_Optionen.PrintProf = ""; |
||
122 | PDF_Optionen.Info = ""; |
||
123 | PDF_Optionen.Intent = 0; |
||
124 | PDF_Optionen.Intent2 = 0; |
||
125 | PDF_Optionen.BleedTop = 0; |
||
126 | PDF_Optionen.BleedLeft = 0; |
||
127 | PDF_Optionen.BleedRight = 0; |
||
128 | PDF_Optionen.BleedBottom = 0; |
||
129 | PDF_Optionen.EmbeddedI = false; |
||
130 | PDF_Optionen.Encrypt = false; |
||
131 | PDF_Optionen.PassOwner = ""; |
||
132 | PDF_Optionen.PassUser = ""; |
||
133 | PDF_Optionen.Permissions = -4; |
||
134 | RePos = false; |
||
135 | BookMarks.clear(); |
||
136 | OldBM = false; |
||
137 | hasName = false; |
||
63 | Franz | 138 | DoDrawing = true; |
3 | paul | 139 | RotMode = 0; |
123 | Franz | 140 | SubMode = -1; |
3 | paul | 141 | ASaveTimer = new QTimer(this); |
27 | Franz | 142 | MLineStyles.clear(); |
3 | paul | 143 | FT_Init_FreeType( &library ); |
144 | } |
||
145 | |||
146 | ScribusDoc::~ScribusDoc() |
||
147 | { |
||
148 | FT_Done_FreeType( library ); |
||
149 | } |
||
150 | |||
151 | void ScribusDoc::setModified() |
||
152 | { |
||
153 | modified = true; |
||
154 | } |
||
155 | |||
156 | void ScribusDoc::setUnModified() |
||
157 | { |
||
158 | modified = false; |
||
159 | } |
||
160 | |||
161 | bool ScribusDoc::isModified() const |
||
162 | { |
||
163 | return modified; |
||
164 | } |
||
165 | /** Setzt die Seitenattribute */ |
||
80 | Franz | 166 | void ScribusDoc::setPage(double b, double h, double t, double l, double r, double bo, double sp, double ab, bool atf, bool fp) |
3 | paul | 167 | { |
168 | PageB = b; |
||
169 | PageH = h; |
||
170 | PageM.Top = t; |
||
171 | PageM.Left = l; |
||
172 | PageM.Right = r; |
||
173 | PageM.Bottom = bo; |
||
174 | PageSp = sp; |
||
175 | PageSpa = ab; |
||
176 | PageFP = fp; |
||
177 | PageAT = atf; |
||
178 | } |
||
179 | |||
80 | Franz | 180 | void ScribusDoc::resetPage(double t, double l, double r, double bo, bool fp) |
3 | paul | 181 | { |
182 | PageM.Top = t; |
||
183 | PageM.Left = l; |
||
184 | PageM.Right = r; |
||
185 | PageM.Bottom = bo; |
||
186 | PageFP = fp; |
||
187 | } |
||
188 | |||
189 | void ScribusDoc::AddFont(QString name, QFont fo) |
||
190 | { |
||
191 | FT_Face face; |
||
192 | FT_New_Face( library, (*AllFonts)[name]->Datei, 0, &face ); |
||
193 | FFonts[name] = face; |
||
194 | UsedFonts[name] = fo; |
||
195 | (*AllFonts)[name]->ReadMetrics(); |
||
196 | (*AllFonts)[name]->CharWidth[13] = 0; |
||
139 | Franz | 197 | (*AllFonts)[name]->CharWidth[9] = 1; |
3 | paul | 198 | QString afnm = (*AllFonts)[name]->Datei.left((*AllFonts)[name]->Datei.length()-3); |
199 | QFile afm(afnm+"afm"); |
||
200 | if(!(afm.exists())) |
||
201 | { |
||
202 | afm.setName(afnm+"Afm"); |
||
203 | if(!(afm.exists())) |
||
204 | afm.setName(afnm+"AFM"); |
||
205 | } |
||
206 | if (afm.exists()) |
||
207 | FT_Attach_File(face, afm.name()); |
||
208 | } |