This commit is contained in:
Valeria Fadeeva 2023-07-02 11:51:48 +05:00
parent c771118ef6
commit d2ac00c2a7
31 changed files with 1079 additions and 390 deletions

8
.gitignore vendored
View File

@ -1,8 +0,0 @@
*.pkg.tar
*.pkg.tar.*
*.zst
*.zst.*
pkg/
src/
.idea/
plasma-plasmoid-OnzeMenuKDE

View File

@ -1,21 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<kcfg xmlns="http://www.kde.org/standards/kcfg/1.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.kde.org/standards/kcfg/1.0
http://www.kde.org/standards/kcfg/1.0/kcfg.xsd" >
<kcfg xmlns="http://www.kde.org/standards/kcfg/1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.kde.org/standards/kcfg/1.0 http://www.kde.org/standards/kcfg/1.0/kcfg.xsd">
<kcfgfile name=""/>
<group name="General">
<entry name="displayPosition" type="Enum">
<label>Position.</label>
<choices name="Settings::displayPosition">
<choice name="Default" />
<choice name="Center" />
<choice name="CenterBottom" />
<choice name="Default"/>
<choice name="Center"/>
<choice name="CenterBottom"/>
</choices>
<default>2</default>
</entry>
<entry name="icon" type="String">
<default>start-here-kde</default>
</entry>
@ -23,27 +18,26 @@
<default>false</default>
</entry>
<entry name="customButtonImage" type="Url">
<default></default>
<default/>
</entry>
<entry name="showFilterList" type="Bool">
<default>true</default>
</entry>
<entry name="appNameFormat" type="Int">
<default>0</default>
</entry>
<entry name="limitDepth" type="Bool">
<default>false</default>
</entry>
<entry name="numberColumns" type="Int">
<default>6</default>
</entry>
<entry name="numberRows" type="Int">
<default>3</default>
</entry>
<entry name="textLabelFontsize" type="Int">
<default>12</default>
</entry>
<entry name="defaultSize" type="String">
<default>Medium</default>
</entry>
@ -54,12 +48,20 @@
<default>logout,lock-screen,reboot,shutdown</default>
</entry>
<entry name="hiddenApplications" type="StringList">
<default></default>
<default/>
</entry>
<entry name="useExtraRunners" type="Bool">
<default>true</default>
</entry>
<entry name="hideRecentDocs" type="Bool">
<default>false</default>
</entry>
<entry name="showRecentApps" type="Bool">
<default>false</default>
</entry>
<entry name="pullupAnimation" type="Bool">
<default>true</default>
</entry>
<entry name="extraRunners" type="StringList">
<default>bookmarks,baloosearch</default>
</entry>
@ -76,23 +78,25 @@
<entry name="removeApplicationCommand" type="String">
<default>muon-discover --application</default>
</entry>
<entry name="iconSmooth" type="Bool">
<default>false</default>
</entry>
<entry name="showAtCenter" type="Bool">
<default>true</default>
</entry>
<entry name="showFavoritesFirst" type="Bool">
<default>false</default>
</entry>
<entry name="favoritesPortedToKAstats" type="Bool">
<label>Are the favorites ported to use KActivitiesStats to allow per-activity favorites</label>
<default>false</default>
</entry>
<entry name="viewUser" type="Bool">
<default>true</default>
</entry>
<entry name="menuLabel" type="string">
<label>Text label for the Panel button</label>
<default></default>
</entry>
</group>
</kcfg>

View File

@ -7,14 +7,15 @@ Rectangle{
id:item
implicitHeight: units.gridUnit * 1.8
width: lb.implicitWidth + units.smallSpacing * 5 + icon.width
implicitHeight: Math.floor( PlasmaCore.Units.gridUnit * 1.8)
width: Math.floor(lb.implicitWidth + PlasmaCore.Units.smallSpacing * 5 + icon.width)
border.width: 1
border.color: mouseItem.containsMouse ? theme.highlightColor : colorWithAlpha(theme.textColor,0.2)
radius: 4
radius: 2
color: theme.backgroundColor
smooth: plasmoid.configuration.iconSmooth
property alias text: lb.text
@ -27,9 +28,9 @@ Rectangle{
RowLayout{
id: row
anchors.fill: parent
anchors.leftMargin: units.smallSpacing * 2
anchors.rightMargin: units.smallSpacing * 2
spacing: units.smallSpacing
anchors.leftMargin: PlasmaCore.Units.smallSpacing * 2
anchors.rightMargin: PlasmaCore.Units.smallSpacing * 2
spacing: PlasmaCore.Units.smallSpacing
LayoutMirroring.enabled: mirror
Label{
@ -38,8 +39,9 @@ Rectangle{
}
PlasmaCore.IconItem {
id: icon
implicitHeight: units.gridUnit
implicitHeight: PlasmaCore.Units.gridUnit
implicitWidth: implicitHeight
smooth: plasmoid.configuration.iconSmooth
}
}

View File

@ -0,0 +1,58 @@
/*
* Copyright 2016 David Edmundson <davidedmundson@kde.org>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU Library General Public License as
* published by the Free Software Foundation; either version 2 or
* (at your option) any later version.
*
* This program 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 Library General Public
* License along with this program; if not, write to the
* Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
import QtQuick 2.8
import QtQuick.Layouts 1.1
import QtQuick.Controls 1.0
import org.kde.plasma.core 2.0
ColumnLayout {
readonly property bool softwareRendering: GraphicsInfo.api === GraphicsInfo.Software
Layout.fillWidth: true
Item{
Layout.fillHeight: true
}
Label {
text: Qt.formatTime(timeSource.data["Local"]["DateTime"])
color: ColorScope.textColor
style: softwareRendering ? Text.Outline : Text.Normal
styleColor: softwareRendering ? ColorScope.backgroundColor : "transparent" //no outline, doesn't matter
font.pointSize: 24
Layout.alignment: Qt.AlignHCenter
}
Label {
text: Qt.formatDate(timeSource.data["Local"]["DateTime"], Qt.DefaultLocaleLongDate)
color: ColorScope.textColor
style: softwareRendering ? Text.Outline : Text.Normal
styleColor: softwareRendering ? ColorScope.backgroundColor : "transparent" //no outline, doesn't matter
font.pointSize: 11
Layout.alignment: Qt.AlignHCenter
}
Item{
Layout.fillHeight: true
}
DataSource {
id: timeSource
engine: "time"
connectedSources: ["Local"]
interval: 1000
}
}

View File

@ -22,6 +22,7 @@ import QtQuick.Layouts 1.1
import org.kde.plasma.plasmoid 2.0
import org.kde.plasma.core 2.0 as PlasmaCore
import org.kde.plasma.components 3.0 as PC3
Item {
id: root
@ -38,8 +39,15 @@ Item {
Plasmoid.status: dashWindow && dashWindow.visible ? PlasmaCore.Types.RequiresAttentionStatus : PlasmaCore.Types.PassiveStatus
onWidthChanged: updateSizeHints()
onHeightChanged: updateSizeHints()
// Taken from DigitalClock to ensure uniform sizing when next to each other
readonly property bool tooSmall: plasmoid.formFactor === PlasmaCore.Types.Horizontal && Math.round(2 * (root.height / 5)) <= PlasmaCore.Theme.smallestFont.pixelSize
readonly property bool shouldHaveIcon: Plasmoid.formFactor === PlasmaCore.Types.Vertical || Plasmoid.icon !== ""
readonly property bool shouldHaveLabel: Plasmoid.formFactor !== PlasmaCore.Types.Vertical && Plasmoid.configuration.menuLabel !== ""
// onWidthChanged: updateSizeHints()
// onHeightChanged: updateSizeHints()
function updateSizeHints() {
if (useCustomButtonImage) {
@ -47,31 +55,78 @@ Item {
var scaledHeight = Math.floor(parent.width * (buttonIcon.implicitHeight / buttonIcon.implicitWidth));
root.Layout.minimumHeight = scaledHeight;
root.Layout.maximumHeight = scaledHeight;
root.Layout.minimumWidth = units.iconSizes.small;
root.Layout.maximumWidth = inPanel ? units.iconSizeHints.panel : -1;
root.Layout.minimumWidth = PlasmaCore.Units.iconSizes.small;
root.Layout.maximumWidth = inPanel ? PlasmaCore.Units.iconSizeHints.panel : -1;
} else {
var scaledWidth = Math.floor(parent.height * (buttonIcon.implicitWidth / buttonIcon.implicitHeight));
root.Layout.minimumWidth = scaledWidth;
root.Layout.maximumWidth = scaledWidth;
root.Layout.minimumHeight = units.iconSizes.small;
root.Layout.maximumHeight = inPanel ? units.iconSizeHints.panel : -1;
root.Layout.minimumHeight = PlasmaCore.Units.iconSizes.small;
root.Layout.maximumHeight = inPanel ? PlasmaCore.Units.iconSizeHints.panel : -1;
}
} else {
root.Layout.minimumWidth = units.iconSizes.small;
root.Layout.maximumWidth = inPanel ? units.iconSizeHints.panel : -1;
root.Layout.minimumHeight = units.iconSizes.small
root.Layout.maximumHeight = inPanel ? units.iconSizeHints.panel : -1;
root.Layout.minimumWidth = PlasmaCore.Units.iconSizes.small;
root.Layout.maximumWidth = inPanel ? PlasmaCore.Units.iconSizeHints.panel : -1;
root.Layout.minimumHeight = PlasmaCore.Units.iconSizes.small
root.Layout.maximumHeight = inPanel ? PlasmaCore.Units.iconSizeHints.panel : -1;
}
}
Connections {
target: units.iconSizeHints
readonly property var sizing: {
const displayedIcon = buttonIcon.valid ? buttonIcon : buttonIconFallback;
onPanelChanged: updateSizeHints()
let impWidth = 0;
if (shouldHaveIcon) {
impWidth += displayedIcon.width;
}
if (shouldHaveLabel) {
impWidth += labelTextField.contentWidth + labelTextField.Layout.leftMargin + labelTextField.Layout.rightMargin;
}
const impHeight = Math.max(PlasmaCore.Units.iconSizeHints.panel, displayedIcon.height);
// at least square, but can be wider/taller
if (root.inPanel) {
if (root.vertical) {
return {
minimumWidth: -1,
maximumWidth: PlasmaCore.Units.iconSizeHints.panel,
minimumHeight: -1,
maximumHeight: impHeight,
};
} else { // horizontal
return {
minimumWidth: impWidth,
maximumWidth: impWidth,
minimumHeight: -1,
maximumHeight: PlasmaCore.Units.iconSizeHints.panel,
};
}
} else {
return {
minimumWidth: impWidth,
maximumWidth: -1,
minimumHeight: PlasmaCore.Units.iconSizes.small,
maximumHeight: -1,
};
}
}
implicitWidth: PlasmaCore.Units.iconSizeHints.panel
implicitHeight: PlasmaCore.Units.iconSizeHints.panel
Layout.minimumWidth: sizing.minimumWidth
Layout.maximumWidth: sizing.maximumWidth
Layout.minimumHeight: sizing.minimumHeight
Layout.maximumHeight: sizing.maximumHeight
//Connections {
// target: PlasmaCore.Units.iconSizeHints
// function onPanelChanged(){ updateSizeHints()}
//}
PlasmaCore.IconItem {
id: buttonIcon
id: buttonIcon3
anchors.fill: parent
@ -83,22 +138,73 @@ Item {
active: mouseArea.containsMouse
smooth: true
visible: false
// A custom icon could also be rectangular. However, if a square, custom, icon is given, assume it
// to be an icon and round it to the nearest icon size again to avoid scaling artefacts.
roundToIconSize: !useCustomButtonImage || aspectRatio === 1
onSourceChanged: updateSizeHints()
// onSourceChanged: updateSizeHints()
}
RowLayout {
id: iconLabelRow
anchors.fill: parent
spacing: 0
PlasmaCore.IconItem {
id: buttonIcon
Layout.fillWidth: root.vertical
Layout.fillHeight: !root.vertical
Layout.preferredWidth: root.vertical ? -1 : height / (implicitHeight / implicitWidth)
Layout.preferredHeight: !root.vertical ? -1 : width * (implicitHeight / implicitWidth)
Layout.alignment: Qt.AlignVCenter | Qt.AlignHCenter
source: useCustomButtonImage ? plasmoid.configuration.customButtonImage : plasmoid.configuration.icon
//source: Tools.iconOrDefault(plasmoid.formFactor, plasmoid.icon)
//active: compactRoot.containsMouse || compactDragArea.containsDrag
roundToIconSize: implicitHeight === implicitWidth
visible: valid
}
PlasmaCore.IconItem {
id: buttonIconFallback
// fallback is assumed to be square
Layout.fillWidth: root.vertical
Layout.fillHeight: !root.vertical
Layout.preferredWidth: root.vertical ? -1 : height
Layout.preferredHeight: !root.vertical ? -1 : width
Layout.alignment: Qt.AlignVCenter | Qt.AlignHCenter
source: buttonIcon.valid ? null : Tools.defaultIconName
//active: compactRoot.containsMouse || compactDragArea.containsDrag
visible: !buttonIcon.valid && Plasmoid.icon !== ""
}
PC3.Label {
id: labelTextField
Layout.fillHeight: true
Layout.leftMargin: PlasmaCore.Units.smallSpacing
Layout.rightMargin: PlasmaCore.Units.smallSpacing
text: plasmoid.configuration.menuLabel
horizontalAlignment: Text.AlignLeft
verticalAlignment: Text.AlignVCenter
wrapMode: Text.NoWrap
//fontSizeMode: Text.VerticalFit
font.pixelSize: plasmoid.configuration.textLabelFontsize
//font.pixelSize: compactRoot.tooSmall ? PlasmaCore.Theme.defaultFont.pixelSize : PlasmaCore.Units.roundToIconSize(PlasmaCore.Units.gridUnit * 2)
minimumPointSize: PlasmaCore.Theme.smallestFont.pointSize
visible: root.shouldHaveLabel
}
}
MouseArea
{
id: mouseArea
anchors.fill: parent
hoverEnabled: true
onClicked: {
dashWindow.visible = !dashWindow.visible;
}

View File

@ -17,45 +17,47 @@
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA . *
***************************************************************************/
import QtQuick 2.0
import QtQuick.Controls 1.0
import QtQuick 2.15
import QtQuick.Dialogs 1.2
import QtQuick.Layouts 1.0
import QtQuick.Controls 2.5
import org.kde.plasma.core 2.0 as PlasmaCore
import org.kde.plasma.components 2.0 as PlasmaComponents
import org.kde.kquickcontrolsaddons 2.0 as KQuickAddons
import org.kde.draganddrop 2.0 as DragDrop
import org.kde.plasma.private.kicker 0.1 as Kicker
import "code/tools.js" as Logic
import org.kde.kirigami 2.4 as Kirigami
import "code/tools.js" as Tools
import org.kde.plasma.extras 2.0 as PlasmaExtras
import org.kde.kirigami 2.10 as Kirigami
Kirigami.FormLayout {
id: configGeneral
width: childrenRect.width
height: childrenRect.height
property string cfg_icon: plasmoid.configuration.icon
property bool cfg_useCustomButtonImage: plasmoid.configuration.useCustomButtonImage
property string cfg_customButtonImage: plasmoid.configuration.customButtonImage
//property alias cfg_appNameFormat: appNameFormat.currentIndex
//property alias cfg_switchCategoriesOnHover: switchCategoriesOnHover.checked
property alias cfg_useExtraRunners: useExtraRunners.checked
property alias cfg_hideRecentDocs: hideRecentDocs.checked
property alias cfg_showRecentApps: showRecentApps.checked
property alias cfg_numberColumns: numberColumns.value
property alias cfg_numberRows: numberRows.value
property alias cfg_labels2lines: labels2lines.checked
property alias cfg_displayPosition: displayPosition.currentIndex
property alias cfg_iconSmooth: iconSmooth.checked
property alias cfg_pullupAnimation: pullupAnimation.checked
property string cfg_defaultSize
property string cfg_menuLabel: menuLabel.text
property alias cfg_textLabelFontsize: textLabelFontsize.value
// ----------------- Icon -----------------
@ -63,13 +65,13 @@ Kirigami.FormLayout {
Button {
Kirigami.FormData.label: i18n("Icon:")
id: iconButton
//Layout.minimumWidth: previewFrame.width + units.smallSpacing * 2
//Layout.minimumWidth: previewFrame.width + PlasmaCore.Units.smallSpacing * 2
//Layout.maximumWidth: Layout.minimumWidth
//Layout.minimumHeight: previewFrame.height + units.smallSpacing * 2
//Layout.minimumHeight: previewFrame.height + PlasmaCore.Units.smallSpacing * 2
//Layout.maximumHeight: Layout.minimumWidth
implicitWidth: previewFrame.width + units.smallSpacing * 2
implicitHeight: previewFrame.height + units.smallSpacing * 2
implicitWidth: previewFrame.width + PlasmaCore.Units.smallSpacing * 2
implicitHeight: previewFrame.height + PlasmaCore.Units.smallSpacing * 2
DragDrop.DropArea {
id: dropArea
@ -130,12 +132,12 @@ Kirigami.FormLayout {
anchors.centerIn: parent
imagePath: plasmoid.location === PlasmaCore.Types.Vertical || plasmoid.location === PlasmaCore.Types.Horizontal
? "widgets/panel-background" : "widgets/background"
width: units.iconSizes.large + fixedMargins.left + fixedMargins.right
height: units.iconSizes.large + fixedMargins.top + fixedMargins.bottom
width: PlasmaCore.Units.iconSizes.large + fixedMargins.left + fixedMargins.right
height: PlasmaCore.Units.iconSizes.large + fixedMargins.top + fixedMargins.bottom
PlasmaCore.IconItem {
anchors.centerIn: parent
width: units.iconSizes.large
width: PlasmaCore.Units.iconSizes.large
height: width
source: cfg_useCustomButtonImage ? cfg_customButtonImage : cfg_icon
}
@ -162,6 +164,41 @@ Kirigami.FormLayout {
}
Kirigami.ActionTextField {
id: menuLabel
enabled: plasmoid.formFactor !== PlasmaCore.Types.Vertical
Kirigami.FormData.label: i18nc("@label:textbox", "Text label")
text: plasmoid.configuration.menuLabel
placeholderText: i18nc("@info:placeholder", "Type here to add a text label")
onTextEdited: {
cfg_menuLabel = menuLabel.text
// This is to make sure that we always have a icon if there is no text.
// If the user remove the icon and remove the text, without this, we'll have no icon and no text.
// This is to force the icon to be there.
if (!menuLabel.text) {
cfg_icon = cfg_icon || Tools.defaultIconName
}
}
rightActions: [
Action {
icon.name: "edit-clear"
enabled: menuLabel.text !== ""
text: i18nc("@action:button", "Reset menu label")
onTriggered: {
menuLabel.clear()
cfg_menuLabel = ''
cfg_icon = cfg_icon || Tools.defaultIconName
}
}
]
}
SpinBox{
id: textLabelFontsize
from: 10
to: 50
Kirigami.FormData.label: i18n("Text label fontsize")
}
ComboBox {
id: displayPosition
@ -174,43 +211,74 @@ Kirigami.FormLayout {
onActivated: cfg_displayPosition = currentIndex
}
// title: i18n("Search")
//
//
CheckBox {
id: showRecentApps
Kirigami.FormData.label: i18n("Main section")
text: i18n("Show recent applications")
}
CheckBox {
id: useExtraRunners
text: i18n("Expand search to bookmarks, files and emails")
visible: false
}
CheckBox {
id: labels2lines
text: i18n("Show labels in two lines")
}
CheckBox {
id: hideRecentDocs
text: i18n("Hide recent documents")
}
SpinBox{
id: numberColumns
minimumValue: 4
maximumValue: 10
from: 4
to: 10
Kirigami.FormData.label: i18n("Number of columns (main grid)")
}
SpinBox{
id: numberRows
minimumValue: 1
maximumValue: 10
from: 1
to: 10
Kirigami.FormData.label: i18n("Number of rows (main grid)")
}
CheckBox {
id: iconSmooth
Kirigami.FormData.label: i18n("Icons smooth")
visible: false // TODO validate
}
CheckBox {
id: pullupAnimation
Kirigami.FormData.label: i18n("Pull Up Animation")
}
ComboBox {
id: defaultFormatCombo
Kirigami.FormData.label: i18n("Size of icons")
model: Logic.formats
model: Tools.formats
currentIndex: defaultFormatCombo.model.indexOf(cfg_defaultSize)
onActivated: cfg_defaultSize = model[index]
}
RowLayout{
Button {
text: i18n("Unhide all applications")
onClicked: {
plasmoid.configuration.hiddenApplications = [];
unhideAllAppsPopup.text = i18n("Unhidden!");
}
}
Label {
id: unhideAllAppsPopup
}
}
}

View File

@ -23,7 +23,7 @@ import org.kde.plasma.private.quicklaunch 1.0
RowLayout{
spacing: units.largeSpacing
spacing: PlasmaCore.Units.largeSpacing
KCoreAddons.KUser { id: kuser }
Logic { id: logic }
@ -44,10 +44,10 @@ RowLayout{
source: kuser.faceIconUrl.toString() || "user-identity"
cache: false
visible: source !== ""
Layout.leftMargin: 10
sourceSize.height: parent.height * 0.7
sourceSize.width: parent.height * 0.7
sourceSize.height: parent.height * 0.9
sourceSize.width: parent.height * 0.9
fillMode: Image.PreserveAspectFit
Layout.alignment: Qt.AlignVCenter
// Crop the avatar to fit in a circle, like the lock and login screens
// but don't on software rendering where this won't render
@ -73,8 +73,6 @@ RowLayout{
text: qsTr(kuser.fullName)
}
Item{
Layout.fillWidth: true
}
@ -110,8 +108,7 @@ RowLayout{
PlasmaComponents3.ToolButton {
icon.name: "system-shutdown"
onClicked: pmEngine.performOperation("requestShutDown")
Layout.rightMargin: 10
//Layout.rightMargin: 10
ToolTip.delay: 1000
ToolTip.timeout: 1000
ToolTip.visible: hovered

View File

@ -61,25 +61,15 @@ Item {
PlasmaCore.IconItem {
id: icon
anchors.left: parent.left
anchors.leftMargin: units.smallSpacing
anchors.leftMargin: PlasmaCore.Units.smallSpacing
anchors.verticalCenter: parent.verticalCenter
width: iconSize
height: width
colorGroup: PlasmaCore.Theme.ComplementaryColorGroup
animated: false
usesPlasmaTheme: item.GridView.view.usesPlasmaTheme
source: {
return model.decoration
//if (model.display.indexOf(".") === -1 ) {
// var s = "-" + model.url
// if( s[s.length - 8 ] == "."){
// return model.decoration
// }
// return "folder"
//}else{
// return model.decoration
//}
}
source: model.decoration
smooth: plasmoid.configuration.iconSmooth
}
PlasmaComponents.Label {
@ -87,7 +77,7 @@ Item {
visible: showLabel
anchors {
left: icon.right
leftMargin: units.smallSpacing
leftMargin: PlasmaCore.Units.smallSpacing*2
//top: icon.top
verticalCenter: icon.verticalCenter
}
@ -95,12 +85,12 @@ Item {
elide: Text.ElideRight
wrapMode: Text.Wrap
color: theme.textColor
width: parent.width - icon.width - units.largeSpacing
width: parent.width - icon.width - PlasmaCore.Units.largeSpacing
text: ("name" in model ? model.name : model.display)
}
PlasmaComponents.Label {
anchors.right: parent.right
anchors.rightMargin: units.smallSpacing
anchors.rightMargin: PlasmaCore.Units.smallSpacing * 2
anchors.verticalCenter: label.verticalCenter
visible: showLabel
horizontalAlignment: Text.AlignRight
@ -108,7 +98,7 @@ Item {
width: parent.width - label.implicitWidth - icon.width * 2
elide: Text.ElideRight
wrapMode: Text.Wrap
color: colorWithAlpha(theme.textColor,0.6)
color: colorWithAlpha(theme.textColor,0.8)
text: model.description
}

View File

@ -63,13 +63,14 @@ Item {
id: icon
anchors.horizontalCenter: parent.horizontalCenter
anchors.verticalCenter: parent.verticalCenter
anchors.verticalCenterOffset: -units.gridUnit
anchors.verticalCenterOffset: - PlasmaCore.Units.gridUnit
width: iconSize
height: width
colorGroup: PlasmaCore.Theme.ComplementaryColorGroup
animated: false
usesPlasmaTheme: item.GridView.view.usesPlasmaTheme
source: model.decoration
smooth: plasmoid.configuration.iconSmooth
}
PlasmaComponents.Label {
@ -78,11 +79,11 @@ Item {
anchors {
horizontalCenter: icon.horizontalCenter
top: icon.bottom
topMargin: units.smallSpacing
topMargin: PlasmaCore.Units.smallSpacing
}
width: parent.width - units.largeSpacing
width: parent.width - PlasmaCore.Units.largeSpacing
maximumLineCount: 2
height: units.gridUnit * 2
height: PlasmaCore.Units.gridUnit * 2
elide: Text.ElideRight
horizontalAlignment: Qt.AlignHCenter
verticalAlignment: Qt.AlignTop

View File

@ -68,21 +68,22 @@ Item {
id: icon
anchors.verticalCenter: parent.verticalCenter
anchors.left: parent.left
anchors.leftMargin: units.smallSpacing
width: units.iconSizes.medium
anchors.leftMargin: PlasmaCore.Units.smallSpacing
width: PlasmaCore.Units.iconSizes.medium
height: width
colorGroup: PlasmaCore.Theme.ComplementaryColorGroup
animated: false
usesPlasmaTheme: item.GridView.view.usesPlasmaTheme
source: model.decoration
smooth: plasmoid.configuration.iconSmooth
}
GridLayout {
columns: numColumns
anchors.left: icon.right
anchors.right: parent.right
anchors.leftMargin: units.largeSpacing
anchors.rightMargin: units.largeSpacing
anchors.leftMargin: PlasmaCore.Units.largeSpacing
anchors.rightMargin: PlasmaCore.Units.largeSpacing
anchors.verticalCenter: parent.verticalCenter
columnSpacing: 1
rowSpacing: 1
@ -107,9 +108,10 @@ Item {
width: 10
elide: Text.ElideRight
wrapMode: Text.Wrap
color: colorWithAlpha(theme.textColor,0.6)
color: colorWithAlpha(theme.textColor,0.8)
text: model.description
font.pixelSize: label.font.pixelSize - 2
font.pointSize: label.font.pointSize - 2
//font.pixelSize: label.font.pixelSize - 2
}
}
@ -132,7 +134,6 @@ Item {
GridView.view.model.trigger(index, "", null);
root.toggle();
}
itemGrid.itemActivated(index, "", null);
}
}

View File

@ -89,6 +89,7 @@ FocusScope {
function tryActivate(row, col) {
if (count) {
gridView.focus = true
var columns = Math.floor(width / itemGrid.cellWidth);
var rows = Math.ceil(count / columns);
row = Math.min(row, rows - 1);
@ -214,7 +215,7 @@ FocusScope {
property bool usesPlasmaTheme: false
property int iconSize: units.iconSizes.huge
property int iconSize: PlasmaCore.Units.iconSizes.huge
property bool animating: false
property int animationDuration: itemGrid.dropEnabled ? resetAnimationDurationTimer.interval : 0
@ -288,7 +289,7 @@ FocusScope {
bottomMargin: parent.margins.bottom
}
width: units.iconSizes.smallMedium
width: PlasmaCore.Units.iconSizes.smallMedium
height: width
source: "list-add"

View File

@ -208,7 +208,7 @@ FocusScope {
property bool usesPlasmaTheme: false
property int iconSize: units.iconSizes.huge
property int iconSize: PlasmaCore.Units.iconSizes.huge
property bool animating: false
property int animationDuration: dropEnabled ? resetAnimationDurationTimer.interval : 0
property bool square: false
@ -282,7 +282,7 @@ FocusScope {
bottomMargin: parent.margins.bottom
}
width: units.iconSizes.smallMedium
width: PlasmaCore.Units.iconSizes.smallMedium
height: width
source: "list-add"

View File

@ -187,7 +187,7 @@ Item {
height: parent.height
spacing: units.smallSpacing * 2
spacing: PlasmaCore.Units.smallSpacing * 2
readonly property real actualSpacing: ((icon.visible ? 1 : 0) * spacing) + ((arrow.visible ? 1 : 0) * spacing)
LayoutMirroring.enabled: (Qt.application.layoutDirection == Qt.RightToLeft)
@ -197,7 +197,7 @@ Item {
anchors.verticalCenter: parent.verticalCenter
width: visible ? units.iconSizes.small : 0
width: visible ? PlasmaCore.Units.iconSizes.small : 0
height: width
visible: iconsEnabled
@ -231,7 +231,7 @@ Item {
anchors.verticalCenter: parent.verticalCenter
width: visible ? units.iconSizes.small : 0
width: visible ? PlasmaCore.Units.iconSizes.small : 0
height: width
visible: hasChildren

View File

@ -26,14 +26,7 @@ import org.kde.plasma.private.kicker 0.1 as Kicker
PlasmaExtras.ScrollArea {
id: itemMultiGrid
//anchors {
// top: parent.top
//}
anchors.fill: parent
//width: parent.width
implicitHeight: itemColumn.implicitHeight
signal keyNavLeft(int subGridIndex)
@ -67,6 +60,7 @@ PlasmaExtras.ScrollArea {
}
function tryActivate(row, col) { // FIXME TODO: Cleanup messy algo.
console.log("on try activate multigrid")
if (flickableItem.contentY > 0) {
row = 0;
}
@ -94,14 +88,14 @@ PlasmaExtras.ScrollArea {
Column {
id: itemColumn
width: itemMultiGrid.width //- units.gridUnit
width: itemMultiGrid.width //- PlasmaCore.Units.gridUnit
Repeater {
id: repeater
delegate: Item {
width: itemColumn.width
height: gridViewLabel.height + gridView.height + (index == repeater.count - 1 ? 0 : units.smallSpacing)
height: gridViewLabel.height + gridView.height + (index == repeater.count - 1 ? 0 : PlasmaCore.Units.smallSpacing)
//visible: gridView.count > 0
property Item itemGrid: gridView
@ -110,7 +104,7 @@ PlasmaExtras.ScrollArea {
id: gridViewLabel
anchors.top: parent.top
anchors.left: parent.left
anchors.leftMargin: units.smallSpacing * 4
anchors.leftMargin: PlasmaCore.Units.smallSpacing
height: dummyHeading.height
wrapMode: Text.NoWrap
color: theme.textColor
@ -118,14 +112,14 @@ PlasmaExtras.ScrollArea {
font.weight: Font.DemiBold
level: 5
verticalAlignment: Qt.AlignVCenter
text: repeater.model.modelForRow(index).description
text: repeater.model.modelForRow(index) ? repeater.model.modelForRow(index).description : ""
}
Rectangle{
anchors.right: parent.right
anchors.verticalCenter: gridViewLabel.verticalCenter
height: 1
width: parent.width - gridViewLabel.implicitWidth - units.largeSpacing*2
width: parent.width - gridViewLabel.implicitWidth - PlasmaCore.Units.largeSpacing*2
color: theme.textColor
opacity: 0.15
}
@ -141,7 +135,7 @@ PlasmaExtras.ScrollArea {
anchors {
top: gridViewLabel.bottom
topMargin: units.smallSpacing
topMargin: PlasmaCore.Units.smallSpacing
}
width: parent.width

View File

@ -44,15 +44,15 @@ PlasmaCore.Dialog {
objectName: "popupWindow"
flags: Qt.WindowStaysOnTopHint
location: PlasmaCore.Types.Floating
location: plasmoid.configuration.pullupAnimation ? PlasmaCore.Types.BottomEdge : PlasmaCore.Types.Floating
hideOnWindowDeactivate: true
property int defaultSize: {
switch(plasmoid.configuration.defaultSize){
case "SmallMedium": return units.iconSizes.smallMedium;
case "Medium": return units.iconSizes.medium;
case "Large": return units.iconSizes.large;
case "Huge": return units.iconSizes.huge;
case "SmallMedium": return PlasmaCore.Units.iconSizes.smallMedium;
case "Medium": return PlasmaCore.Units.iconSizes.medium;
case "Large": return PlasmaCore.Units.iconSizes.large;
case "Huge": return PlasmaCore.Units.iconSizes.huge;
default: return 64
}
}
@ -63,31 +63,30 @@ PlasmaCore.Dialog {
+ (2 * Math.max(highlightItemSvg.margins.top + highlightItemSvg.margins.bottom,
highlightItemSvg.margins.left + highlightItemSvg.margins.right))
property int tileSideWidth: tileSideHeight + units.smallSpacing*2
property int tileSideWidth: tileSideHeight + PlasmaCore.Units.smallSpacing*2
property int tileHeightDocuments: units.gridUnit * 2 + units.smallSpacing * 4
property int tileHeightDocuments: PlasmaCore.Units.gridUnit * 2 + PlasmaCore.Units.smallSpacing * 4
property bool searching: (searchField.text != "")
property bool readySearch: false
property bool viewDocuments: false
property int _margin: iconSizeSquare > 33 ? units.largeSpacing : units.largeSpacing * 0.5
function colorWithAlpha(color, alpha) {
return Qt.rgba(color.r, color.g, color.b, alpha)
}
property int _margin: iconSizeSquare > 33 ? PlasmaCore.Units.largeSpacing : PlasmaCore.Units.largeSpacing * 0.5
property bool mainViewVisible: !searching && !readySearch
onVisibleChanged: {
reset()
if (visible) {
reset();
var pos = popupPosition(width, height);
x = pos.x;
y = pos.y;
requestActivate();
//animation1.start()
if(!plasmoid.configuration.pullupAnimation)
animation1.start()
}else{
reset()
//focusScope.opacity = 0
//focusScope.y = 250
}
}
@ -108,22 +107,32 @@ PlasmaCore.Dialog {
reset();
}else{
viewDocuments = false
if(readySearch)
readySearch = false
}
}
function colorWithAlpha(color, alpha) {
return Qt.rgba(color.r, color.g, color.b, alpha)
}
function reset() {
preloadAllAppsTimer.restart();
globalFavoritesGrid.tryActivate(0,0)
searchField.clear();
readySearch = false
viewDocuments = false
}
function toggle(){
root.visible = false;
function setModels(){
allAppsGrid.model = rootModel.modelForRow(2)
documentsFavoritesGrid.model = rootModel.modelForRow(1)
}
function toggle(){
root.visible = !root.visible;
}
function popupPosition(width, height) {
var screenAvail = plasmoid.availableScreenRect;
@ -134,7 +143,7 @@ PlasmaCore.Dialog {
screenAvail.height);
var offset = units.smallSpacing;
var offset = PlasmaCore.Units.smallSpacing;
// Fall back to bottom-left of screen area when the applet is on the desktop or floating.
var x = offset;
@ -179,21 +188,19 @@ PlasmaCore.Dialog {
return Qt.point(x, y);
}
FocusScope {
id: focusScope
Layout.maximumWidth: (tileSideWidth * plasmoid.configuration.numberColumns) + units.largeSpacing * 2
Layout.minimumWidth: (tileSideWidth * plasmoid.configuration.numberColumns) + units.largeSpacing * 2
Layout.maximumWidth: (tileSideWidth * plasmoid.configuration.numberColumns) + _margin * 2
Layout.minimumWidth: (tileSideWidth * plasmoid.configuration.numberColumns) + _margin * 2
Layout.minimumHeight: searchField.implicitHeight + topRow.height + firstPage.height + footer.height + _margin * 5
Layout.maximumHeight: Layout.minimumHeight
property bool done: false
ScaleAnimator{id: animation1 ; target: globalFavoritesGrid ; from: 0.9; to: 1; duration: units.shortDuration*2; easing.type: Easing.InOutQuad }
XAnimator{id: animation2; target: mainColumn ; from: focusScope.width; to: units.smallSpacing; duration: units.shortDuration*2; easing.type: Easing.OutCubic }
ScaleAnimator{id: animation1 ; target: focusScope ; from: 0.8; to: 1; duration: PlasmaCore.Units.shortDuration*3; easing.type: Easing.OutBack}
focus: true
@ -216,31 +223,6 @@ PlasmaCore.Dialog {
}
}
Timer {
id: preloadAllAppsTimer
property bool done: false
interval: 1000
repeat: false
onTriggered: {
if (done) {
return;
}
for (var i = 0; i < rootModel.count; ++i) {
var model = rootModel.modelForRow(i);
if (model.description === "KICKER_ALL_MODEL") {
allAppsGrid.model = model;
done = true;
break;
}
}
}
function defer() {
if (!running && !done) {
restart();
}
}
}
PlasmaComponents3.TextField {
id: searchField
anchors.top: parent.top
@ -248,11 +230,11 @@ PlasmaCore.Dialog {
anchors.horizontalCenter: parent.horizontalCenter
focus: true
width: tileSideWidth * plasmoid.configuration.numberColumns
implicitHeight: units.gridUnit * 2
implicitHeight: PlasmaCore.Units.gridUnit * 2
placeholderText: i18n("Type here to search ...")
placeholderTextColor: colorWithAlpha(theme.textColor,0.7)
leftPadding: units.largeSpacing + units.iconSizes.small
topPadding: units.gridUnit * 0.5
leftPadding: PlasmaCore.Units.largeSpacing + PlasmaCore.Units.iconSizes.small
topPadding: PlasmaCore.Units.gridUnit * 0.5
verticalAlignment: Text.AlignTop
background: Rectangle {
color: theme.backgroundColor
@ -260,26 +242,24 @@ PlasmaCore.Dialog {
border.width: 1
border.color: colorWithAlpha(theme.textColor,0.05)
}
onTextChanged: {
runnerModel.query = text;
onTextChanged: runnerModel.query = text;
}
function clear() {
text = "";
}
function backspace() {
focus = true;
//focus = true;
if(searching) text = text.slice(0, -1);
}
function appendText(newText) {
if (!root.visible) {
return;
}
focus = true;
//focus = true;
text = text + newText;
}
Keys.onPressed: {
if (event.key == Qt.Key_Down || event.key == Qt.Key_Tab) {
if (event.key === Qt.Key_Down || event.key === Qt.Key_Tab) {
event.accepted = true;
if( searching || readySearch)
mainColumn.visibleGrid.tryActivate(0,0);
@ -304,10 +284,10 @@ PlasmaCore.Dialog {
anchors {
left: searchField.left
verticalCenter: searchField.verticalCenter
leftMargin: units.smallSpacing * 2
leftMargin: PlasmaCore.Units.smallSpacing * 2
}
height: units.iconSizes.small
height: PlasmaCore.Units.iconSizes.small
width: height
}
@ -326,8 +306,8 @@ PlasmaCore.Dialog {
PlasmaCore.IconItem {
source: searching || readySearch ? 'application-menu' : 'favorite'
implicitHeight: units.iconSizes.smallMedium
implicitWidth: units.iconSizes.smallMedium
implicitHeight: PlasmaCore.Units.iconSizes.smallMedium
implicitWidth: PlasmaCore.Units.iconSizes.smallMedium
}
PlasmaExtras.Heading {
@ -335,7 +315,7 @@ PlasmaCore.Dialog {
color: colorWithAlpha(theme.textColor, 0.8)
level: 5
text: searching || readySearch ? i18n("Search results"): i18n("Pinned")
Layout.leftMargin: units.smallSpacing
Layout.leftMargin: PlasmaCore.Units.smallSpacing
font.weight: Font.Bold
}
@ -348,18 +328,18 @@ PlasmaCore.Dialog {
AToolButton {
id: btnAction
flat: false
mirror: searching || readySearch
iconName: searching || readySearch ? 'go-previous' : "go-next"
text: searching || readySearch ? i18n("Pinned") : i18n("All apps")
mirror: !mainViewVisible
iconName: mainViewVisible ? "go-next" : 'go-previous'
text: mainViewVisible ? i18n("All apps") : i18n("Pinned")
onClicked: {
if(readySearch || searching){
readySearch = false
searchField.text = ''
}
else{
if(mainViewVisible){
readySearch = true
//searchField.focus = true
}
else{
readySearch = false
searchField.text = ''
}
}
}
@ -376,7 +356,7 @@ PlasmaCore.Dialog {
}
]
transitions: Transition {
OpacityAnimator{ duration: units.shortDuration*2 }
OpacityAnimator{ duration: PlasmaCore.Units.shortDuration*2 }
}
}
@ -389,15 +369,66 @@ PlasmaCore.Dialog {
Column{
id: firstPage
width: tileSideWidth * plasmoid.configuration.numberColumns
height: tileSideHeight * plasmoid.configuration.numberRows + btnAction.implicitHeight + tileHeightDocuments * 3 + _margin
anchors.top: topRow.bottom
anchors.topMargin: _margin
anchors.horizontalCenter: parent.horizontalCenter
//anchors.horizontalCenter: parent.horizontalCenter
spacing: _margin
visible: !readySearch && !searching
//visible: mainViewVisible
state: 'visible'
states: [
State {
name: "hidden"
when: !mainViewVisible
PropertyChanges { target: firstPage ; opacity: 0}
PropertyChanges { target: firstPage ; x: -firstPage.width}
PropertyChanges { target: firstPage ; visible: 0}
},
State {
name: "visible"
when: mainViewVisible
PropertyChanges { target: firstPage ; visible: 1}
PropertyChanges { target: firstPage ; opacity: 1}
PropertyChanges { target: firstPage ; x: _margin }
}
]
transitions: [
Transition {
from: "hidden"
to: "visible"
NumberAnimation {
properties: "opacity,x"
duration: PlasmaCore.Units.shortDuration*2
}
},
Transition {
from: "visible"
to: "hidden"
SequentialAnimation {
PropertyAction {
target: firstPage;
property: "visible"
value: true
}
PropertyAnimation {
target: firstPage
properties: "opacity,x"
duration: PlasmaCore.Units.shortDuration*2
}
}
}
]
ItemGridView {
id: globalFavoritesGrid
width: tileSideWidth * plasmoid.configuration.numberColumns
@ -407,20 +438,15 @@ PlasmaCore.Dialog {
cellHeight: tileSideHeight
iconSize: root.iconSizeSquare
square: true
model: globalFavorites
model: plasmoid.configuration.showRecentApps ? rootModel.modelForRow(0) : rootModel.favoritesModel
dropEnabled: true
usesPlasmaTheme: true
verticalScrollBarPolicy: Qt.ScrollBarAlwaysOff
//visible: !viewDocuments
state: 'small'
onKeyNavDown: documentsFavoritesGrid.tryActivate(0,0)
onKeyNavUp: searchField.focus = true
onCurrentIndexChanged: {
preloadAllAppsTimer.defer();
}
states: [
State {
name: "small"
@ -435,27 +461,31 @@ PlasmaCore.Dialog {
}
]
transitions: Transition {
PropertyAnimation { property: "height"; duration: units.shortDuration*2;}
PropertyAnimation { property: "height"; duration: PlasmaCore.Units.shortDuration*2;}
}
Keys.onPressed: {
if(event.modifiers & Qt.ControlModifier ||event.modifiers & Qt.ShiftModifier){
searchField.focus = true;
return
}
if (event.key == Qt.Key_Tab) {
if (event.key === Qt.Key_Tab) {
event.accepted = true;
documentsFavoritesGrid.tryActivate(0,0)
} else if (event.key == Qt.Key_Backspace) {
} else if (event.key === Qt.Key_Backspace) {
event.accepted = true;
if(searching)
searchField.backspace();
else
searchField.focus = true
} else if (event.key == Qt.Key_Escape) {
} else if (event.key === Qt.Key_Escape) {
event.accepted = true;
if(searching){
searchField.clear()
} else {
root.toggle()
}
} else if (event.text != "") {
} else if (event.text !== "") {
event.accepted = true;
searchField.appendText(event.text);
}
@ -468,23 +498,24 @@ PlasmaCore.Dialog {
height: btnAction.implicitHeight
PlasmaCore.IconItem {
source: 'tag' // 'format-list-unordered'
implicitHeight: units.iconSizes.smallMedium
implicitWidth: units.iconSizes.smallMedium
source: plasmoid.configuration.hideRecentDocs ? 'clock' : 'tag'
implicitHeight: PlasmaCore.Units.iconSizes.smallMedium
implicitWidth: PlasmaCore.Units.iconSizes.smallMedium
}
PlasmaExtras.Heading {
id: headLabelDocuments
color: colorWithAlpha(theme.textColor, 0.8)
level: 5
text: i18n("Recommended")
Layout.leftMargin: units.smallSpacing
text: plasmoid.configuration.hideRecentDocs ? i18n("Date and time") : i18n("Recommended")
Layout.leftMargin: PlasmaCore.Units.smallSpacing
font.weight: Font.Bold
}
Item{
Layout.fillWidth: true
}
AToolButton {
visible: !plasmoid.configuration.hideRecentDocs
flat: false
iconName: viewDocuments ? 'go-previous' : "go-next"
mirror: viewDocuments
@ -493,14 +524,19 @@ PlasmaCore.Dialog {
}
}
Clock{
width: parent.width
height: tileHeightDocuments * 3
visible: plasmoid.configuration.hideRecentDocs
}
ItemGridView3 {
id: documentsFavoritesGrid
visible: !plasmoid.configuration.hideRecentDocs
width: parent.width
height: tileHeightDocuments * 3
cellWidth: Math.floor(parent.width * 0.5)
cellHeight: tileHeightDocuments
square: false
model: rootModel.modelForRow(1)
dropEnabled: true
usesPlasmaTheme: false
verticalScrollBarPolicy: Qt.ScrollBarAlwaysOff
@ -510,10 +546,6 @@ PlasmaCore.Dialog {
else globalFavoritesGrid.tryActivate(0,0);
}
onCurrentIndexChanged: {
preloadAllAppsTimer.defer();
}
states: [
State {
name: "small"
@ -527,30 +559,34 @@ PlasmaCore.Dialog {
}
]
transitions: Transition {
PropertyAnimation { property: "height"; duration: units.shortDuration*2 }
PropertyAnimation { property: "height"; duration: PlasmaCore.Units.shortDuration*2 }
}
Keys.onPressed: {
if(event.modifiers & Qt.ControlModifier ||event.modifiers & Qt.ShiftModifier){
searchField.focus = true;
return
}
if (event.key == Qt.Key_Tab) {
if (event.key === Qt.Key_Tab) {
event.accepted = true;
if (viewDocuments) searchField.focus = true
else globalFavoritesGrid.tryActivate(0,0);
} else if (event.key == Qt.Key_Backspace) {
} else if (event.key === Qt.Key_Backspace) {
event.accepted = true;
if(searching)
searchField.backspace();
else
searchField.focus = true
} else if (event.key == Qt.Key_Escape) {
} else if (event.key === Qt.Key_Escape) {
event.accepted = true;
if(searching){
searchField.clear()
} else {
root.toggle()
}
} else if (event.text != "") {
} else if (event.text !== "") {
event.accepted = true;
searchField.appendText(event.text);
}
@ -563,15 +599,65 @@ PlasmaCore.Dialog {
}
Item{
anchors.top: topRow.bottom
anchors.horizontalCenter: parent.horizontalCenter
anchors.fill: firstPage
visible: searching || readySearch
//
//
//
//
onVisibleChanged: {
if(visible) animation2.start()
Item{
id: mainLists
anchors.top: topRow.bottom
anchors.topMargin: _margin
width: tileSideWidth * plasmoid.configuration.numberColumns
height: tileSideHeight * plasmoid.configuration.numberRows + btnAction.implicitHeight + tileHeightDocuments * 3 + _margin
state: 'hidden'
states: [
State {
name: "hidden"
when: mainViewVisible
PropertyChanges { target: mainLists ; opacity: 0}
PropertyChanges { target: mainLists ; x: mainLists.width}
PropertyChanges { target: mainLists ; visible: 0}
},
State {
name: "visible"
when: !mainViewVisible
PropertyChanges { target: mainLists ; visible: 1}
PropertyChanges { target: mainLists ; opacity: 1}
PropertyChanges { target: mainLists ; x: _margin }
}
]
transitions: [
Transition {
from: "hidden"
to: "visible"
NumberAnimation {
properties: "opacity,x"
duration: PlasmaCore.Units.shortDuration*2
}
},
Transition {
from: "visible"
to: "hidden"
SequentialAnimation {
PropertyAction {
target: mainLists;
property: "visible"
value: true
}
PropertyAnimation {
target: mainLists
properties: "opacity,x"
}
}
}
]
Item {
id: mainColumn
@ -579,7 +665,7 @@ PlasmaCore.Dialog {
height: parent.height
anchors {
top: parent.top
topMargin: units.smallSpacing
topMargin: PlasmaCore.Units.smallSpacing
}
property Item visibleGrid: allAppsGrid
@ -597,9 +683,8 @@ PlasmaCore.Dialog {
height: parent.height
enabled: (opacity == 1.0) ? 1 : 0
opacity: searching ? 0 : 1
aCellWidth: parent.width - units.largeSpacing
aCellHeight: iconSize + units.smallSpacing*2
model: rootModel.modelForRow(2);
aCellWidth: parent.width - PlasmaCore.Units.largeSpacing
aCellHeight: iconSize + PlasmaCore.Units.smallSpacing*2
onOpacityChanged: {
if (opacity == 1.0) {
allAppsGrid.flickableItem.contentY = 0;
@ -614,8 +699,8 @@ PlasmaCore.Dialog {
id: runnerGrid
anchors.fill: parent
z: (opacity == 1.0) ? 1 : 0
aCellWidth: parent.width - units.largeSpacing
aCellHeight: iconSize + units.smallSpacing * 2
aCellWidth: parent.width - PlasmaCore.Units.largeSpacing
aCellHeight: iconSize + PlasmaCore.Units.smallSpacing * 2
enabled: (opacity == 1.0) ? 1 : 0
isSquare: false
@ -633,23 +718,28 @@ PlasmaCore.Dialog {
Keys.onPressed: {
if (event.key == Qt.Key_Tab) {
if(event.modifiers & Qt.ControlModifier ||event.modifiers & Qt.ShiftModifier){
searchField.focus = true;
return
}
if (event.key === Qt.Key_Tab) {
event.accepted = true;
globalFavoritesGrid.tryActivate(0,0)
} else if (event.key == Qt.Key_Backspace) {
} else if (event.key === Qt.Key_Backspace) {
event.accepted = true;
if(searching)
searchField.backspace();
else
searchField.focus = true
} else if (event.key == Qt.Key_Escape) {
} else if (event.key === Qt.Key_Escape) {
event.accepted = true;
if(searching){
searchField.clear()
} else {
root.toggle()
}
} else if (event.text != "") {
} else if (event.text !== "") {
event.accepted = true;
searchField.appendText(event.text);
}
@ -659,30 +749,21 @@ PlasmaCore.Dialog {
}
Rectangle{
//
//
//
//
PlasmaExtras.PlasmoidHeading {
id: footer
width: parent.width + backgroundSvg.margins.right + backgroundSvg.margins.left
height: root.iconSizeSquare + units.smallSpacing*2 // units.gridUnit * 3
x: - backgroundSvg.margins.left
y: parent.height - height + backgroundSvg.margins.bottom
color: colorWithAlpha(theme.textColor,0.05)
contentWidth: parent.width
contentHeight: root.iconSizeSquare + PlasmaCore.Units.smallSpacing
anchors.bottom: parent.bottom
position: PlasmaComponents3.ToolBar.Footer
Footer{
anchors.fill: parent
anchors.leftMargin: _margin*2
anchors.rightMargin: _margin*2
anchors.leftMargin: _margin
anchors.rightMargin: _margin
}
Rectangle{
anchors.top: parent.top
width: parent.width
height: 1
color: theme.textColor
opacity: 0.15
z:2
}
}
Keys.onPressed: {
@ -694,8 +775,9 @@ PlasmaCore.Dialog {
}
Component.onCompleted: {
rootModel.refreshed.connect(reset)
kicker.reset.connect(reset);
rootModel.refreshed.connect(setModels)
reset();
rootModel.refresh();
}
}

View File

@ -28,6 +28,8 @@ var formats = [
"Huge"
]
const defaultIconName = "start-here-kde";
function fillActionMenu(i18n, actionMenu, actionList, favoriteModel, favoriteId) {
// Accessing actionList can be a costly operation, so we don't
// access it until we need the menu.

View File

@ -33,18 +33,12 @@ Item {
signal reset
property bool isDash: false
Plasmoid.preferredRepresentation: Plasmoid.fullRepresentation
Plasmoid.compactRepresentation: null
Plasmoid.fullRepresentation: compactRepresentation
property Item dragSource: null
property QtObject globalFavorites: rootModel.favoritesModel
property QtObject systemFavorites: rootModel.systemFavoritesModel
function action_menuedit() {
processRunner.runMenuEditor();
}
@ -59,90 +53,50 @@ Item {
MenuRepresentation {}
}
Kicker.RootModel {
readonly property Kicker.RootModel rootModel: Kicker.RootModel {
id: rootModel
autoPopulate: false
appNameFormat: 0
flat: true
showSeparators: false
appletInterface: plasmoid
flat: true // have categories, but no subcategories
showSeparators: false
showTopLevelItems: false//true
showAllApps: true
showAllAppsCategorized: true
showTopLevelItems: false
showRecentApps: true
showRecentDocs: true
showRecentContacts: false
showPowerSession: false
Component.onCompleted: {
if ("initForClient" in favoritesModel) {
favoritesModel.initForClient("org.kde.plasma.kicker.favorites.instance-" + plasmoid.id)
favoritesModel.initForClient("org.kde.plasma.kickoff.favorites.instance-" + plasmoid.id)
if (!plasmoid.configuration.favoritesPortedToKAstats) {
favoritesModel.portOldFavorites(plasmoid.configuration.favoriteApps);
if (favoritesModel.count < 1) {
favoritesModel.portOldFavorites(plasmoid.configuration.favorites);
}
plasmoid.configuration.favoritesPortedToKAstats = true;
}
} else {
favoritesModel.favorites = plasmoid.configuration.favoriteApps;
}
favoritesModel.maxFavorites = pageSize;
rootModel.refresh();
}
}
Connections {
target: globalFavorites
onFavoritesChanged: {
plasmoid.configuration.favoriteApps = target.favorites;
}
readonly property Kicker.RecentUsageModel frequentUsageModel: Kicker.RecentUsageModel {
favoritesModel: rootModel.favoritesModel
ordering: 1 // Popular / Frequently Used
}
Connections {
target: systemFavorites
onFavoritesChanged: {
plasmoid.configuration.favoriteSystemActions = target.favorites;
}
}
Connections {
target: plasmoid.configuration
onFavoriteAppsChanged: {
globalFavorites.favorites = plasmoid.configuration.favoriteApps;
}
onFavoriteSystemActionsChanged: {
systemFavorites.favorites = plasmoid.configuration.favoriteSystemActions;
}
readonly property Kicker.RecentUsageModel recentUsageModel: Kicker.RecentUsageModel {
favoritesModel: rootModel.favoritesModel
}
Kicker.RunnerModel {
id: runnerModel
appletInterface: plasmoid
favoritesModel: globalFavorites
//mergeResults: true
//runners: plasmoid.configuration.useExtraRunners ? new Array("services").concat(plasmoid.configuration.extraRunners) : "services"
runners: {
var runners = new Array("services", "krunner_systemsettings");
runners = runners.concat(new Array("desktopsessions", "PowerDevil",
"calculator", "unitconverter"));
if (plasmoid.configuration.useExtraRunners) {
runners = runners.concat(plasmoid.configuration.extraRunners);
}
return runners;
}
favoritesModel: rootModel.favoritesModel
mergeResults: false
deleteWhenEmpty: true
}
Kicker.DragHelper {
@ -157,11 +111,16 @@ Item {
id: windowSystem
}
Connections {
target: plasmoid.configuration
function onHiddenApplicationsChanged(){
rootModel.refresh(); // Force refresh on hidden
}
}
PlasmaCore.FrameSvgItem {
id : highlightItemSvg
visible: false
imagePath: "widgets/viewitem"
prefix: "hover"
}
@ -208,7 +167,7 @@ Item {
//dragHelper.dropped.connect(resetDragSource);
if (plasmoid.hasOwnProperty("activationTogglesExpanded")) {
plasmoid.activationTogglesExpanded = false//!kicker.isDash
plasmoid.activationTogglesExpanded = false
}
windowSystem.focusIn.connect(enableHideOnWindowDeactivate);
@ -219,9 +178,7 @@ Item {
}
//updateSvgMetrics();
PlasmaCore.Theme.themeChanged.connect(updateSvgMetrics);
rootModel.refreshed.connect(reset);
//PlasmaCore.Theme.themeChanged.connect(updateSvgMetrics);
dragHelper.dropped.connect(resetDragSource);
}
}

View File

@ -7,18 +7,19 @@
}
],
"Category": "Application Launchers",
"Dependencies": [
],
"Description": "A configurable launcher menu 11",
"Description[x-test]": "xxA configurable launcher menu 11xx",
"EnabledByDefault": true,
"Icon": "start-here-kde",
"Id": "com.github.adhec.OnzeMenuKDE",
"License": "GPL-2.0+",
"Name": "OnzeMenuKDE",
"Name": "OnzeMenu",
"Name[x-test]": "xxOnze Menuxx",
"ServiceTypes": [
"Plasma/Applet"
],
"Version": "8.0"
"Version": "1.0",
"Website": ""
},
"X-Plasma-API": "declarativeappletscript",
"X-Plasma-MainScript": "ui/main.qml",

View File

@ -34,12 +34,13 @@ Or if you know how to make a pull request
## Status
| Locale | Lines | % Done|
|----------|---------|-------|
| Template | 33 | |
| de | 32/33 | 96% |
| fr | 32/33 | 96% |
| ko | 32/33 | 96% |
| nl | 32/33 | 96% |
| pt-br | 32/33 | 96% |
| ru | 32/33 | 96% |
| tr | 28/33 | 84% |
| zh_CN | 30/33 | 90% |
| Template | 40 | |
| de | 32/40 | 80% |
| fr | 32/40 | 80% |
| ko | 32/40 | 80% |
| nl | 33/40 | 82% |
| pt-br | 32/40 | 80% |
| ru | 32/40 | 80% |
| tr | 28/40 | 70% |
| uk | 33/40 | 82% |
| zh_CN | 30/40 | 75% |

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: OnzeMenu\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-04-02 23:21-0300\n"
"POT-Creation-Date: 2023-04-30 00:33-0300\n"
"PO-Revision-Date: 2022-11-06 15:+0200\n"
"Last-Translator: Pascal Dietrich <pascal.1.dietrich@hotmail.com>\n"
"Language-Team: \n"
@ -78,6 +78,14 @@ msgstr "Mitte"
msgid "Center bottom"
msgstr "Mitte unten"
#: ../contents/ui/ConfigGeneral.qml
msgid "Main section"
msgstr ""
#: ../contents/ui/ConfigGeneral.qml
msgid "Show recent applications"
msgstr ""
#: ../contents/ui/ConfigGeneral.qml
msgid "Expand search to bookmarks, files and emails"
msgstr "Suche auf Lesezeichen, Dateien und E-Mails erweitern"
@ -86,6 +94,10 @@ msgstr "Suche auf Lesezeichen, Dateien und E-Mails erweitern"
msgid "Show labels in two lines"
msgstr "Beschriftungen in zwei Zeilen anzeigen"
#: ../contents/ui/ConfigGeneral.qml
msgid "Hide recent documents"
msgstr ""
#: ../contents/ui/ConfigGeneral.qml
msgid "Number of columns (main grid)"
msgstr "Anzahl der Spalten (Hauptraster)"
@ -98,10 +110,22 @@ msgstr "Anzahl der Reihen (Hauptraster)"
msgid "Icons smooth"
msgstr ""
#: ../contents/ui/ConfigGeneral.qml
msgid "Pull Up Animation"
msgstr ""
#: ../contents/ui/ConfigGeneral.qml
msgid "Size of icons"
msgstr "Größe der Symbole"
#: ../contents/ui/ConfigGeneral.qml
msgid "Unhide all applications"
msgstr ""
#: ../contents/ui/ConfigGeneral.qml
msgid "Unhidden!"
msgstr ""
#: ../contents/ui/Footer.qml
msgid "User Home"
msgstr "Benutzerordner"
@ -138,6 +162,10 @@ msgstr "Angeheftet"
msgid "All apps"
msgstr "Alle Apps"
#: ../contents/ui/MenuRepresentation.qml
msgid "Date and time"
msgstr ""
#: ../contents/ui/MenuRepresentation.qml
msgid "Recommended"
msgstr "Empfohlen"

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: OnzeMenu\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-04-02 23:21-0300\n"
"POT-Creation-Date: 2023-04-30 00:33-0300\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -79,6 +79,14 @@ msgstr "Centré"
msgid "Center bottom"
msgstr "Centré en bas"
#: ../contents/ui/ConfigGeneral.qml
msgid "Main section"
msgstr ""
#: ../contents/ui/ConfigGeneral.qml
msgid "Show recent applications"
msgstr ""
#: ../contents/ui/ConfigGeneral.qml
msgid "Expand search to bookmarks, files and emails"
msgstr "Étendre la recherche dans les marques-pages, les fichiers et les emails"
@ -87,6 +95,10 @@ msgstr "Étendre la recherche dans les marques-pages, les fichiers et les emails
msgid "Show labels in two lines"
msgstr "Montrer les étiquettes sur 2 lignes"
#: ../contents/ui/ConfigGeneral.qml
msgid "Hide recent documents"
msgstr ""
#: ../contents/ui/ConfigGeneral.qml
msgid "Number of columns (main grid)"
msgstr "Nombre de colonnes (grille principale)"
@ -99,10 +111,22 @@ msgstr "Nombre de lignes (grille principale)"
msgid "Icons smooth"
msgstr ""
#: ../contents/ui/ConfigGeneral.qml
msgid "Pull Up Animation"
msgstr ""
#: ../contents/ui/ConfigGeneral.qml
msgid "Size of icons"
msgstr "Taille des icônes"
#: ../contents/ui/ConfigGeneral.qml
msgid "Unhide all applications"
msgstr ""
#: ../contents/ui/ConfigGeneral.qml
msgid "Unhidden!"
msgstr ""
#: ../contents/ui/Footer.qml
msgid "User Home"
msgstr "Dossier utilisateur (Home)"
@ -139,6 +163,10 @@ msgstr "Applications épinglées"
msgid "All apps"
msgstr "Toutes les applications"
#: ../contents/ui/MenuRepresentation.qml
msgid "Date and time"
msgstr ""
#: ../contents/ui/MenuRepresentation.qml
msgid "Recommended"
msgstr "Applications recommandées"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: OnzeMenu\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-04-02 23:21-0300\n"
"POT-Creation-Date: 2023-04-30 00:33-0300\n"
"PO-Revision-Date: 2022-06-22 14:28+0900\n"
"Last-Translator: \n"
"Language-Team: \n"
@ -80,6 +80,14 @@ msgstr "가운데"
msgid "Center bottom"
msgstr "가운데 밑"
#: ../contents/ui/ConfigGeneral.qml
msgid "Main section"
msgstr ""
#: ../contents/ui/ConfigGeneral.qml
msgid "Show recent applications"
msgstr ""
#: ../contents/ui/ConfigGeneral.qml
msgid "Expand search to bookmarks, files and emails"
msgstr "책갈피, 파일, 이메일에서도 찾기"
@ -88,6 +96,10 @@ msgstr "책갈피, 파일, 이메일에서도 찾기"
msgid "Show labels in two lines"
msgstr "두 줄로 레이블 표시"
#: ../contents/ui/ConfigGeneral.qml
msgid "Hide recent documents"
msgstr ""
#: ../contents/ui/ConfigGeneral.qml
msgid "Number of columns (main grid)"
msgstr "열 수 (메인 그리드)"
@ -100,10 +112,22 @@ msgstr "행 수 (메인 그리드)"
msgid "Icons smooth"
msgstr ""
#: ../contents/ui/ConfigGeneral.qml
msgid "Pull Up Animation"
msgstr ""
#: ../contents/ui/ConfigGeneral.qml
msgid "Size of icons"
msgstr "아이콘 크기"
#: ../contents/ui/ConfigGeneral.qml
msgid "Unhide all applications"
msgstr ""
#: ../contents/ui/ConfigGeneral.qml
msgid "Unhidden!"
msgstr ""
#: ../contents/ui/Footer.qml
msgid "User Home"
msgstr "홈 폴더"
@ -140,6 +164,10 @@ msgstr "고정됨"
msgid "All apps"
msgstr "모든 프로그램"
#: ../contents/ui/MenuRepresentation.qml
msgid "Date and time"
msgstr ""
#: ../contents/ui/MenuRepresentation.qml
msgid "Recommended"
msgstr "추천"

View File

@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: OnzeMenu\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-04-02 23:21-0300\n"
"PO-Revision-Date: 2022-04-27 17:59+0200\n"
"POT-Creation-Date: 2023-04-30 00:33-0300\n"
"PO-Revision-Date: 2023-04-03 11:01+0200\n"
"Last-Translator: Heimen Stoffels <vistausss@fastmail.com>\n"
"Language-Team: \n"
"Language: nl\n"
@ -16,7 +16,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Poedit 3.0.1\n"
"X-Generator: Poedit 3.2.2\n"
#: ../metadata.desktop
msgid "OnzeMenu 11"
@ -24,7 +24,7 @@ msgstr "OnzeMenu 11"
#: ../metadata.desktop
msgid "A configurable launcher menu 11"
msgstr "Een instelbare programmastarter 11"
msgstr "Instelbare programmastarter 11"
#: ../contents/config/config.qml
msgid "General"
@ -80,6 +80,14 @@ msgstr "Gecentreerd"
msgid "Center bottom"
msgstr "Gecentreerd (onderaan)"
#: ../contents/ui/ConfigGeneral.qml
msgid "Main section"
msgstr ""
#: ../contents/ui/ConfigGeneral.qml
msgid "Show recent applications"
msgstr ""
#: ../contents/ui/ConfigGeneral.qml
msgid "Expand search to bookmarks, files and emails"
msgstr "Ook bladwijzers, bestanden en e-mails doorzoeken"
@ -88,6 +96,10 @@ msgstr "Ook bladwijzers, bestanden en e-mails doorzoeken"
msgid "Show labels in two lines"
msgstr "Labeltekst verdelen over twee regels"
#: ../contents/ui/ConfigGeneral.qml
msgid "Hide recent documents"
msgstr ""
#: ../contents/ui/ConfigGeneral.qml
msgid "Number of columns (main grid)"
msgstr "Aantal kolommen op overzicht"
@ -98,12 +110,24 @@ msgstr "Aantal rijen op overzicht"
#: ../contents/ui/ConfigGeneral.qml
msgid "Icons smooth"
msgstr "Pictogrammen gladstrijken"
#: ../contents/ui/ConfigGeneral.qml
msgid "Pull Up Animation"
msgstr ""
#: ../contents/ui/ConfigGeneral.qml
msgid "Size of icons"
msgstr "Pictogramgrootte"
#: ../contents/ui/ConfigGeneral.qml
msgid "Unhide all applications"
msgstr ""
#: ../contents/ui/ConfigGeneral.qml
msgid "Unhidden!"
msgstr ""
#: ../contents/ui/Footer.qml
msgid "User Home"
msgstr "Persoonlijke map"
@ -140,6 +164,10 @@ msgstr "Vastgemaakt"
msgid "All apps"
msgstr "Alle programma's"
#: ../contents/ui/MenuRepresentation.qml
msgid "Date and time"
msgstr ""
#: ../contents/ui/MenuRepresentation.qml
msgid "Recommended"
msgstr "Aanbevolen"

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: OnzeMenu\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-04-02 23:21-0300\n"
"POT-Creation-Date: 2023-04-30 00:33-0300\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: mateussmb mt.moreirabarros@gmail.com\n"
"Language-Team: \n"
@ -81,6 +81,14 @@ msgstr "Centro"
msgid "Center bottom"
msgstr "Centro inferior"
#: ../contents/ui/ConfigGeneral.qml
msgid "Main section"
msgstr ""
#: ../contents/ui/ConfigGeneral.qml
msgid "Show recent applications"
msgstr ""
#: ../contents/ui/ConfigGeneral.qml
msgid "Expand search to bookmarks, files and emails"
msgstr "Expandir a pesquisa para favoritos, arquivos e e-mails"
@ -89,6 +97,10 @@ msgstr "Expandir a pesquisa para favoritos, arquivos e e-mails"
msgid "Show labels in two lines"
msgstr "Mostrar rótulos em duas linhas"
#: ../contents/ui/ConfigGeneral.qml
msgid "Hide recent documents"
msgstr ""
#: ../contents/ui/ConfigGeneral.qml
msgid "Number of columns (main grid)"
msgstr "Número de colunas (grade principal)"
@ -101,10 +113,22 @@ msgstr "Número de linhas (grade principal)"
msgid "Icons smooth"
msgstr ""
#: ../contents/ui/ConfigGeneral.qml
msgid "Pull Up Animation"
msgstr ""
#: ../contents/ui/ConfigGeneral.qml
msgid "Size of icons"
msgstr "Tamanho dos ícones"
#: ../contents/ui/ConfigGeneral.qml
msgid "Unhide all applications"
msgstr ""
#: ../contents/ui/ConfigGeneral.qml
msgid "Unhidden!"
msgstr ""
#: ../contents/ui/Footer.qml
msgid "User Home"
msgstr "Página inicial do usuário"
@ -141,6 +165,10 @@ msgstr "Fixado"
msgid "All apps"
msgstr "Todos os aplicativos"
#: ../contents/ui/MenuRepresentation.qml
msgid "Date and time"
msgstr ""
#: ../contents/ui/MenuRepresentation.qml
msgid "Recommended"
msgstr "Recomendado"

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: OnzeMenu\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-04-02 23:21-0300\n"
"POT-Creation-Date: 2023-04-30 00:33-0300\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -79,6 +79,14 @@ msgstr "Центр"
msgid "Center bottom"
msgstr "Центр снизу"
#: ../contents/ui/ConfigGeneral.qml
msgid "Main section"
msgstr ""
#: ../contents/ui/ConfigGeneral.qml
msgid "Show recent applications"
msgstr ""
#: ../contents/ui/ConfigGeneral.qml
msgid "Expand search to bookmarks, files and emails"
msgstr "Поиск по закладкам, файлам и электронным письмам"
@ -87,6 +95,10 @@ msgstr "Поиск по закладкам, файлам и электронны
msgid "Show labels in two lines"
msgstr "Показывать метки в две строки"
#: ../contents/ui/ConfigGeneral.qml
msgid "Hide recent documents"
msgstr ""
#: ../contents/ui/ConfigGeneral.qml
msgid "Number of columns (main grid)"
msgstr "Количество столбцов"
@ -99,10 +111,22 @@ msgstr "Количество строк"
msgid "Icons smooth"
msgstr "Сглаживание значков"
#: ../contents/ui/ConfigGeneral.qml
msgid "Pull Up Animation"
msgstr ""
#: ../contents/ui/ConfigGeneral.qml
msgid "Size of icons"
msgstr "Размер значков"
#: ../contents/ui/ConfigGeneral.qml
msgid "Unhide all applications"
msgstr ""
#: ../contents/ui/ConfigGeneral.qml
msgid "Unhidden!"
msgstr ""
#: ../contents/ui/Footer.qml
msgid "User Home"
msgstr "Домашний каталог"
@ -139,6 +163,10 @@ msgstr "Закреплено"
msgid "All apps"
msgstr "Все приложения"
#: ../contents/ui/MenuRepresentation.qml
msgid "Date and time"
msgstr ""
#: ../contents/ui/MenuRepresentation.qml
msgid "Recommended"
msgstr "Рекомендуемое"

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: OnzeMenu\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-04-02 23:21-0300\n"
"POT-Creation-Date: 2023-04-30 00:33-0300\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -79,6 +79,14 @@ msgstr ""
msgid "Center bottom"
msgstr ""
#: ../contents/ui/ConfigGeneral.qml
msgid "Main section"
msgstr ""
#: ../contents/ui/ConfigGeneral.qml
msgid "Show recent applications"
msgstr ""
#: ../contents/ui/ConfigGeneral.qml
msgid "Expand search to bookmarks, files and emails"
msgstr ""
@ -87,6 +95,10 @@ msgstr ""
msgid "Show labels in two lines"
msgstr ""
#: ../contents/ui/ConfigGeneral.qml
msgid "Hide recent documents"
msgstr ""
#: ../contents/ui/ConfigGeneral.qml
msgid "Number of columns (main grid)"
msgstr ""
@ -99,10 +111,22 @@ msgstr ""
msgid "Icons smooth"
msgstr ""
#: ../contents/ui/ConfigGeneral.qml
msgid "Pull Up Animation"
msgstr ""
#: ../contents/ui/ConfigGeneral.qml
msgid "Size of icons"
msgstr ""
#: ../contents/ui/ConfigGeneral.qml
msgid "Unhide all applications"
msgstr ""
#: ../contents/ui/ConfigGeneral.qml
msgid "Unhidden!"
msgstr ""
#: ../contents/ui/Footer.qml
msgid "User Home"
msgstr ""
@ -139,6 +163,10 @@ msgstr ""
msgid "All apps"
msgstr ""
#: ../contents/ui/MenuRepresentation.qml
msgid "Date and time"
msgstr ""
#: ../contents/ui/MenuRepresentation.qml
msgid "Recommended"
msgstr ""

View File

@ -7,7 +7,7 @@
msgid ""
msgstr ""
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-04-02 23:21-0300\n"
"POT-Creation-Date: 2023-04-30 00:33-0300\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Language-Team:\n"
"Language: tr\n"
@ -80,6 +80,14 @@ msgstr "Orta"
msgid "Center bottom"
msgstr "Orta alt"
#: ../contents/ui/ConfigGeneral.qml
msgid "Main section"
msgstr ""
#: ../contents/ui/ConfigGeneral.qml
msgid "Show recent applications"
msgstr ""
#: ../contents/ui/ConfigGeneral.qml
msgid "Expand search to bookmarks, files and emails"
msgstr "Aramayı yer imlerine, dosyalara ve e-postalara genişletin"
@ -88,6 +96,10 @@ msgstr "Aramayı yer imlerine, dosyalara ve e-postalara genişletin"
msgid "Show labels in two lines"
msgstr "Etiketleri iki satırda göster"
#: ../contents/ui/ConfigGeneral.qml
msgid "Hide recent documents"
msgstr ""
#: ../contents/ui/ConfigGeneral.qml
msgid "Number of columns (main grid)"
msgstr ""
@ -100,10 +112,22 @@ msgstr ""
msgid "Icons smooth"
msgstr ""
#: ../contents/ui/ConfigGeneral.qml
msgid "Pull Up Animation"
msgstr ""
#: ../contents/ui/ConfigGeneral.qml
msgid "Size of icons"
msgstr ""
#: ../contents/ui/ConfigGeneral.qml
msgid "Unhide all applications"
msgstr ""
#: ../contents/ui/ConfigGeneral.qml
msgid "Unhidden!"
msgstr ""
#: ../contents/ui/Footer.qml
msgid "User Home"
msgstr "Kullanıcı Ana Sayfası"
@ -140,6 +164,10 @@ msgstr "Sabitlenmiş"
msgid "All apps"
msgstr "Tüm uygulamalar"
#: ../contents/ui/MenuRepresentation.qml
msgid "Date and time"
msgstr ""
#: ../contents/ui/MenuRepresentation.qml
msgid "Recommended"
msgstr "Tavsiye edilen"

View File

@ -0,0 +1,180 @@
# Translation of OnzeMenu in Ukrainian
# Copyright (C) 2023
# This file is distributed under the same license as the OnzeMenu package.
# Mykhailo Stetsiuk <yaBobJonez@gmail.com>, 2023.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: OnzeMenu\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-04-30 00:33-0300\n"
"PO-Revision-Date: 2023-04-07 HO:MI+ZONE\n"
"Last-Translator: Mykhailo Stetsiuk <yaBobJonez@gmail.com>\n"
"Language-Team: \n"
"Language: uk\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: ../metadata.desktop
msgid "OnzeMenu 11"
msgstr "OnzeMenu 11"
#: ../metadata.desktop
msgid "A configurable launcher menu 11"
msgstr "Налаштовуваний засіб запуску програм 11"
#: ../contents/config/config.qml
msgid "General"
msgstr "Загальне"
#: ../contents/ui/code/tools.js
msgid "Remove from Favorites"
msgstr "Вилучити з улюблених"
#: ../contents/ui/code/tools.js
msgid "Add to Favorites"
msgstr "Додати до улюблених"
#: ../contents/ui/code/tools.js
msgid "On All Activities"
msgstr "У всіх просторах дій"
#: ../contents/ui/code/tools.js
msgid "On the Current Activity"
msgstr "У поточному просторі дій"
#: ../contents/ui/code/tools.js
msgid "Show in Favorites"
msgstr "Показати в улюблених"
#: ../contents/ui/ConfigGeneral.qml
msgid "Icon:"
msgstr "Піктограма:"
#: ../contents/ui/ConfigGeneral.qml
msgctxt "@item:inmenu Open icon chooser dialog"
msgid "Choose..."
msgstr "Вибрати..."
#: ../contents/ui/ConfigGeneral.qml
msgctxt "@item:inmenu Reset icon to default"
msgid "Clear Icon"
msgstr "Прибрати піктограму"
#: ../contents/ui/ConfigGeneral.qml
msgid "Menu position"
msgstr "Розташування меню"
#: ../contents/ui/ConfigGeneral.qml
msgid "Default"
msgstr "За замовчуванням"
#: ../contents/ui/ConfigGeneral.qml
msgid "Center"
msgstr "Центр"
#: ../contents/ui/ConfigGeneral.qml
msgid "Center bottom"
msgstr "Центр знизу"
#: ../contents/ui/ConfigGeneral.qml
msgid "Main section"
msgstr ""
#: ../contents/ui/ConfigGeneral.qml
msgid "Show recent applications"
msgstr ""
#: ../contents/ui/ConfigGeneral.qml
msgid "Expand search to bookmarks, files and emails"
msgstr "Розширення пошуку на закладки, файли та електронну пошту"
#: ../contents/ui/ConfigGeneral.qml
msgid "Show labels in two lines"
msgstr "Відображати пункти у два рядки"
#: ../contents/ui/ConfigGeneral.qml
msgid "Hide recent documents"
msgstr ""
#: ../contents/ui/ConfigGeneral.qml
msgid "Number of columns (main grid)"
msgstr "Кількість стовпців"
#: ../contents/ui/ConfigGeneral.qml
msgid "Number of rows (main grid)"
msgstr "Кількість рядків"
#: ../contents/ui/ConfigGeneral.qml
msgid "Icons smooth"
msgstr "Згладжування піктограм"
#: ../contents/ui/ConfigGeneral.qml
msgid "Pull Up Animation"
msgstr ""
#: ../contents/ui/ConfigGeneral.qml
msgid "Size of icons"
msgstr "Розмір піктограм"
#: ../contents/ui/ConfigGeneral.qml
msgid "Unhide all applications"
msgstr ""
#: ../contents/ui/ConfigGeneral.qml
msgid "Unhidden!"
msgstr ""
#: ../contents/ui/Footer.qml
msgid "User Home"
msgstr "Домівка"
#: ../contents/ui/Footer.qml
msgid "System Preferences"
msgstr "Системні параметри"
#: ../contents/ui/Footer.qml
msgid "Lock Screen"
msgstr "Заблокувати"
#: ../contents/ui/Footer.qml
msgid "Leave ..."
msgstr "Вийти..."
#: ../contents/ui/main.qml
msgid "Edit Applications…"
msgstr "Змінити список програм…"
#: ../contents/ui/MenuRepresentation.qml
msgid "Type here to search ..."
msgstr "Введіть текст для пошуку"
#: ../contents/ui/MenuRepresentation.qml
msgid "Search results"
msgstr "Результати пошуку"
#: ../contents/ui/MenuRepresentation.qml
msgid "Pinned"
msgstr "Закріплені"
#: ../contents/ui/MenuRepresentation.qml
msgid "All apps"
msgstr "Усі програми"
#: ../contents/ui/MenuRepresentation.qml
msgid "Date and time"
msgstr ""
#: ../contents/ui/MenuRepresentation.qml
msgid "Recommended"
msgstr "Рекомендовані"
#: ../contents/ui/MenuRepresentation.qml
msgid "Back"
msgstr "Назад"
#: ../contents/ui/MenuRepresentation.qml
msgid "More"
msgstr "Додатково"

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: OnzeMenu\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-04-02 23:21-0300\n"
"POT-Creation-Date: 2023-04-30 00:33-0300\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -79,6 +79,14 @@ msgstr "屏幕中央"
msgid "Center bottom"
msgstr "底部居中"
#: ../contents/ui/ConfigGeneral.qml
msgid "Main section"
msgstr ""
#: ../contents/ui/ConfigGeneral.qml
msgid "Show recent applications"
msgstr ""
#: ../contents/ui/ConfigGeneral.qml
msgid "Expand search to bookmarks, files and emails"
msgstr "扩大搜索范围,包括书签、文件和电子邮件"
@ -87,6 +95,10 @@ msgstr "扩大搜索范围,包括书签、文件和电子邮件"
msgid "Show labels in two lines"
msgstr "在两行间显示标签"
#: ../contents/ui/ConfigGeneral.qml
msgid "Hide recent documents"
msgstr ""
#: ../contents/ui/ConfigGeneral.qml
msgid "Number of columns (main grid)"
msgstr "主网格列数"
@ -99,10 +111,22 @@ msgstr "主网格行数"
msgid "Icons smooth"
msgstr ""
#: ../contents/ui/ConfigGeneral.qml
msgid "Pull Up Animation"
msgstr ""
#: ../contents/ui/ConfigGeneral.qml
msgid "Size of icons"
msgstr "图标大小"
#: ../contents/ui/ConfigGeneral.qml
msgid "Unhide all applications"
msgstr ""
#: ../contents/ui/ConfigGeneral.qml
msgid "Unhidden!"
msgstr ""
#: ../contents/ui/Footer.qml
msgid "User Home"
msgstr "主目录"
@ -139,6 +163,10 @@ msgstr "已固定"
msgid "All apps"
msgstr "所有应用"
#: ../contents/ui/MenuRepresentation.qml
msgid "Date and time"
msgstr ""
#: ../contents/ui/MenuRepresentation.qml
msgid "Recommended"
msgstr "推荐"