diff --git a/plasma/plasmoids/io.gitgud.wackyideas.SevenStart/contents/ui/FavoritesView.qml b/plasma/plasmoids/io.gitgud.wackyideas.SevenStart/contents/ui/FavoritesView.qml old mode 100755 new mode 100644 diff --git a/plasma/plasmoids/io.gitgud.wackyideas.SevenStart/contents/ui/MenuRepresentation.qml b/plasma/plasmoids/io.gitgud.wackyideas.SevenStart/contents/ui/MenuRepresentation.qml old mode 100755 new mode 100644 index 9c045094..bcd6a757 --- a/plasma/plasmoids/io.gitgud.wackyideas.SevenStart/contents/ui/MenuRepresentation.qml +++ b/plasma/plasmoids/io.gitgud.wackyideas.SevenStart/contents/ui/MenuRepresentation.qml @@ -218,7 +218,7 @@ PlasmaCore.Dialog { Timer { // Janky wayland problems require janky solutions id: wayland_fix - interval: 25 + interval: 50 onTriggered: root.hideOnWindowDeactivate = true; } KCoreAddons.KUser { id: kuser } // Used for getting the username and icon. diff --git a/plasma/plasmoids/io.gitgud.wackyideas.SevenStart/contents/ui/OftenUsedView.qml b/plasma/plasmoids/io.gitgud.wackyideas.SevenStart/contents/ui/OftenUsedView.qml old mode 100755 new mode 100644 index bd036fb5..187e0d51 --- a/plasma/plasmoids/io.gitgud.wackyideas.SevenStart/contents/ui/OftenUsedView.qml +++ b/plasma/plasmoids/io.gitgud.wackyideas.SevenStart/contents/ui/OftenUsedView.qml @@ -99,6 +99,7 @@ Item { sourceModel: recentUsageModel property var favoritesModel: globalFavorites property int favoritesCount: sourceModel.favoritesModel.count + property int favoritesFound: 0 onFavoritesCountChanged: Qt.callLater(() => { sourceModel.refresh()}); onCountChanged: Qt.callLater(() => { if(count > Plasmoid.configuration.numberRows) sourceModel.refresh(); @@ -107,7 +108,13 @@ Item { sourceModel.trigger(index, str, ptr); } filterRowCallback: function(source_row, source_parent) { - return source_row < Plasmoid.configuration.numberRows// - sourceModel.favoritesModel.count; + if(source_row == 0) favoritesFound = 0; + const FavoriteIdRole = sourceModel.KItemModels.KRoleNames.role("favoriteId"); + const favoriteId = sourceModel.data(sourceModel.index(source_row, 0, source_parent), FavoriteIdRole); + var hasFavorite = favoritesIds.idList.indexOf(favoriteId) === -1 + if(!hasFavorite) favoritesFound++; + + return hasFavorite && source_row < (Plasmoid.configuration.numberRows+favoritesFound)// - sourceModel.favoritesModel.count; }; } diff --git a/plasma/plasmoids/io.gitgud.wackyideas.SevenStart/contents/ui/main.qml b/plasma/plasmoids/io.gitgud.wackyideas.SevenStart/contents/ui/main.qml old mode 100755 new mode 100644 index e87ff2f2..bc93f754 --- a/plasma/plasmoids/io.gitgud.wackyideas.SevenStart/contents/ui/main.qml +++ b/plasma/plasmoids/io.gitgud.wackyideas.SevenStart/contents/ui/main.qml @@ -79,6 +79,28 @@ PlasmoidItem { id: windowSystem } + Item { + id: favoritesIds + + property list idList: { + var l = []; + for(var i = 0; i < favoritesIds.children.length; i++) { + if(favoritesIds.children[i].text) { + l.push(favoritesIds.children[i].text); + } + } + return l; + } + + Repeater { + model: globalFavorites + delegate: Item { + required property var model + property string text: model.favoriteId + } + } + + } Kicker.RecentUsageModel { id: recentUsageModel favoritesModel: globalFavorites