X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=src%2FListModel.cpp;h=644e512fc12f941e43969ddee55fd17f28db254c;hb=df8b2c951e66b538dd4d191220e883d86b700864;hp=761e5a4bff6c200c8ed49dba0bfdff35751b4408;hpb=7b529d6a918efe39ca6d63201fcdb954a3c881b4;p=minitube diff --git a/src/ListModel.cpp b/src/ListModel.cpp old mode 100755 new mode 100644 index 761e5a4..644e512 --- a/src/ListModel.cpp +++ b/src/ListModel.cpp @@ -3,6 +3,7 @@ #define MAX_ITEMS 10 static const QString recentKeywordsKey = "recentKeywords"; +static const QString recentChannelsKey = "recentChannels"; ListModel::ListModel(QWidget *parent) : QAbstractListModel(parent) { youtubeSearch = 0; @@ -202,13 +203,32 @@ void ListModel::addVideo(Video* video) { // save keyword QString query = searchParams->keywords(); - QSettings settings; - QStringList keywords = settings.value(recentKeywordsKey).toStringList(); - keywords.removeAll(query); - keywords.prepend(query); - while (keywords.size() > 10) - keywords.removeLast(); - settings.setValue(recentKeywordsKey, keywords); + if (!query.isEmpty() && !searchParams->isTransient()) { + if (query.startsWith("http://")) { + // Save the video title + query += "|" + videos.first()->title(); + } + QSettings settings; + QStringList keywords = settings.value(recentKeywordsKey).toStringList(); + keywords.removeAll(query); + keywords.prepend(query); + while (keywords.size() > 10) + keywords.removeLast(); + settings.setValue(recentKeywordsKey, keywords); + } + + // save channel + QString channel = searchParams->author(); + if (!channel.isEmpty() && !searchParams->isTransient()) { + QSettings settings; + QStringList channels = settings.value(recentChannelsKey).toStringList(); + channels.removeAll(channel); + channels.prepend(channel); + while (channels.size() > 10) + channels.removeLast(); + settings.setValue(recentChannelsKey, channels); + } + } }