mirror of
https://github.com/KDE/latte-dock.git
synced 2025-03-09 00:58:15 +03:00
first commit for multi on position shortcuts
This commit is contained in:
parent
3c73bff0ac
commit
f32937ca6d
@ -300,7 +300,7 @@ bool GlobalShortcuts::activateLatteEntry(Latte::View *view, int index, Qt::Key m
|
||||
bool activation{modifier == static_cast<Qt::Key>(Qt::META)};
|
||||
bool newInstance{!activation};
|
||||
|
||||
int appletId = view->extendedInterface()->appletIdForIndex(index);
|
||||
int appletId = view->extendedInterface()->appletIdForVisualIndex(index);
|
||||
bool hasPopUp {(appletId>-1 && view->extendedInterface()->appletIsExpandable(appletId))};
|
||||
|
||||
if (view->visibility()->isHidden() && hasPopUp) {
|
||||
|
@ -375,7 +375,7 @@ bool ContainmentInterface::showShortcutBadges(const bool showLatteShortcuts, con
|
||||
return m_showShortcutsMethod.invoke(m_mainItem, Q_ARG(QVariant, showLatteShortcuts), Q_ARG(QVariant, true), Q_ARG(QVariant, showMeta), Q_ARG(QVariant, appLauncherId));
|
||||
}
|
||||
|
||||
int ContainmentInterface::appletIdForIndex(const int index)
|
||||
int ContainmentInterface::appletIdForVisualIndex(const int index)
|
||||
{
|
||||
identifyMainItem();
|
||||
|
||||
|
@ -83,7 +83,7 @@ public:
|
||||
bool updateBadgeForLatteTask(const QString identifier, const QString value);
|
||||
|
||||
int applicationLauncherId() const;
|
||||
int appletIdForIndex(const int index);
|
||||
int appletIdForVisualIndex(const int index);
|
||||
|
||||
QAbstractListModel *latteTasksModel() const;
|
||||
QAbstractListModel *plasmaTasksModel() const;
|
||||
|
@ -0,0 +1,29 @@
|
||||
/*
|
||||
* Copyright 2019 Michail Vourlakos <mvourlakos@gmail.com>
|
||||
*
|
||||
* This file is part of Latte-Dock
|
||||
*
|
||||
* Latte-Dock is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of
|
||||
* the License, or (at your option) any later version.
|
||||
*
|
||||
* Latte-Dock is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
import QtQuick 2.8
|
||||
|
||||
import org.kde.plasma.core 2.0 as PlasmaCore
|
||||
import org.kde.plasma.plasmoid 2.0
|
||||
|
||||
import "./privates" as Ability
|
||||
|
||||
Ability.PositionShortcutsPrivate {
|
||||
|
||||
}
|
@ -0,0 +1,115 @@
|
||||
/*
|
||||
* Copyright 2020 Michail Vourlakos <mvourlakos@gmail.com>
|
||||
*
|
||||
* This file is part of Latte-Dock
|
||||
*
|
||||
* Latte-Dock is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of
|
||||
* the License, or (at your option) any later version.
|
||||
*
|
||||
* Latte-Dock is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
import QtQuick 2.7
|
||||
|
||||
Item {
|
||||
objectName: "PositionShortcuts"
|
||||
|
||||
property bool unifiedGlobalShortcuts: true
|
||||
|
||||
property bool showLatteShortcutBadges: false
|
||||
property bool showAppletShortcutBadges: false
|
||||
property bool showMetaBadge: false
|
||||
property int applicationLauncherId: -1
|
||||
|
||||
signal sglActivateEntryAtIndex(int entryIndex);
|
||||
signal sglNewInstanceForEntryAtIndex(int entryIndex);
|
||||
|
||||
//! this is called from globalshortcuts c++ side
|
||||
function setShowAppletShortcutBadges(showLatteShortcuts, showShortcuts, showMeta, applicationLauncher){
|
||||
if (latteApplet) {
|
||||
var base = unifiedGlobalShortcuts ? parabolicManager.pseudoAppletIndex(latteAppletPos) : 1;
|
||||
latteApplet.setTasksBaseIndex(base - 1);
|
||||
latteApplet.setShowTaskShortcutBadges(showLatteShortcuts);
|
||||
}
|
||||
|
||||
showLatteShortcutBadges = showLatteShortcuts;
|
||||
showAppletShortcutBadges = showShortcuts;
|
||||
showMetaBadge = showMeta;
|
||||
applicationLauncherId = applicationLauncher;
|
||||
|
||||
if (latteApplet) {
|
||||
latteApplet.parabolicManager.updateTasksEdgesIndexes();
|
||||
}
|
||||
}
|
||||
|
||||
//! this is called from Latte::View::ContainmentInterface
|
||||
function activateEntryAtIndex(index) {
|
||||
if (typeof index !== "number") {
|
||||
return;
|
||||
}
|
||||
|
||||
if (latteApplet) {
|
||||
var base = unifiedGlobalShortcuts ? parabolicManager.pseudoAppletIndex(latteAppletPos) : 1;
|
||||
latteApplet.setTasksBaseIndex(base - 1);
|
||||
latteApplet.parabolicManager.updateTasksEdgesIndexes();
|
||||
}
|
||||
|
||||
signalActivateEntryAtIndex(index);
|
||||
}
|
||||
|
||||
//! this is called from Latte::View::ContainmentInterface
|
||||
function newInstanceForEntryAtIndex(index) {
|
||||
if (typeof index !== "number") {
|
||||
return;
|
||||
}
|
||||
|
||||
if (latteApplet) {
|
||||
var base = unifiedGlobalShortcuts ? parabolicManager.pseudoAppletIndex(latteAppletPos) : 1;
|
||||
latteApplet.setTasksBaseIndex(base - 1);
|
||||
latteApplet.parabolicManager.updateTasksEdgesIndexes();
|
||||
}
|
||||
|
||||
signalNewInstanceForEntryAtIndex(index);
|
||||
}
|
||||
|
||||
//! this is called from Latte::View::ContainmentInterface
|
||||
function appletIdForIndex(index) {
|
||||
if (!root.unifiedGlobalShortcuts || parabolicManager.pseudoIndexBelongsToLatteApplet(index)) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
for (var i=0; i<layoutsContainer.startLayout.children.length; ++i){
|
||||
var appletItem = layoutsContainer.startLayout.children[i];
|
||||
|
||||
if (appletItem && appletItem.refersEntryIndex(index)) {
|
||||
return appletItem.applet.id;
|
||||
}
|
||||
}
|
||||
|
||||
for (var j=0; j<layoutsContainer.mainLayout.children.length; ++j){
|
||||
var appletItem2 = layoutsContainer.mainLayout.children[j];
|
||||
|
||||
if (appletItem2 && appletItem2.refersEntryIndex(index)) {
|
||||
return appletItem2.applet.id;
|
||||
}
|
||||
}
|
||||
|
||||
for (var k=0; j<layoutsContainer.endLayout.children.length; ++k){
|
||||
var appletItem3 = layoutsContainer.endLayout.children[k];
|
||||
|
||||
if (appletItem3 && appletItem3.refersEntryIndex(index)) {
|
||||
return appletItem3.applet.id;
|
||||
}
|
||||
}
|
||||
|
||||
return -1;
|
||||
}
|
||||
}
|
@ -33,7 +33,6 @@ import org.kde.latte.components 1.0 as LatteComponents
|
||||
import org.kde.latte.private.app 0.1 as LatteApp
|
||||
import org.kde.latte.private.containment 0.1 as LatteContainment
|
||||
|
||||
|
||||
import "abilities" as Ability
|
||||
import "applet" as Applet
|
||||
import "colorizer" as Colorizer
|
||||
@ -55,8 +54,6 @@ Item {
|
||||
signal destroyInternalViewSplitters();
|
||||
signal emptyAreasWheel(QtObject wheel);
|
||||
signal separatorsUpdated();
|
||||
signal signalActivateEntryAtIndex(int entryIndex);
|
||||
signal signalNewInstanceForEntryAtIndex(int entryIndex);
|
||||
signal updateEffectsArea();
|
||||
signal updateIndexes();
|
||||
|
||||
@ -241,10 +238,6 @@ Item {
|
||||
property bool mouseWheelActions: plasmoid.configuration.mouseWheelActions
|
||||
property bool onlyAddingStarup: true //is used for the initialization phase in startup where there aren't removals, this variable provides a way to grow icon size
|
||||
property bool shrinkThickMargins: plasmoid.configuration.shrinkThickMargins
|
||||
property bool showLatteShortcutBadges: false
|
||||
property bool showAppletShortcutBadges: false
|
||||
property bool showMetaBadge: false
|
||||
property int applicationLauncherId: -1
|
||||
|
||||
//FIXME: possibly this is going to be the default behavior, this user choice
|
||||
//has been dropped from the Dock Configuration Window
|
||||
@ -434,7 +427,6 @@ Item {
|
||||
property bool dockIsHidden: latteView && latteView.visibility ? latteView.visibility.isHidden : true
|
||||
|
||||
property bool titleTooltips: plasmoid.configuration.titleTooltips
|
||||
property bool unifiedGlobalShortcuts: true
|
||||
|
||||
property int tasksCount: latteApplet ? latteApplet.tasksCount : 0
|
||||
|
||||
@ -1001,88 +993,6 @@ Item {
|
||||
titleTooltipDialog.hide(debug);
|
||||
}
|
||||
|
||||
//! this is called from globalshortcuts c++ side
|
||||
function setShowAppletShortcutBadges(showLatteShortcuts, showShortcuts, showMeta, applicationLauncher){
|
||||
if (latteApplet) {
|
||||
var base = unifiedGlobalShortcuts ? parabolicManager.pseudoAppletIndex(latteAppletPos) : 1;
|
||||
latteApplet.setTasksBaseIndex(base - 1);
|
||||
latteApplet.setShowTaskShortcutBadges(showLatteShortcuts);
|
||||
}
|
||||
|
||||
showLatteShortcutBadges = showLatteShortcuts;
|
||||
showAppletShortcutBadges = showShortcuts;
|
||||
showMetaBadge = showMeta;
|
||||
applicationLauncherId = applicationLauncher;
|
||||
|
||||
if (latteApplet) {
|
||||
latteApplet.parabolicManager.updateTasksEdgesIndexes();
|
||||
}
|
||||
}
|
||||
|
||||
//! this is called from Latte::View::ContainmentInterface
|
||||
function activateEntryAtIndex(index) {
|
||||
if (typeof index !== "number") {
|
||||
return;
|
||||
}
|
||||
|
||||
if (latteApplet) {
|
||||
var base = unifiedGlobalShortcuts ? parabolicManager.pseudoAppletIndex(latteAppletPos) : 1;
|
||||
latteApplet.setTasksBaseIndex(base - 1);
|
||||
latteApplet.parabolicManager.updateTasksEdgesIndexes();
|
||||
}
|
||||
|
||||
signalActivateEntryAtIndex(index);
|
||||
}
|
||||
|
||||
//! this is called from Latte::View::ContainmentInterface
|
||||
function newInstanceForEntryAtIndex(index) {
|
||||
if (typeof index !== "number") {
|
||||
return;
|
||||
}
|
||||
|
||||
if (latteApplet) {
|
||||
var base = unifiedGlobalShortcuts ? parabolicManager.pseudoAppletIndex(latteAppletPos) : 1;
|
||||
latteApplet.setTasksBaseIndex(base - 1);
|
||||
latteApplet.parabolicManager.updateTasksEdgesIndexes();
|
||||
}
|
||||
|
||||
signalNewInstanceForEntryAtIndex(index);
|
||||
}
|
||||
|
||||
//! this is called from Latte::View::ContainmentInterface
|
||||
function appletIdForIndex(index) {
|
||||
if (!root.unifiedGlobalShortcuts || parabolicManager.pseudoIndexBelongsToLatteApplet(index)) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
for (var i=0; i<layoutsContainer.startLayout.children.length; ++i){
|
||||
var appletItem = layoutsContainer.startLayout.children[i];
|
||||
|
||||
if (appletItem && appletItem.refersEntryIndex(index)) {
|
||||
return appletItem.applet.id;
|
||||
}
|
||||
}
|
||||
|
||||
for (var j=0; j<layoutsContainer.mainLayout.children.length; ++j){
|
||||
var appletItem2 = layoutsContainer.mainLayout.children[j];
|
||||
|
||||
if (appletItem2 && appletItem2.refersEntryIndex(index)) {
|
||||
return appletItem2.applet.id;
|
||||
}
|
||||
}
|
||||
|
||||
for (var k=0; j<layoutsContainer.endLayout.children.length; ++k){
|
||||
var appletItem3 = layoutsContainer.endLayout.children[k];
|
||||
|
||||
if (appletItem3 && appletItem3.refersEntryIndex(index)) {
|
||||
return appletItem3.applet.id;
|
||||
}
|
||||
}
|
||||
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
||||
function showTooltipLabel(taskItem, text){
|
||||
titleTooltipDialog.show(taskItem, text);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user