Source Code (Use browser search to find items of interest.)
Class Index
kdevelop'HlManager (./kdevelop/kdevelop/kwrite/highlight.h:526)
class HlManager : public QObject {
Q_OBJECT
public:
HlManager();
~HlManager();
Highlight *getHl(int n);
int defaultHl();
int nameFind(const QString &name);
int wildcardFind(const QString &fileName);
int mimeFind(const QString &contents, int len, const QString &fname);
int findHl(Highlight *h) {return hlList.find(h);}
void makeAttribs(Highlight *, Attribute *, int n);
int defaultStyles();
QString defaultStyleName(int n);
void getDefaults(ItemStyleList &, ItemFont &);
void setDefaults(ItemStyleList &, ItemFont &);
int highlights();
QString hlName(int n);
void getHlDataList(HlDataList &);
void setHlDataList(HlDataList &);
signals:
void changed();
protected:
QList<Highlight> hlList;
};
//--------
kdevelop'HlManager::HlManager() (./kdevelop/kdevelop/kwrite/highlight.cpp:1790)
HlManager::HlManager() : QObject(0L) {
hlList.setAutoDelete(true);
hlList.append(new Highlight(i18nop("Normal")));
hlList.append(new CHighlight( "C" ));
hlList.append(new CppHighlight( "C++" ));
hlList.append(new ObjcHighlight( "Objective-C"));
hlList.append(new JavaHighlight( "Java" ));
hlList.append(new HtmlHighlight( "HTML" ));
hlList.append(new BashHighlight( "Bash" ));
hlList.append(new ModulaHighlight("Modula 2" ));
hlList.append(new AdaHighlight( "Ada" ));
hlList.append(new PythonHighlight("Python" ));
hlList.append(new PerlHighlight( "Perl" ));
hlList.append(new SatherHighlight("Sather" ));
hlList.append(new LatexHighlight( "Latex" ));
hlList.append(new IdlHighlight("IDL"));
}
kdevelop'HlManager::~HlManager() (./kdevelop/kdevelop/kwrite/highlight.cpp:1809)
HlManager::~HlManager() {
}
kdevelop'HlManager::getHl() (./kdevelop/kdevelop/kwrite/highlight.cpp:1812)
Highlight *HlManager::getHl(int n) {
if (n < 0 || n >= (int) hlList.count()) n = 0;
return hlList.at(n);
}
kdevelop'HlManager::defaultHl() (./kdevelop/kdevelop/kwrite/highlight.cpp:1817)
int HlManager::defaultHl() {
KConfig *config;
config = kapp->config();
config->setGroup("General Options");
return nameFind(config->readEntry("Highlight"));
}
kdevelop'HlManager::nameFind() (./kdevelop/kdevelop/kwrite/highlight.cpp:1826)
int HlManager::nameFind(const QString &name) {
int z;
for (z = hlList.count() - 1; z > 0; z--) {
if (hlList.at(z)->iName == name) break;
}
return z;
}
kdevelop'HlManager::wildcardFind() (./kdevelop/kdevelop/kwrite/highlight.cpp:1835)
int HlManager::wildcardFind(const QString &fileName) {
Highlight *highlight;
int p1, p2;
QString w;
for (highlight = hlList.first(); highlight != 0L; highlight = hlList.next()) {
p1 = 0;
w = highlight->getWildcards();
while (p1 < (int) w.length()) {
p2 = w.find(';',p1);
if (p2 == -1) p2 = w.length();
if (p1 < p2) {
QRegExp regExp(w.mid(p1,p2 - p1),true,true);
if (regExp.match(fileName) == 0) return hlList.at();
}
p1 = p2 + 1;
}
}
return -1;
}
kdevelop'HlManager::mimeFind() (./kdevelop/kdevelop/kwrite/highlight.cpp:1855)
int HlManager::mimeFind(const QString &contents, int len, const QString &fname)
{
/*
// fill the detection buffer with the contents of the text
const int HOWMANY = 1024;
char buffer[HOWMANY];
int number=0, len;
for (int index=0; index<doc->lastLine(); index++)
{
len = doc->textLength(index);
if (number+len > HOWMANY)
break;
memcpy(&buffer[number], doc->textLine(index)->getText(), len);
number += len;
}
*/
// detect the mime type
KMimeMagicResult *result;
QByteArray body;
body = QCString( contents );
result = KMimeMagic::self()->findBufferFileType(body, fname);
Highlight *highlight;
int p1, p2;
QString w;
for (highlight = hlList.first(); highlight != 0L; highlight = hlList.next())
{
w = highlight->getMimetypes();
p1 = 0;
while (p1 < (int) w.length()) {
p2 = w.find(';',p1);
if (p2 == -1) p2 = w.length();
if (p1 < p2) {
QRegExp regExp(w.mid(p1,p2 - p1),true,true);
if (regExp.match(result->mimeType()) == 0) return hlList.at();
}
p1 = p2 + 1;
}
}
return -1;
}
kdevelop'HlManager::makeAttribs() (./kdevelop/kdevelop/kwrite/highlight.cpp:1905)
void HlManager::makeAttribs(Highlight *highlight, Attribute *a, int n) {
ItemStyleList defaultStyleList;
ItemStyle *defaultStyle;
ItemFont defaultFont;
ItemDataList itemDataList;
ItemData *itemData;
int z;
QFont font;
defaultStyleList.setAutoDelete(true);
getDefaults(defaultStyleList,defaultFont);
itemDataList.setAutoDelete(true);
highlight->getItemDataList(itemDataList);
for (z = 0; z < (int) itemDataList.count(); z++) {
itemData = itemDataList.at(z);
if (itemData->defStyle) {
defaultStyle = defaultStyleList.at(itemData->defStyleNum);
a[z].col = defaultStyle->col;
a[z].selCol = defaultStyle->selCol;
font.setBold(defaultStyle->bold);
font.setItalic(defaultStyle->italic);
} else {
a[z].col = itemData->col;
a[z].selCol = itemData->selCol;
font.setBold(itemData->bold);
font.setItalic(itemData->italic);
}
if (itemData->defFont) {
font.setFamily(defaultFont.family);
font.setPointSize(defaultFont.size);
// KCharset(defaultFont.charset).setQFont(font);
} else {
font.setFamily(itemData->family);
font.setPointSize(itemData->size);
// KCharset(itemData->charset).setQFont(font);
}
a[z].setFont(font);
}
for (; z < n; z++) {
a[z].col = black;
a[z].selCol = black;
a[z].setFont(font);
}
}
kdevelop'HlManager::defaultStyles() (./kdevelop/kdevelop/kwrite/highlight.cpp:1951)
int HlManager::defaultStyles() {
return 10;
}
kdevelop'HlManager::defaultStyleName() (./kdevelop/kdevelop/kwrite/highlight.cpp:1955)
QString HlManager::defaultStyleName(int n) {
static const char *names[] = {
i18nop("Normal"),
i18nop("Keyword"),
i18nop("Data Type"),
i18nop("Decimal/Value"),
i18nop("Base-N Integer"),
i18nop("Floating Point"),
i18nop("Character"),
i18nop("String"),
i18nop("Comment"),
i18nop("Others")};
return QString(names[n]);
}
kdevelop'HlManager::getDefaults() (./kdevelop/kdevelop/kwrite/highlight.cpp:1971)
void HlManager::getDefaults(ItemStyleList &list, ItemFont &font) {
KConfig *config;
int z;
ItemStyle *i;
QString s;
QRgb col, selCol;
list.setAutoDelete(true);
//ItemStyle(color, selected color, bold, italic)
list.append(new ItemStyle(black,white,false,false)); //normal
list.append(new ItemStyle(black,white,true,false)); //keyword
list.append(new ItemStyle(darkRed,white,false,false)); //datatype
list.append(new ItemStyle(blue,cyan,false,false)); //decimal/value
list.append(new ItemStyle(darkCyan,cyan,false,false)); //base n
list.append(new ItemStyle(darkMagenta,cyan,false,false));//float
list.append(new ItemStyle(magenta,magenta,false,false)); //char
list.append(new ItemStyle(red,red,false,false)); //string
list.append(new ItemStyle(darkGray,gray,false,true)); //comment
list.append(new ItemStyle(darkGreen,green,false,false)); //others
config = kapp->config();
config->setGroup("Default Item Styles");
for (z = 0; z < defaultStyles(); z++) {
i = list.at(z);
s = config->readEntry(defaultStyleName(z));
if (!s.isEmpty()) {
sscanf(s,"%X,%X,%d,%d",&col,&selCol,&i->bold,&i->italic);
i->col.setRgb(col);
i->selCol.setRgb(selCol);
}
}
config->setGroup("Default Font");
font.family = config->readEntry("Family","courier");
font.size = config->readNumEntry("Size",12);
font.charset = config->readEntry("Charset","ISO-8859-1");
}
kdevelop'HlManager::setDefaults() (./kdevelop/kdevelop/kwrite/highlight.cpp:2009)
void HlManager::setDefaults(ItemStyleList &list, ItemFont &font) {
KConfig *config;
int z;
ItemStyle *i;
char s[64];
config = kapp->config();
config->setGroup("Default Item Styles");
for (z = 0; z < defaultStyles(); z++) {
i = list.at(z);
sprintf(s,"%X,%X,%d,%d",i->col.rgb(),i->selCol.rgb(),i->bold, i->italic);
config->writeEntry(defaultStyleName(z),s);
}
config->setGroup("Default Font");
config->writeEntry("Family",font.family);
config->writeEntry("Size",font.size);
config->writeEntry("Charset",font.charset);
emit changed();
}
kdevelop'HlManager::highlights() (./kdevelop/kdevelop/kwrite/highlight.cpp:2032)
int HlManager::highlights() {
return (int) hlList.count();
}
kdevelop'HlManager::hlName() (./kdevelop/kdevelop/kwrite/highlight.cpp:2036)
QString HlManager::hlName(int n) {
return hlList.at(n)->iName;
}
kdevelop'HlManager::getHlDataList() (./kdevelop/kdevelop/kwrite/highlight.cpp:2040)
void HlManager::getHlDataList(HlDataList &list) {
int z;
for (z = 0; z < (int) hlList.count(); z++) {
list.append(hlList.at(z)->getData());
}
}
kdevelop'HlManager::setHlDataList() (./kdevelop/kdevelop/kwrite/highlight.cpp:2048)
void HlManager::setHlDataList(HlDataList &list) {
int z;
for (z = 0; z < (int) hlList.count(); z++) {
hlList.at(z)->setData(list.at(z));
}
//notify documents about changes in highlight configuration
emit changed();
}
#warning there is also KApplication::getKDEFonts. Is this the same?
//what should happen if KApplication::getKDEFonts returns false?
//the current implementation gets the X11 fonts
//-----
//"ripped" from kfontdialog
/*
bool getKDEFontList(QStringList &fontList) {
QString s;
s = locate("config", "kdefonts");
QFile fontfile(s);
// if (!fontfile.exists()) return false;
if(!fontfile.open(IO_ReadOnly)) return false;
// if (!fontfile.isReadable()) return false;
QTextStream t(&fontfile);
while (!t.eof()) {
s = t.readLine();
s = s.stripWhiteSpace();
if (!s.isEmpty()) fontList.append(s);
}
fontfile.close();
return true;
}
*/