diff -ru kgrok-1.3.0-orig/src/card.cpp kgrok-1.3.0/src/card.cpp --- kgrok-1.3.0-orig/src/card.cpp Sun May 5 06:29:28 2002 +++ kgrok-1.3.0/src/card.cpp Tue Jul 30 13:26:57 2002 @@ -402,7 +402,7 @@ QWidget *w_card = w_scroll->viewport(); switch(item->type) { case IT_LABEL: { // a text without function - QLabel *w = new QLabel(item->label, w_card); + QLabel *w = new QLabel(QString::fromUtf8(item->label), w_card); w->setAlignment(JUST(item->labeljust)); w->setFixedSize(xs, ys); w->setFont(FONT(item->labelfont)); @@ -415,7 +415,7 @@ case IT_PRINT: // non-editable text case IT_TIME: { // date and/or time if (xm) { - QLabel *w = new QLabel(item->label, w_card); + QLabel *w = new QLabel(QString::fromUtf8(item->label), w_card); w->setAlignment(JUST(item->labeljust)); w->setFixedSize(xm, ys); w->setFont(FONT(item->labelfont)); @@ -438,7 +438,7 @@ case IT_NOTE: { // multi-line text if (ym) { - QLabel *w = new QLabel(item->label, w_card); + QLabel *w = new QLabel(QString::fromUtf8(item->label), w_card); w->setAlignment(JUST(item->labeljust)); w->setFixedSize(xs, ym); w->setFont(FONT(item->labelfont)); @@ -457,7 +457,7 @@ break; } case IT_CHOICE: { // diamond on/off switch - QRadioButton *w = new QRadioButton(item->label, w_card); + QRadioButton *w = new QRadioButton(QString::fromUtf8(item->label), w_card); w->setFixedSize(xs, ys); w->setFont(FONT(item->labelfont)); w->setEnabled(editable); @@ -469,7 +469,7 @@ break; } case IT_FLAG: { // square on/off switch - QCheckBox *w = new QCheckBox(item->label, w_card); + QCheckBox *w = new QCheckBox(QString::fromUtf8(item->label), w_card); w->setFixedSize(xs, ys); w->setFont(FONT(item->labelfont)); w->setEnabled(editable); @@ -481,7 +481,7 @@ break; } case IT_BUTTON: { // pressable button - QPushButton *w = new QPushButton(item->label, w_card); + QPushButton *w = new QPushButton(QString::fromUtf8(item->label), w_card); w->setFixedSize(xs, ys); w->setFont(FONT(item->labelfont)); w->setEnabled(editable); @@ -492,7 +492,7 @@ break; } case IT_CHART: { // chart display - QLabel *w = new QLabel(item->label, w_card); + QLabel *w = new QLabel(QString::fromUtf8(item->label), w_card); w->setAlignment(JUST(item->labeljust)); w->setFixedSize(xs, ys); w->setFont(FONT(item->labelfont)); @@ -634,6 +634,7 @@ int nitem; // counter for searching text items int start, end; // first and last item to read back QString str; // widget contents in QString format + QCString cstr; // widget contents in QCString format const char *data; // data string to store time_t time = 0; // parsed time char buf[40]; // if numeric time, temp string @@ -649,13 +650,15 @@ switch(item->type) { case IT_INPUT: str = ((QLineEdit *)w_item[nitem])->text(); - data = str.isNull() ? "" : str.data(); + cstr = str.utf8(); + data = str.isNull() ? "" : cstr.data(); store(item, data); break; case IT_NOTE: str = ((QMultiLineEdit *)w_item[nitem])->text(); - data = str.isNull() ? "" : str.data(); + cstr = str.utf8(); + data = str.isNull() ? "" : cstr.data(); store(item, data); break; @@ -771,16 +774,20 @@ case IT_INPUT: if (!deps && sens) - ((QLineEdit *)widget)->setText(!sens ? "" : - data ? data : item->idefault && - (p = eval->evaluate(item->idefault)) ? p : ""); + ((QLineEdit *)widget)->setText(!sens ? (QString)"" : + data ? QString::fromUtf8(data) : + item->idefault && + (p = eval->evaluate(item->idefault)) ? + (QString)p : (QString)""); break; case IT_NOTE: if (!deps && sens) - ((QMultiLineEdit *)widget)->setText(!sens ? "" : - data ? data : item->idefault && - (p = eval->evaluate(item->idefault)) ? p : ""); + ((QMultiLineEdit *)widget)->setText(!sens ? (QString)"" : + data ? QString::fromUtf8(data) : + item->idefault && + (p = eval->evaluate(item->idefault)) ? + (QString)p : (QString)""); break; case IT_PRINT: diff -ru kgrok-1.3.0-orig/src/main.cpp kgrok-1.3.0/src/main.cpp --- kgrok-1.3.0-orig/src/main.cpp Sun May 5 04:33:27 2002 +++ kgrok-1.3.0/src/main.cpp Fri Jul 26 13:43:59 2002 @@ -132,11 +132,11 @@ sections = new Sections; eval = new Evaluate; query = new Query; - font_std = new QFont("helvetica", 1000/fscale); - font_small = new QFont("helvetica", 800/fscale); - font_italic = new QFont("helvetica", 1000/fscale, QFont::Normal, true); - font_bold = new QFont("helvetica", 1400/fscale, QFont::Bold); - font_fixed = new QFont("courier", 1200/fscale); + font_std = new QFont("unifont", 1000/fscale); + font_small = new QFont("unifont", 800/fscale); + font_italic = new QFont("unifont", 1000/fscale, QFont::Normal, true); + font_bold = new QFont("unifont", 1400/fscale, QFont::Bold); + font_fixed = new QFont("unifont", 1200/fscale); app->setFont(*font_std, true); check_installation(); // got all directories? @@ -518,7 +518,8 @@ { int i, qi=0, r=0; // query count, query index - const char *string = w_input->currentText(); + QCString cstr = w_input->currentText().utf8(); + const char *string = cstr.data(); if (!string || !*string) return; for (i=0; i < query->count(); i++) { @@ -541,7 +542,8 @@ void Main::slot_search() { - const char *string = w_input->currentText(); + QCString cstr = w_input->currentText().utf8(); + const char *string = cstr.data(); if (!string || !*string) return; query->query_any((Searchmode)searchmode, string); @@ -558,10 +560,10 @@ int i; for (i=w_input->count()-1; i >= 0; i--) - if (!strcmp(string, w_input->text(i))) + if (!strcmp(string, (const char *)w_input->text(i).utf8())) break; if (i < 0) - w_input->insertItem(string); + w_input->insertItem(QString::fromUtf8(string)); } diff -ru kgrok-1.3.0-orig/src/query.cpp kgrok-1.3.0/src/query.cpp --- kgrok-1.3.0-orig/src/query.cpp Fri Apr 5 06:42:32 2002 +++ kgrok-1.3.0/src/query.cpp Fri Jul 26 13:34:02 2002 @@ -70,7 +70,7 @@ p=string; q=search; for (i=0; *p && i < (int)sizeof(search)-1; i++) - *q++ = *p++ | 0x20; + *q++ = *p & 0x80 ? *p++ : *p++ | 0x20; *q = 0; return(search_matches_row(row, search)); } @@ -143,7 +143,7 @@ if (!alloc_query(&mask)) return; for (p=string, q=search, i=0; *p && i < (int)sizeof(search)-1; i++) - *q++ = *p++ | 0x20; + *q++ = *p & 0x80 ? *p++ : *p++ | 0x20; *q = 0; if (mode == SM_SEARCH && pref->incremental) mode = SM_NARROW; @@ -209,7 +209,7 @@ query[num++] = r; else if (data && letter) while (*data) { - if ((*data & ~0x20) == letter) { + if (*data & 0x80 == 0 && (*data & ~0x20) == letter) { query[num++] = r; break; } @@ -402,10 +402,10 @@ if (!(data = database->get(row, item->column))) continue; for (p=data; *p; p++) { - if ((*p | 0x20) != *search) + if ((*p & 0x80 ? *p : (*p | 0x20)) != *search) continue; for (q=search; *q; q++, p++) - if ((*p | 0x20) != *q) + if ((*p & 0x80 ? *p : (*p | 0x20)) != *q) break; if (!*q) return(true); diff -ru kgrok-1.3.0-orig/src/summary.cpp kgrok-1.3.0/src/summary.cpp --- kgrok-1.3.0-orig/src/summary.cpp Wed May 1 01:16:26 2002 +++ kgrok-1.3.0/src/summary.cpp Mon Jul 29 19:10:42 2002 @@ -81,7 +81,8 @@ Item *item = form->sumcol_item[c]; setColumnWidthMode(c, Manual); setColumnWidth(c, item->sumwidth * 7); - setColumnText (c, item->label ? item->label : item->name); + setColumnText (c, item->label ? QString::fromUtf8(item->label) + : (QString)item->name); } while (nc < ncols) { // clear excess columns setColumnText (nc, ""); @@ -122,7 +123,7 @@ int row_save = database->getrow(); database->setrow(r); data = eval->evaluate(item->sumprint); - w->setText(c, data ? data : ""); + w->setText(c, data ? QString::fromUtf8(data) : (QString)""); database->setrow(row_save); continue; } @@ -150,7 +151,7 @@ case IT_TIME: data = format_time_data(data, item->subtype); } - w->setText(c, data ? data : ""); + w->setText(c, data ? QString::fromUtf8(data) : (QString)""); } } diff -ru kgrok-1.3.0-orig/src/util.cpp kgrok-1.3.0/src/util.cpp --- kgrok-1.3.0-orig/src/util.cpp Mon Apr 15 02:22:52 2002 +++ kgrok-1.3.0/src/util.cpp Fri Jul 26 12:18:09 2002 @@ -415,13 +415,14 @@ if (nnum == 0) // ... no numbers return(today); if (nnum == 3) { // ... have year? - if (num[2] < 70) - num[2] += 100; - if (num[2] > 1900) - num[2] -= 1900; - if (num[2] < 70 || num[2] > 138) - num[2] = tm->tm_year; - tm->tm_year = num[2]; + if (mmddyy == YYMMDD) i = 0; else i = 2; + if (num[i] < 70) + num[i] += 100; + if (num[i] > 1900) + num[i] -= 1900; + if (num[i] < 70 || num[i] > 138) + num[i] = tm->tm_year; + tm->tm_year = num[i]; } if (nnum == 1) { // ... day only if (num[0] < tm->tm_mday)