summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorJedi18 <targetakhil@gmail.com>2021-02-19 17:04:31 +0530
committerJedi18 <targetakhil@gmail.com>2021-02-19 17:04:31 +0530
commit3ea0e79a36b72878a938a8c41b4c1271668fd429 (patch)
tree0a97326c8b77d2cc8eb7e08b98d11c61399c7aba /src
parentadded bool to choose between showing only rooms with aliases and all of the r... (diff)
downloadnheko-3ea0e79a36b72878a938a8c41b4c1271668fd429.tar.xz
check for empty alias and percent encoding for alias in url
Diffstat (limited to 'src')
-rw-r--r--src/RoomsModel.cpp11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/RoomsModel.cpp b/src/RoomsModel.cpp

index 213d84df..4286f87b 100644 --- a/src/RoomsModel.cpp +++ b/src/RoomsModel.cpp
@@ -1,5 +1,7 @@ #include "RoomsModel.h" +#include <QUrl> + #include "Cache_p.h" #include "CompletionModelRoles.h" @@ -14,7 +16,7 @@ RoomsModel::RoomsModel(bool showOnlyRoomWithAliases, QObject *parent) auto roomAliasesList = cache::client()->getRoomAliases(r); if (showOnlyRoomWithAliases_) { - if (roomAliasesList) { + if (roomAliasesList && !roomAliasesList->alias.empty()) { roomids.push_back(QString::fromStdString(r)); roomAliases.push_back( QString::fromStdString(roomAliasesList->alias)); @@ -44,8 +46,11 @@ RoomsModel::data(const QModelIndex &index, int role) const { if (hasIndex(index.row(), index.column(), index.parent())) { switch (role) { - case CompletionModel::CompletionRole: - return QString("[%1](https://matrix.to/%1)").arg(roomAliases[index.row()]); + case CompletionModel::CompletionRole: { + QString percentEncoding = QUrl::toPercentEncoding(roomAliases[index.row()]); + return QString("[%1](https://matrix.to/#/%2)") + .arg(roomAliases[index.row()], percentEncoding); + } case CompletionModel::SearchRole: case Qt::DisplayRole: case Roles::RoomAlias: