Files trunk.orig/psi and trunk/psi differ diff -U 3 -H -d -r -N -- trunk.orig/src/desktoputil.cpp trunk/src/desktoputil.cpp --- trunk.orig/src/desktoputil.cpp 2008-04-08 15:31:05.000000000 +0400 +++ trunk/src/desktoputil.cpp 2008-04-08 20:50:26.000000000 +0400 @@ -79,7 +79,9 @@ */ bool DesktopUtil::openUrl(const QString& url) { - QByteArray ascii = url.toAscii(); + if (url.startsWith("addnick://")) return true; + + QByteArray ascii = url.toUtf8(); if (ascii == url) return doOpenUrl(QUrl::fromEncoded(ascii)); else diff -U 3 -H -d -r -N -- trunk.orig/src/groupchatdlg.cpp trunk/src/groupchatdlg.cpp --- trunk.orig/src/groupchatdlg.cpp 2008-04-08 15:31:04.000000000 +0400 +++ trunk/src/groupchatdlg.cpp 2008-04-08 20:07:26.000000000 +0400 @@ -75,6 +75,7 @@ #include "psicontactlist.h" #include "accountlabel.h" #include "gcuserview.h" +#include "urlobject.h" #ifdef Q_WS_WIN #include @@ -449,6 +450,16 @@ } }; +void GCMainDlg::openURL(QString url){ + //qFatal("zaebca"); + + if (url.startsWith("addnick://")){ + ui_.mle->chatEdit()->insert(url.right( url.count()-10) + QString(": ")); + ui_.mle->chatEdit()->setFocus(); + + } +} + GCMainDlg::GCMainDlg(PsiAccount *pa, const Jid &j, TabManager *tabManager) : TabbableWidget(j.userHost(), pa, tabManager) { @@ -460,6 +471,9 @@ d->self = d->prev_self = j.resource(); account()->dialogRegister(this, jid()); connect(account(), SIGNAL(updatedActivity()), SLOT(pa_updatedActivity())); + + connect(URLObject::getInstance(), SIGNAL(openURL(QString)), SLOT(openURL(QString))); + d->mucManager = new MUCManager(account()->client(), jid()); options_ = PsiOptions::instance(); @@ -1317,7 +1331,7 @@ } else { //ui_.log->append(QString("").arg(color) + QString("[%1] <").arg(timestr) + Qt::escape(who) + QString("> ") + txt); - ui_.log->appendText(QString("").arg(nickcolor) + QString("[%1] <").arg(timestr) + Qt::escape(who) + QString("> ") + QString("").arg(textcolor) + alerttagso + txt + alerttagsc +""); + ui_.log->appendText(QString("").arg(nickcolor) + QString("[%1] <").arg(timestr) + QString("%1").arg(Qt::escape(who)) + QString("> ") + QString("").arg(textcolor) + alerttagso + txt + alerttagsc +""); } } diff -U 3 -H -d -r -N -- trunk.orig/src/groupchatdlg.h trunk/src/groupchatdlg.h --- trunk.orig/src/groupchatdlg.h 2008-04-08 15:31:04.000000000 +0400 +++ trunk/src/groupchatdlg.h 2008-04-08 20:07:38.000000000 +0400 @@ -103,6 +103,7 @@ void optionsUpdate(); private slots: + void openURL(QString); void scrollUp(); void scrollDown(); void mle_returnPressed(); Files trunk.orig/src/psi and trunk/src/psi differ Files trunk.orig/third-party/qca/libqca_psi.a and trunk/third-party/qca/libqca_psi.a differ cat /var/tmp/portage/net-im/psi-9999-r3/temp/11.diff-27402.out ***** 11.diff ***** =================== PATCH COMMAND: patch -p0 -g0 -E --no-backup-if-mismatch < /usr/local/portage/net-im/psi/files/11.diff =================== can't find file to patch at input line 5 Perhaps you used the wrong -p or --strip option? The text leading up to this was: -------------------------- |Files trunk.orig/psi and trunk/psi differ |diff -C 8 -H -w -r -N -- trunk.orig/src/desktoputil.cpp trunk/src/desktoputil.cpp |*** trunk.orig/src/desktoputil.cpp Tue Apr 8 15:31:05 2008 |--- trunk/src/desktoputil.cpp Tue Apr 8 20:50:26 2008 -------------------------- No file to patch. Skipping patch. 1 out of 1 hunk ignored patch: **** unexpected end of hunk at line 60 =================== PATCH COMMAND: patch -p1 -g0 -E --no-backup-if-mismatch < /usr/local/portage/net-im/psi/files/11.diff =================== patching file src/desktoputil.cpp patch: **** unexpected end of hunk at line 60 =================== PATCH COMMAND: patch -p2 -g0 -E --no-backup-if-mismatch < /usr/local/portage/net-im/psi/files/11.diff =================== can't find file to patch at input line 5 Perhaps you used the wrong -p or --strip option? The text leading up to this was: -------------------------- |Files trunk.orig/psi and trunk/psi differ |diff -C 8 -H -w -r -N -- trunk.orig/src/desktoputil.cpp trunk/src/desktoputil.cpp |*** trunk.orig/src/desktoputil.cpp Tue Apr 8 15:31:05 2008 |--- trunk/src/desktoputil.cpp Tue Apr 8 20:50:26 2008 -------------------------- No file to patch. Skipping patch. 1 out of 1 hunk ignored patch: **** unexpected end of hunk at line 60 =================== PATCH COMMAND: patch -p3 -g0 -E --no-backup-if-mismatch < /usr/local/portage/net-im/psi/files/11.diff =================== missing header for context diff at line 5 of patch can't find file to patch at input line 5 Perhaps you used the wrong -p or --strip option? The text leading up to this was: -------------------------- |Files trunk.orig/psi and trunk/psi differ |diff -C 8 -H -w -r -N -- trunk.orig/src/desktoputil.cpp trunk/src/desktoputil.cpp |*** trunk.orig/src/desktoputil.cpp Tue Apr 8 15:31:05 2008 |--- trunk/src/desktoputil.cpp Tue Apr 8 20:50:26 2008 -------------------------- No file to patch. Skipping patch. 1 out of 1 hunk ignored patch: **** unexpected end of hunk at line 60 =================== PATCH COMMAND: patch -p4 -g0 -E --no-backup-if-mismatch < /usr/local/portage/net-im/psi/files/11.diff =================== missing header for context diff at line 5 of patch can't find file to patch at input line 5 Perhaps you used the wrong -p or --strip option? The text leading up to this was: -------------------------- |Files trunk.orig/psi and trunk/psi differ |diff -C 8 -H -w -r -N -- trunk.orig/src/desktoputil.cpp trunk/src/desktoputil.cpp |*** trunk.orig/src/desktoputil.cpp Tue Apr 8 15:31:05 2008 |--- trunk/src/desktoputil.cpp Tue Apr 8 20:50:26 2008 -------------------------- No file to patch. Skipping patch. 1 out of 1 hunk ignored patch: **** unexpected end of hunk at line 60