X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=src%2FListModel.cpp;h=644e512fc12f941e43969ddee55fd17f28db254c;hb=df8b2c951e66b538dd4d191220e883d86b700864;hp=1c146eec728e1fbf0eedf47397f0c167c3586b78;hpb=e536746e91459fb3a7735f36caee77f299c765e2;p=minitube diff --git a/src/ListModel.cpp b/src/ListModel.cpp old mode 100755 new mode 100644 index 1c146ee..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,17 +203,32 @@ void ListModel::addVideo(Video* video) { // save keyword QString query = searchParams->keywords(); - if (query.startsWith("http://")) { - // Save the video title - query += "|" + videos.first()->title(); + 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); } - 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); + } + } }