Index: qpe-gaim/src/QGaimAccountsWindow.cpp
===================================================================
--- qpe-gaim.orig/src/QGaimAccountsWindow.cpp	2005-03-06 21:16:47.098868556 +0100
+++ qpe-gaim/src/QGaimAccountsWindow.cpp	2005-03-06 21:16:47.353832369 +0100
@@ -40,6 +40,7 @@
 #include <qtimer.h>
 #include <qtoolbar.h>
 #include <qtoolbutton.h>
+#include <qmessagebox.h>
 
 /**************************************************************************
  * QGaimAccountListItem
@@ -525,7 +526,7 @@
 	if (meter == NULL)
 		meter = meters->addConnection(gc);
 
-	meter->update(QString(text), step, step_count);
+	meter->update(QString::fromUtf8(text), step, step_count);
 }
 
 static void
@@ -553,11 +554,19 @@
 }
 
 static void
+qGaimReportDisconnected(GaimConnection *gc, const char *text)
+{
+//    if (QMessageBox::critical (NULL, "Disconnected", QString("<p>")+text+QString("</p>"), "Retry", "Cancel") == 0)
+    QMessageBox::critical (NULL, "Disconnected", QString("<p>")+text+QString("</p>"));
+}
+
+static void
 qGaimConnNotice(GaimConnection *gc, const char *text)
 {
 	/* XXX */
 	gc = NULL;
 	text = NULL;
+//	QMessageBox::information (NULL, "Notice", QString::fromUtf8(text));
 }
 
 static GaimConnectionUiOps connUiOps =
@@ -566,7 +575,7 @@
 	qGaimConnConnected,
 	qGaimConnDisconnected,
 	qGaimConnNotice,
-	NULL
+	qGaimReportDisconnected
 };
 
 GaimConnectionUiOps *
Index: qpe-gaim/src/QGaimBListWindow.cpp
===================================================================
--- qpe-gaim.orig/src/QGaimBListWindow.cpp	2005-03-06 21:16:47.099868414 +0100
+++ qpe-gaim/src/QGaimBListWindow.cpp	2005-03-06 21:16:47.354832227 +0100
@@ -428,7 +428,7 @@
 	dialog = new QGaimAddBuddyDialog(this, "", true);
 
 	if (group != NULL)
-		dialog->setGroup(group->name);
+		dialog->setGroup(QString::fromUtf8(group->name));
 
 	dialog->showMaximized();
 }
@@ -469,7 +469,7 @@
 	dialog = new QGaimAddChatDialog(this, "", true);
 
 	if (group != NULL)
-		dialog->setGroup(group->name);
+		dialog->setGroup(QString::fromUtf8(group->name));
 
 	dialog->showMaximized();
 }
Index: qpe-gaim/src/QGaimBuddyList.cpp
===================================================================
--- qpe-gaim.orig/src/QGaimBuddyList.cpp	2005-03-06 21:16:47.101868130 +0100
+++ qpe-gaim/src/QGaimBuddyList.cpp	2005-03-06 21:18:39.073975291 +0100
@@ -131,7 +131,7 @@
 			setText(1, text);
 		}
 
-		setText(0, gaim_buddy_get_alias(buddy));
+                setText(0, QString::fromUtf8(gaim_buddy_get_alias(buddy)));
 	}
 	else if (GAIM_BLIST_NODE_IS_BUDDY(node))
 	{
@@ -164,8 +164,8 @@
 			text += idle;
 		}
 
-		setPixmap(0, QGaimBuddyList::getBuddyStatusIcon(node, pixmapSize));
-		setText(0, gaim_buddy_get_alias(buddy));
+                setPixmap(0, QGaimBuddyList::getBuddyStatusIcon(node, pixmapSize));
+                setText(0, QString::fromUtf8(gaim_buddy_get_alias(buddy)));
 		setText(1, text);
 	}
 	else if (GAIM_BLIST_NODE_IS_CHAT(node))
@@ -325,9 +325,9 @@
 					statusText = QObject::tr("Offline ");
 
 				if (contact != NULL && !isExpanded() && contact->alias != NULL)
-					topText = contact->alias;
+                                    topText = QString::fromUtf8(contact->alias);
 				else
-					topText = gaim_buddy_get_alias(buddy);
+                                    topText = QString::fromUtf8(gaim_buddy_get_alias(buddy));
 
 				bottomText = statusText + idleTime + warning;
 
@@ -401,7 +401,7 @@
 	QString groupName, detail;
 	QFont f = p->font();
 
-	groupName = group->name;
+	groupName = QString::fromUtf8(group->name);
 
 	if (gaim_prefs_get_bool("/gaim/qpe/blist/show_group_count"))
 	{
Index: qpe-gaim/src/QGaimConnectionMeter.cpp
===================================================================
--- qpe-gaim.orig/src/QGaimConnectionMeter.cpp	2005-03-06 21:16:47.101868130 +0100
+++ qpe-gaim/src/QGaimConnectionMeter.cpp	2005-03-06 21:16:47.355832086 +0100
@@ -74,14 +74,12 @@
 }
 
 void
-QGaimConnectionMeter::update(QString, int progress, int totalSteps)
+QGaimConnectionMeter::update(QString str, int progress, int totalSteps)
 {
 	if (progress == 0)
 		progressBar->setTotalSteps(totalSteps);
 
 	progressBar->setProgress(progress);
-
-//	progressBar->setIndicator(str, progress, totalSteps);
 }
 
 GaimConnection *
Index: qpe-gaim/src/QGaimConvWindow.cpp
===================================================================
--- qpe-gaim.orig/src/QGaimConvWindow.cpp	2005-03-06 21:16:47.103867846 +0100
+++ qpe-gaim/src/QGaimConvWindow.cpp	2005-03-06 21:16:47.357831802 +0100
@@ -93,7 +93,7 @@
 	if (flags & GAIM_MESSAGE_SYSTEM)
 	{
 		txt  = "<b>";
-		txt += message;
+		txt += QString::fromUtf8(message);
 		txt += "</b><br>\n";
 	}
 	else
@@ -109,13 +109,13 @@
 			if (meify(newMessage, length))
 			{
 				nick  = "***";
-				nick += who;
+				nick += QString::fromUtf8(who);
 				color = "#6C2585";
 			}
 			else
 			{
 				nick  = "*";
-				nick += who;
+				nick += QString::fromUtf8(who);
 				nick += "*:";
 				color = "#00FF00";
 			}
@@ -129,7 +129,7 @@
 				else
 					nick = "***";
 
-				nick += who;
+				nick += QString::fromUtf8(who);
 
 				if (flags & GAIM_MESSAGE_NICK)
 					color = "#AF7F00";
@@ -138,7 +138,7 @@
 			}
 			else
 			{
-				nick = who;
+				nick = QString::fromUtf8(who);
 
 				if (flags & GAIM_MESSAGE_AUTO_RESP)
 					nick += "&lt;AUTO-REPLY&gt; :";
@@ -158,7 +158,7 @@
 		txt += nick;
 		txt += "</b></font> ";
 
-		txt += stripFontFace(newMessage);
+		txt += stripFontFace(QString::fromUtf8(newMessage));
 		txt += "<br>\n";
 
 		g_free(newMessage);
@@ -353,7 +353,7 @@
 	else
 		item->setText(0, " ");
 
-	item->setText(1, user);
+	item->setText(1, QString::fromUtf8(user));
 	userList->insertItem(item);
 }
 
@@ -373,9 +373,9 @@
 		 item != NULL;
 		 item = item->nextSibling())
 	{
-		if (item->text(1) == oldName)
+		if (item->text(1) == QString::fromUtf8(oldName))
 		{
-			item->setText(1, newName);
+			item->setText(1, QString::fromUtf8(newName));
 			break;
 		}
 	}
@@ -390,7 +390,7 @@
 		 item != NULL;
 		 item = item->nextSibling())
 	{
-		if (item->text(1) == user)
+		if (item->text(1) == QString::fromUtf8(user))
 		{
 			delete item;
 			break;
@@ -473,7 +473,7 @@
 	if (text[text.length() - 1] == '\n')
 		text.remove(text.length() - 1, 1);
 
-	gaim_conv_chat_send(GAIM_CONV_CHAT(conv), text);
+	gaim_conv_chat_send(GAIM_CONV_CHAT(conv), text.utf8());
 
 	entry->setText("");
 }
@@ -650,7 +650,7 @@
 	if (text[text.length() - 1] == '\n')
 		text.remove(text.length() - 1, 1);
 
-	gaim_conv_im_send(GAIM_CONV_IM(conv), text);
+	gaim_conv_im_send(GAIM_CONV_IM(conv), text.utf8());
 
 	entry->setText("");
 
@@ -995,7 +995,7 @@
 		int result = QMessageBox::information(this,
 				tr("Remove Buddy"),
 				tr("<p>You are about to remove %1 from your buddy list.</p>\n"
-				   "<p>Do you want to continue?</p>").arg(name),
+				   "<p>Do you want to continue?</p>").arg(QString::fromUtf8(name)),
 				tr("&Remove Buddy"), tr("&Cancel"),
 				QString::null, 1, 1);
 
Index: qpe-gaim/src/QGaimDialogs.cpp
===================================================================
--- qpe-gaim.orig/src/QGaimDialogs.cpp	2005-03-06 21:16:47.105867562 +0100
+++ qpe-gaim/src/QGaimDialogs.cpp	2005-03-06 21:16:47.358831660 +0100
@@ -141,7 +141,7 @@
 			{
 				GaimGroup *g = (GaimGroup *)node;
 
-				groupCombo->insertItem(g->name);
+				groupCombo->insertItem(QString::fromUtf8(g->name));
 			}
 		}
 	}
@@ -151,9 +151,9 @@
 QGaimAddBuddyDialog::accept()
 {
 	GaimConversation *conv;
-	QString screenname = screenNameEntry->text();
-	QString alias = aliasEntry->text();
-	QString group_name = groupCombo->currentText();
+	QString screenname = screenNameEntry->text().utf8();
+	QString alias = aliasEntry->text().utf8();
+	QString group_name = groupCombo->currentText().utf8();
 	GaimAccount *account;
 	GaimBuddy *buddy;
 	GaimGroup *group;
@@ -290,7 +290,7 @@
 			{
 				GaimGroup *g = (GaimGroup *)node;
 
-				groupCombo->insertItem(g->name);
+				groupCombo->insertItem(QString::fromUtf8(g->name));
 			}
 		}
 	}
@@ -371,8 +371,8 @@
 	GaimGroup *group;
 	GList *chatInfoList, *l;
 	GHashTable *components;
-	QString alias = aliasEntry->text();
-	QString groupName = groupCombo->currentText();
+	QString alias = aliasEntry->text().utf8();
+	QString groupName = groupCombo->currentText().utf8();
 	QWidget *widget;
 	struct proto_chat_entry *pce;
 
@@ -495,7 +495,7 @@
 void
 QGaimNewImDialog::accept()
 {
-	QString screenname = screenNameEntry->text();
+	QString screenname = screenNameEntry->text().utf8();
 	GaimAccount *account;
 	GaimConversation *conv;
 
Index: qpe-gaim/src/QGaimRequest.cpp
===================================================================
--- qpe-gaim.orig/src/QGaimRequest.cpp	2005-03-06 21:16:47.109866995 +0100
+++ qpe-gaim/src/QGaimRequest.cpp	2005-03-06 21:16:47.358831660 +0100
@@ -68,7 +68,7 @@
 	dialog->setInfoText(message);
 
 	if (defaultValue != NULL)
-		dialog->setDefaultValue(defaultValue);
+		dialog->setDefaultValue(QString::fromUtf8(defaultValue));
 
 	if (masked)
 		dialog->setMasked();
@@ -85,7 +85,7 @@
 	if (result == 1)
 	{
 		if (okCb != NULL)
-			((GaimRequestInputCb)okCb)(userData, dialog->getText());
+			((GaimRequestInputCb)okCb)(userData, dialog->getText().utf8());
 	}
 	else if (cancelCb != NULL)
 		((GaimRequestInputCb)cancelCb)(userData, NULL);