else {
consoleCtrl->SetDefaultStyle(wxTextAttr(*wxBLACK));
}
- consoleBuffer << str;
+ consoleBuffer << wxbUtils::ConvertToPrintable(str);
if (status == CS_PROMPT) {
if (lockedbyconsole) {
EnableConsole(true);
ct->Write((const char*)str);
typeCtrl->SetValue("");
consoleCtrl->SetDefaultStyle(wxTextAttr(*wxRED));
- consoleCtrl->AppendText(str);
+ consoleCtrl->AppendText(wxbUtils::ConvertToPrintable(str));
consoleCtrl->ScrollLines(3);
}
bool updated = false;
while (treeid.IsOk()) {
- itemStr = tree->GetItemText(treeid);
+ itemStr = ((wxbTreeItemData*)tree->GetItemData(treeid))->GetName();
if (file[8] == itemStr) {
int stat = wxbTreeItemData::GetMarkedStatus(file[6]);
if (static_cast<wxbTreeItemData*>(tree->GetItemData(treeid))->GetMarked() != stat) {
if (!updated) {
int img = wxbTreeItemData::GetMarkedStatus(file[6]);
- treeid = tree->AppendItem(item, file[8], img, img, new wxbTreeItemData(file[7], file[8], file[6]));
+ treeid = tree->AppendItem(item, wxbUtils::ConvertToPrintable(file[8]), img, img, new wxbTreeItemData(file[7], file[8], file[6]));
}
}
wxbTreeItemData* data = new wxbTreeItemData(file[7], file[8], file[6], ind);
data->SetId(treeid);
list->SetItemData(ind, (long)data);
- list->SetItem(ind, 1, file[8]); // filename
+ list->SetItem(ind, 1, wxbUtils::ConvertToPrintable(file[8])); // filename
list->SetItem(ind, 2, file[4]); //Size
list->SetItem(ind, 3, file[5]); //date
list->SetItem(ind, 4, file[0]); //perm
ret[5] = line.Mid(42, 19).Trim();
ret[6] = line.Mid(62, 1);
ret[7] = line.Mid(63).Trim();
-
+
if (ret[6] == " ") ret[6] = "";
if (ret[7].GetChar(ret[7].Length()-1) == '/') {
match = false;
while (currentChild.IsOk()) {
- if (tree->GetItemText(currentChild) == current[i]) {
+ if (((wxbTreeItemData*)tree->GetItemData(currentChild))->GetName() == current[i]) {
item = currentChild;
match = true;
break;
wxTreeItemId currentChild = tree->GetFirstChild(currentTreeItem, cookie);
while (currentChild.IsOk()) {
- wxString name2 = tree->GetItemText(currentChild);
+ wxString name2 = ((wxbTreeItemData*)tree->GetItemData(currentChild))->GetName();
if (name2 == name) {
//tree->UnselectAll();
SetWorking(false);
bool wxbUtils::inited = false;
+wxString wxbUtils::ConvertToPrintable(wxString& str) {
+ /* FIXME : Unicode support should be added to fix this problem */
+#if wxUSE_UNICODE == 0
+ wxString strnew(str);
+ /* Convert the string to something printable without unicode */
+ for (unsigned int i = 0; i < strnew.Length(); i++) {
+ /* If the character is not ASCII, print a ? */
+ if (((unsigned char)strnew[i] > (unsigned char)127)) {
+ strnew[i] = '?';
+ }
+ }
+ return strnew;
+#else
+ return str;
+#endif
+}
+
/* Sleeps during milliseconds (wrapper for wxUsleep (2.4) or wxMilliSleep (2.6)) */
void wxbUtils::MilliSleep(unsigned long milliseconds) {
#if wxCHECK_VERSION(2, 6, 0)