00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #include "path.h"
00022
00023 namespace SaX {
00024
00025
00026
00027 SaXManipulatePath::SaXManipulatePath (SaXImport* in, int path) {
00028
00033
00034 if ( ! in ) {
00035 excNullPointerArgument ();
00036 qError (errorString(),EXC_NULLPOINTERARGUMENT);
00037 return;
00038 }
00039 if ( in->getSectionID() != SAX_PATH ) {
00040 excPathImportBindFailed ( in->getSectionID() );
00041 qError (errorString(),EXC_PATHIMPORTBINDFAILED);
00042 return;
00043 }
00044 mImport = in;
00045 mPath = path;
00046 mImport -> setID ( mPath );
00047 }
00048
00049
00050
00051
00052 void SaXManipulatePath::setFontPath (const QString& path) {
00053
00056
00057 if (! mImport) {
00058 return;
00059 }
00060 mImport -> setItem ( "FontPath",path );
00061 }
00062
00063
00064
00065
00066 void SaXManipulatePath::addFontPath (const QString& path) {
00067
00070
00071 if (! mImport) {
00072 return;
00073 }
00074 QString val;
00075 QString key ("FontPath");
00076 if (! mImport -> getItem (key).isEmpty()) {
00077 val = mImport -> getItem (key);
00078 }
00079 QTextOStream (&val) << val << "," << path;
00080 mImport -> setItem ( key,val );
00081 }
00082
00083
00084
00085
00086 void SaXManipulatePath::removeFontPath (const QString& path) {
00087
00091
00092 if (! mImport) {
00093 return;
00094 }
00095 QString val (path);
00096 QString key ("FontPath");
00097 if (! mImport -> getItem (key).isEmpty()) {
00098 mImport -> removeItem (key,val);
00099 }
00100 }
00101
00102
00103
00104
00105 void SaXManipulatePath::setLoadableModule (const QString& module) {
00106
00109
00110 if (! mImport) {
00111 return;
00112 }
00113 mImport -> setItem ( "ModuleLoad",module );
00114 }
00115
00116
00117
00118
00119 void SaXManipulatePath::addLoadableModule (const QString& module) {
00120
00123
00124 if (! mImport) {
00125 return;
00126 }
00127 QString val;
00128 QString key ("ModuleLoad");
00129 if (! mImport -> getItem (key).isEmpty()) {
00130 val = mImport -> getItem (key);
00131 }
00132 QTextOStream (&val) << val << "," << module;
00133 mImport -> setItem ( key,val );
00134 }
00135
00136
00137
00138
00139 void SaXManipulatePath::removeLoadableModule (const QString& module) {
00140
00144
00145 if (! mImport) {
00146 return;
00147 }
00148 QString val (module);
00149 QString key ("ModuleLoad");
00150 if (! mImport -> getItem (key).isEmpty()) {
00151 mImport -> removeItem (key,val);
00152 }
00153 }
00154
00155
00156
00157
00158 void SaXManipulatePath::setServerFlag (const QString& flag) {
00159
00162
00163 if (! mImport) {
00164 return;
00165 }
00166 mImport -> setItem ( "ServerFlags",flag );
00167 }
00168
00169
00170
00171
00172 void SaXManipulatePath::addServerFlag (const QString& flag) {
00173
00176
00177 if (! mImport) {
00178 return;
00179 }
00180 QString val;
00181 QString key ("ServerFlags");
00182 if (! mImport -> getItem (key).isEmpty()) {
00183 val = mImport -> getItem (key);
00184 }
00185 QTextOStream (&val) << val << "," << flag;
00186 mImport -> setItem ( key,val );
00187 }
00188
00189
00190
00191
00192 void SaXManipulatePath::removeServerFlag (const QString& flag) {
00193
00197
00198 if (! mImport) {
00199 return;
00200 }
00201 QString val (flag);
00202 QString key ("ServerFlags");
00203 if (! mImport -> getItem (key).isEmpty()) {
00204 mImport -> removeItem (key,val);
00205 }
00206 }
00207
00208
00209
00210
00211 QList<QString> SaXManipulatePath::getFontPaths (void) {
00212
00215
00216 if (! mImport) {
00217 return QList<QString>();
00218 }
00219 QString paths = mImport -> getItem ("FontPath");
00220 return createList (paths);
00221 }
00222
00223
00224
00225
00226 QList<QString> SaXManipulatePath::getModules (void) {
00227
00230
00231 if (! mImport) {
00232 return QList<QString>();
00233 }
00234 QString modules = mImport -> getItem ("ModuleLoad");
00235 return createList (modules);
00236 }
00237
00238
00239
00240
00241 QList<QString> SaXManipulatePath::getServerFlags (void) {
00242
00245
00246 if (! mImport) {
00247 return QList<QString>();
00248 }
00249 QString modules = mImport -> getItem ("ServerFlags");
00250 return createList (modules);
00251 }
00252
00253
00254
00255
00256 QList<QString> SaXManipulatePath::createList ( const QString& data) {
00257
00260
00261 if (data.isEmpty()) {
00262 return QList<QString>();
00263 }
00264 QList<QString> result;
00265 QStringList dataList = QStringList::split ( ",", data );
00266 for (QStringList::Iterator it=dataList.begin(); it!=dataList.end();++ it) {
00267 QString* item = new QString (*it);
00268 result.append (item);
00269 }
00270 return result;
00271 }
00272 }