Rev 202 | Rev 220 | 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 | { |
||
167 | Franz | 23 | modified = false; |
24 | MasterP = false; |
||
25 | Marks = true; |
||
3 | paul | 26 | Guides = true; |
27 | GuideLock = false; |
||
28 | SnapGuides = false; |
||
167 | Franz | 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); |
||
3 | paul | 39 | guideColor = QColor(darkBlue); |
40 | GuideRad = 10; |
||
167 | Franz | 41 | Scale = 1.0; |
3 | paul | 42 | Dpen = "Black"; |
43 | Dshade2 = 100; |
||
44 | Dbrush = "Black"; |
||
45 | Dshade = 100; |
||
46 | Dwidth = 1; |
||
47 | DLineArt = SolidLine; |
||
178 | Franz | 48 | DocName = QObject::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; |
||
140 | Franz | 73 | vg.TabValues.clear(); |
153 | Franz | 74 | vg.Drop = false; |
75 | vg.DropLin = 2; |
||
173 | Franz | 76 | vg.FontEffect = 0; |
77 | vg.FColor = Dbrush; |
||
78 | vg.FShade = Dshade; |
||
79 | vg.SColor = Dpen; |
||
80 | vg.SShade = Dshade2; |
||
3 | paul | 81 | Vorlagen.append(vg); |
82 | vg.Vname = "Center Internal"; |
||
83 | vg.Ausri = 1; |
||
84 | Vorlagen.append(vg); |
||
85 | vg.Vname = "Rechts Internal"; |
||
86 | vg.Ausri = 2; |
||
87 | Vorlagen.append(vg); |
||
88 | vg.Vname = "Block Internal"; |
||
89 | vg.Ausri = 3; |
||
90 | Vorlagen.append(vg); |
||
91 | vg.Vname = "EBlock Internal"; |
||
92 | vg.Ausri = 4; |
||
93 | Vorlagen.append(vg); |
||
94 | Layers.clear(); |
||
95 | struct Layer ll; |
||
96 | ll.LNr = 0; |
||
97 | ll.Level = 0; |
||
178 | Franz | 98 | ll.Name = QObject::tr("Background"); |
3 | paul | 99 | ll.Sichtbar = true; |
100 | ll.Drucken = true; |
||
101 | Layers.append(ll); |
||
102 | ActiveLayer = 0; |
||
103 | JavaScripts.clear(); |
||
104 | UnDoValid = false; |
||
105 | UnData.UnCode = -1; |
||
167 | Franz | 106 | CurrentStyle = 0; |
107 | CurrentABStil = 0; |
||
3 | paul | 108 | TotalItems = 0; |
109 | TemplateMode = false; |
||
110 | PDF_Optionen.Thumbnails = false; |
||
111 | PDF_Optionen.Articles = false; |
||
112 | PDF_Optionen.Compress = true; |
||
202 | Franz | 113 | PDF_Optionen.CompressMethod = 0; |
114 | PDF_Optionen.Quality = 0; |
||
3 | paul | 115 | PDF_Optionen.RecalcPic = false; |
116 | PDF_Optionen.Bookmarks = false; |
||
117 | PDF_Optionen.PicRes = 300; |
||
203 | Franz | 118 | PDF_Optionen.Version = 14; |
3 | paul | 119 | PDF_Optionen.Resolution = 300; |
120 | PDF_Optionen.Binding = 0; |
||
121 | PDF_Optionen.EmbedList.clear(); |
||
122 | PDF_Optionen.PresentMode = false; |
||
123 | PDF_Optionen.Datei = ""; |
||
124 | PDF_Optionen.PresentVals.clear(); |
||
203 | Franz | 125 | PDF_Optionen.UseRGB = true; |
3 | paul | 126 | PDF_Optionen.UseProfiles = false; |
127 | PDF_Optionen.UseProfiles2 = false; |
||
128 | PDF_Optionen.SolidProf = ""; |
||
129 | PDF_Optionen.SComp = 3; |
||
130 | PDF_Optionen.ImageProf = ""; |
||
131 | PDF_Optionen.PrintProf = ""; |
||
132 | PDF_Optionen.Info = ""; |
||
133 | PDF_Optionen.Intent = 0; |
||
134 | PDF_Optionen.Intent2 = 0; |
||
135 | PDF_Optionen.BleedTop = 0; |
||
136 | PDF_Optionen.BleedLeft = 0; |
||
137 | PDF_Optionen.BleedRight = 0; |
||
138 | PDF_Optionen.BleedBottom = 0; |
||
139 | PDF_Optionen.EmbeddedI = false; |
||
140 | PDF_Optionen.Encrypt = false; |
||
141 | PDF_Optionen.PassOwner = ""; |
||
142 | PDF_Optionen.PassUser = ""; |
||
143 | PDF_Optionen.Permissions = -4; |
||
144 | RePos = false; |
||
145 | BookMarks.clear(); |
||
146 | OldBM = false; |
||
147 | hasName = false; |
||
63 | Franz | 148 | DoDrawing = true; |
3 | paul | 149 | RotMode = 0; |
123 | Franz | 150 | SubMode = -1; |
3 | paul | 151 | ASaveTimer = new QTimer(this); |
27 | Franz | 152 | MLineStyles.clear(); |
3 | paul | 153 | FT_Init_FreeType( &library ); |
154 | } |
||
155 | |||
156 | ScribusDoc::~ScribusDoc() |
||
157 | { |
||
158 | FT_Done_FreeType( library ); |
||
159 | } |
||
160 | |||
161 | void ScribusDoc::setModified() |
||
162 | { |
||
163 | modified = true; |
||
164 | } |
||
165 | |||
166 | void ScribusDoc::setUnModified() |
||
167 | { |
||
168 | modified = false; |
||
169 | } |
||
170 | |||
171 | bool ScribusDoc::isModified() const |
||
172 | { |
||
173 | return modified; |
||
174 | } |
||
175 | /** Setzt die Seitenattribute */ |
||
80 | Franz | 176 | 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 | 177 | { |
178 | PageB = b; |
||
179 | PageH = h; |
||
180 | PageM.Top = t; |
||
181 | PageM.Left = l; |
||
182 | PageM.Right = r; |
||
183 | PageM.Bottom = bo; |
||
184 | PageSp = sp; |
||
185 | PageSpa = ab; |
||
186 | PageFP = fp; |
||
187 | PageAT = atf; |
||
188 | } |
||
189 | |||
80 | Franz | 190 | void ScribusDoc::resetPage(double t, double l, double r, double bo, bool fp) |
3 | paul | 191 | { |
192 | PageM.Top = t; |
||
193 | PageM.Left = l; |
||
194 | PageM.Right = r; |
||
195 | PageM.Bottom = bo; |
||
196 | PageFP = fp; |
||
197 | } |
||
198 | |||
199 | void ScribusDoc::AddFont(QString name, QFont fo) |
||
200 | { |
||
201 | FT_Face face; |
||
202 | FT_New_Face( library, (*AllFonts)[name]->Datei, 0, &face ); |
||
203 | FFonts[name] = face; |
||
204 | UsedFonts[name] = fo; |
||
205 | (*AllFonts)[name]->ReadMetrics(); |
||
206 | (*AllFonts)[name]->CharWidth[13] = 0; |
||
139 | Franz | 207 | (*AllFonts)[name]->CharWidth[9] = 1; |
3 | paul | 208 | QString afnm = (*AllFonts)[name]->Datei.left((*AllFonts)[name]->Datei.length()-3); |
209 | QFile afm(afnm+"afm"); |
||
210 | if(!(afm.exists())) |
||
167 | Franz | 211 | { |
3 | paul | 212 | afm.setName(afnm+"Afm"); |
213 | if(!(afm.exists())) |
||
214 | afm.setName(afnm+"AFM"); |
||
167 | Franz | 215 | } |
3 | paul | 216 | if (afm.exists()) |
217 | FT_Attach_File(face, afm.name()); |
||
218 | } |