diff --git a/doc/kcontrol/colors/index.docbook b/doc/kcontrol/colors/index.docbook index ebf0a2cb3..10fb8968f 100644 --- a/doc/kcontrol/colors/index.docbook +++ b/doc/kcontrol/colors/index.docbook @@ -1,366 +1,366 @@ ]>
Colors &Matthew.Woehlke; &Matthew.Woehlke.mail; 2018-03-30 Plasma 5.12 KDE KControl color kcm Colors Scheme Management This module lets you manage the color schemes on your machine. It shows a list of color schemes shipped with &plasma; and a preview at the top. Only one scheme is active at once, but you may edit schemes. You can remove schemes using Remove Scheme. Note that system schemes cannot be removed; the button for this action is disabled. If you have an Internet connection, you can also browse and retrieve user-created schemes using Get - New Schemes.... + New Color Schemes.... You can also install schemes from a file that you have downloaded or otherwise obtained, as well as import &kde; 4 schemes named like "*.colors". If Apply colors to non-Qt applications is checked, Plasma will attempt to export its color scheme so that non-Qt applications will use the same colors. Most applications will honor the exported scheme to varying degrees, though some may have bugs or otherwise not honor the exported scheme. Note: This documentation will sometimes refer to the "current" scheme, or the "active" scheme. The "current" scheme is the set of colors and color scheme options that was most recently applied, &ie; what you would get if you choose Cancel. The "active" scheme is the set of colors as has been most recently edited by you, &ie; what you would get if you choose Apply. Edit or Create Schemes To edit or create new schemes select a scheme from the list and press the Edit Scheme button to open a dialog with three tabs Options, Colors, Disabled and Inactive. When you have created a scheme you like, you can upload it, reset it or save it under a different name or overwrite the active scheme. Color Scheme Options The Options tab allows you to change some properties that deal with how the color scheme is used, as well as some options that change the color scheme that are different from actually assigning colors. Apply effects to inactive windows — If checked, state effects (see below) will be applied to inactive windows. This can help visually identify active versus inactive windows, and may have aesthetic value, depending on your taste. However, some users feel that it causes distracting "flickering" since windows must be repainted when they become inactive. Unlike desktop effects, color state effects do not require compositing support and will work on all systems, however they will only work on &kde; applications. Use different colors for inactive selections — If checked, the current selection in elements which do not have input focus will be drawn using a different color. This can assist visual identification of the element with input focus in some applications, especially those which simultaneously display several lists. Shade sorted column in lists — If checked, multi-column lists will use a slightly different color to paint the column whose information is being used to sort the items in the list. Contrast — This slider controls the contrast of shaded elements, such as frame borders and the "3D" effects used by most styles. A lower value gives less contrast and therefore softer edges, while a higher value makes such edges "stand out" more. Colors The Colors tab allows you to change the colors in the active color scheme. Creating or changing a scheme is a simple matter of clicking on the swatch in the color list and selecting a new color. It is suggested that you save your scheme when you are done. The Common Colors set, which is displayed initially, is not actually a "set" in the sense used by Plasma (see next section), but presents a number of color roles in a way that makes it easier to edit the scheme as a whole. When creating a new color scheme, you will usually change these colors first, and use the other sets to tweak specific colors if needed. Note that Common Colors makes available roles from all sets. For example, "View Background" here is shorthand for the Normal Background role from the View set. Also, setting colors that do not refer to a specific set will change that color in all sets. (As an exception, "Inactive Text" will change the color for all sets except for Selection; there is a separate "Selection Inactive Text" for Inactive Text in the Selection set.) Some roles may not be visible under Common Colors at all, and can only be changed (if needed) by selecting the appropriate set. Color Sets Plasma breaks the color scheme into several sets based on the type of user interface element, as follows: View — information presentation elements, such as lists, trees, text input boxes, etc. Window — window elements that are not buttons or views. Button — buttons and similar elements. Selection — selected text and items. Tooltip — tool tips, "What's This" tips, and similar elements. Complementary — Areas of applications with an alternative color scheme; usually with a dark background for light color schemes. Examples of areas with this inverted color scheme are the logout interface, the lock screen and the fullscreen mode for some applications. Each set contains a number of color roles. Each set has the same roles. All colors are associated with one of the above sets. Color Roles Each color set is made up of a number of roles which are available in all other sets. In addition to the obvious Normal Text and Normal Background, these roles are as follows: Alternate Background — used when there is a need to subtly change the background to aid in item association. This might be used ⪚ as the background of a heading, but is mostly used for alternating rows in lists, especially multi-column lists, to aid in visually tracking rows. Link Text — used for hyperlinks or to otherwise indicate "something which may be visited", or to show relationships. Visited Text — used for "something (⪚ a hyperlink) that has been visited", or to indicate something that is "old". Active Text — used to indicate an active element or attract attention, ⪚ alerts, notifications; also for hovered hyperlinks. Inactive Text — used for text which should be unobtrusive, ⪚ comments, "subtitles", unimportant information, etc. Negative Text — used for errors, failure notices, notifications that an action may be dangerous (⪚ unsafe web page or security context), etc. Neutral Text — used to draw attention when another role is not appropriate; ⪚ warnings, to indicate secure/encrypted content, etc. Positive Text — used for success notices, to indicate trusted content, etc. As well as the text roles, there are a few additional "decoration" roles that are used for drawing lines or shading UI elements (while the above may, in appropriate circumstances, also be used for this purpose, the following are specifically not meant for drawing text). These are: Focus Decoration — used to indicate the item which has active input focus. Hover Decoration — used for mouse-over effects, ⪚ the "illumination" effects for buttons. In addition, except for Inactive Text, there is a corresponding background role for each of the text roles. Currently (except for Normal and Alternate Background), these colors are not chosen by the user, but are automatically determined based on Normal Background and the corresponding Text color. These colors may be previewed by selecting one of the sets other than "Common Colors". The choice of color role is left to the developer; the above are guidelines intended to represent typical usage. Window Manager Colors As previously stated, the Window Manager set has its own roles, independent of those in other sets. These are (currently) only accessible via Common Colors, and are as follows: Active Titlebar — used to draw the title bar background, borders, and/or decorations for the active window (that is, the one with input focus). Not all window decorations will use this in the same way, and some may even use the Normal Background from the Window set to draw the title bar. Active Titlebar Text — used to draw the title bar text when Active Titlebar is used to draw the title bar background. May also be used for other foreground elements which use Active Titlebar as the background. The Inactive Titlebar [Text] roles are the same as the above, but for inactive windows, rather than active windows. Color State Effects Color state effects are applied to interface elements in the inactive (windows that do not have focus; only if Apply inactive window color effects is enabled) or disabled states. By changing the effects, the appearance of elements in these states can be changed. Usually, inactive elements will have reduced contrast (text fades slightly into the background) and may have slightly reduced intensity, while disabled elements will have strongly reduced contrast and are often notably darker or lighter. Three types of effect may be applied to each state (with the effects of the two states being independent). These are Intensity, Color and Contrast. The first two (Intensity, Color) control the overall color, while the last (Contrast) deals with the foreground colors relative to the background. Intensity Intensity allows the overall color to be lightened or darkened. Setting the slider to the middle produces no change. The available effects are: Shade — makes everything lighter or darker in a controlled manner. Each "tick" on the slider increases or decreases the overall intensity (&ie; perceived brightness) by an absolute amount. Darken — changes the intensity to a percentage of the initial value. A slider setting halfway between middle and maximum results in a color half as intense as the original. The minimum gives a color twice as intense as the original. Lighten — conceptually the opposite of darken; lighten can be thought of as working with "distance from white", where darken works with "distance from black". The minimum is a color twice as "far" from white as the original, while halfway between middle and maximum gives an intensity halfway between the original color and white. Color Color also changes the overall color, but is not limited to intensity. The available effects are: Desaturate — changes the relative chroma. The middle setting produces no change; maximum gives a gray whose perceptual intensity equals that of the original color. Lower settings increase the chroma, giving a color that is less gray / more "vibrant" than the original. Fade — smoothly blends the original color into a reference color. The minimum setting on the slider produces no change; maximum gives the reference color. Tint — similar to Fade, except that the color (hue and chroma) changes more quickly while the intensity changes more slowly as the slider value is increased. Contrast The contrast effects are similar to the color effects, except they apply to the text, using the background color as the reference color, and desaturate is not available. Fade produces text that "fades out" more quickly, but keeps its color longer, while Tint produces text that changes color to match the background more quickly while keeping a greater intensity contrast for longer (where "longer" means higher settings on the slider). For Contrast effects, the minimum setting on the slider produces no change, while maximum causes the text to completely disappear into the background.
diff --git a/doc/kcontrol/desktopthemedetails/index.docbook b/doc/kcontrol/desktopthemedetails/index.docbook index 00a47d376..6aef47a0a 100644 --- a/doc/kcontrol/desktopthemedetails/index.docbook +++ b/doc/kcontrol/desktopthemedetails/index.docbook @@ -1,62 +1,62 @@ ]>
Desktop Theme Andrew Lake 2018-03-25 Plasma 5.12 KDE System Settings desktop theme plasma A preview of available themes is displayed in this dialog. Select a theme by clicking on it. -Use the Get New Themes button to download additional themes from the Internet +Use the Get New Desktop Themes... button to download additional themes from the Internet or load a theme from file. The Remove button is enabled only for custom themes. Since &plasma; 5.6 it is no longer possible to edit and customize individual components or items in a theme. The recommended tools to check, blend and test themes is the plasma-sdk package, the Plasma Theme Explorer specifically. If the plasma-sdk package is installed on your system, a button appears hovering a theme preview and lets you start the Plasma Theme Explorer. For more technical information visit this page.
diff --git a/doc/kcontrol/emoticons/index.docbook b/doc/kcontrol/emoticons/index.docbook index a3b361db0..3faf912c6 100644 --- a/doc/kcontrol/emoticons/index.docbook +++ b/doc/kcontrol/emoticons/index.docbook @@ -1,171 +1,171 @@ ]>
Emoticons &Anne-Marie.Mahfouf; 2016-09-21 Plasma 5.8 KDE System Settings emoticons KCMEmoticons Emoticons Themes Manager Introduction Screenshot of the Emoticons Theme Manager The Emoticons Theme Manager Emoticons can be used in several &kde; applications: &kopete;, &konversation;, &kmail;... This module offers you to easily manage your emoticons sets. You can: add emoticons themes remove emoticons themes install an existing theme add, remove or edit emoticons within a theme Please note that you will set emoticons themes per application. The module is separated in two parts: on the left you can manage your themes and on the right you can manage emoticons within themes. An emoticon consists in two parts: an icon (typically a .png, .mng or .gif picture) and a text describing the emoticon. The text can be some ASCII symbols like ]:-> or the emoticon short description enclosed within * like *FRIEND*. The user types the symbol or the text and the emoticon icon replaces it. The emoticons themes will be saved locally in your home in $(qtpaths --paths GenericDataLocation)/emoticons. Emoticons Themes This section allows you to manage emoticons themes. Require spaces around emoticons When this option is checked, you need to separate the emoticon with a white space before and after it so it is changed to an icon. If you type "Hello:-)" then this string will stay as it is while if you type "Hello :-)" you will get "Hello" followed by the :-) emoticon. When this option is not checked (default), each emoticon string will be replaced by its icon. Install from File This action allows you to install a theme you downloaded yourself. A theme file is an archive file, usually a .tar.gz or a .zip file or any other archive files. A dialog asks you for the location of this local archive file and after you entered or dragged the URL and clicked OK, the theme is installed and will appear in the themes list. -Get New Theme +Get New Emoticons... You need to be connected to the Internet to use this action. A dialog displays a list of emoticons themes from https://store.kde.org/ and you can install one by clicking the Install button on the right side of the theme description in the list. New Theme You can create your own new theme from scratch. Clicking on this button brings a dialog asking for the name of the new theme. You can then use the Add... button on the right to create new emoticons and their associated text. Remove Theme This action will remove the selected theme from your disk. Select the theme you want to remove in the list. Click the Remove Theme button. This theme will be removed from the disk if you click Apply. Emoticons Management This section allows you to manage emoticons within the selected theme. The list on the right displays all emoticons of the selected theme. You can add, edit or remove any emoticon. Select a theme in the list on the left and then select the action you want to perform. Add... This button allows you to add an emoticon to the selected theme. The dialog asks you to choose an icon for your emoticon and to enter the corresponding ASCII symbol or text attached to it. After that, clicking OK will add your new emoticon in the emoticon list, you will see the icon and the corresponding text displayed. If you want to modify either the icon or the text, you can use the Edit... button described below. Remove This will remove the selected emoticon from the selected theme. You need to click the Yes button to validate this action. Edit... The Edit... button allows you to change either the icon or the text of the selected emoticon. You need to click the OK button to validate this action.
diff --git a/doc/kcontrol/fontinst/index.docbook b/doc/kcontrol/fontinst/index.docbook index ab377fc6e..3c0d9d23c 100644 --- a/doc/kcontrol/fontinst/index.docbook +++ b/doc/kcontrol/fontinst/index.docbook @@ -1,112 +1,112 @@ ]>
Font Management &Craig.Drummond; &Craig.Drummond.Mail; 2018-03-31 Plasma 5.12 KDE Systemsettings fonts Font Management This module is responsible for installing, un-installing, previewing and managing your fonts. Font Groups There are 4 special pre-defined font groups: All Fonts This will display all fonts, both personal and system-wide. Personal Fonts The fonts shown will be your personal fonts, and will not be available to other users. System Fonts The fonts shown will be those available to all users. Installing a font system-wide, or removing a system-wide font, will require administrator privileges. Unclassified This will list all fonts that have not been placed into any user-defined groups. This group will only appear if you have some user-defined groups. To add a font to a group, drag it from the list of fonts onto a group. To remove a font from a group, drag the font onto the All Fonts group. Below this list you find buttons to create a new group, remove a group and enable or disable the fonts in the current group. In the context menu of this list you have additional menuitems to print font samples and export a font to a zip archive. Enabling and Disabling Users with many fonts may find it useful to only have certain fonts enabled (or active) at certain times. To facilitate this, this module will allow you to disable individual fonts, or whole groups of fonts. Disabling a font does not remove the font from the system, it simply hides it so that it no longer appears within applications. Re-enabling a font will then allow it to be used. Font List The main display is a list of the installed fonts, grouped via the fonts' family name - the number in square brackets represents the number of installed styles for that family. e.g. The Times font may be listed as: Times [4] Regular Italic Bold Bold Italic To install a font, press the Add... button, and select the desired fonts from within the file dialog. The selected font group will control where the fonts will be installed. To un-install fonts, select the appropriate fonts from the list, and press the Delete... button. Click with the &RMB; to open a context menu with some additional actions like Enable, Disable, Print, Open in Font Viewer and Reload. Font Filtering A text field on top of the font preview allows you to filter the list of fonts. You can filter fonts based upon different categories: Family. Style. Foundry. FontConfig match. This allows you to enter a family name, and see the family that fontconfig would actually use. Font file type. Font file name. Font file location. Writing system. Get New Fonts -New fonts may be installed from local files, or downloaded using Get Hot New Stuff. The Get New Fonts entry in the tool button (located above the group list), allows you to install fonts from the Internet. The fonts downloaded in this manner will be installed into your Personal Fonts group. To install system-wide, you will need to move them to the System Fonts group - this may be achieved by dragging the fonts over the System Fonts group entry and will require administrator privileges. +New fonts may be installed from local files, or downloaded using Get Hot New Stuff. The Get New Fonts... entry in the tool button (located above the group list), allows you to install fonts from the Internet. The fonts downloaded in this manner will be installed into your Personal Fonts group. To install system-wide, you will need to move them to the System Fonts group - this may be achieved by dragging the fonts over the System Fonts group entry and will require administrator privileges. Duplicate Fonts If you have lots of fonts installed on your system it is possible that you may have duplicates. Click on the tools icon above the group list and select the Scan For Duplicate Fonts... tool, a simple tool that will scan your system looking for fonts that have multiple files associated with them. For example, if you have times.ttf and times.TTF installed in /usr/local/share/fonts the underlying font mechanism (called FontConfig) will only see one of these. So, if you un-installed the font, it would re-appear, as only one of the files would have been removed. Running this tool will produce a dialog listing each font that has multiple files, and the corresponding list of files. To select a file for deletion, click on the column containing the trash can icon. Preview This displays a preview text in different font sizes. Using the context menu enables you to zoom in and out, select a preview type (Standard Preview or All Characters) and change the preview text. Launch the application &kfontview; if you need additional preview types for Unicode Blocks.
diff --git a/doc/kcontrol/icons/index.docbook b/doc/kcontrol/icons/index.docbook index 03713e502..d44de17c6 100644 --- a/doc/kcontrol/icons/index.docbook +++ b/doc/kcontrol/icons/index.docbook @@ -1,134 +1,134 @@ ]>
Icons &Mike.McBride; &Mike.McBride.mail; &Jost.Schenck; &Jost.Schenck.mail; &Anne-Marie.Mahfouf; &Anne-Marie.Mahfouf.mail; 2018-08-21 Plasma 5.13 KDE KControl icon &plasma; comes with a full set of icons in several sizes. These icons are being used all over &plasma;: the desktop, the panel, the &dolphin; file manager, in every toolbar of every &plasma; application, etc. The icons control module offers you very flexible ways of customizing the way &plasma; handles icons. Here's a screenshot of the icon theme manager Customizing &plasma; icons In this module you can: install and choose icon themes choose different icon sizes remove icon themes Please note that some of these settings may depend on your selected icon theme. &plasma; comes with several icon themes by default, Breeze, Breeze Dark and Oxygen. At the top is a preview of the current theme icons. Most default installations will have only a few icon theme available, amongst them the &plasma; default Breeze theme. You can also download more from the Internet from https://store.kde.org/ or install them from a local file. On hover an animated preview shows a random selection, common mime types and common folder icons. If you want to remove a theme, use the overlay icon at the bottom right of the theme icon. To undo this action click on the icon. If you hit Apply or OK the themes selected for removal are actually deleted, so you cannot undo individual or all deletions. Configure Icon Sizes Select one of the components and use the slider to adapt the corresponding size. Configure Icon Sizes Configure Icon Sizes -Get New Themes... +Get New Icons... You need to be connected to the Internet to use it. Clicking on this button will display a dialog where you can choose a new icon theme. Clicking on Install in the dialog will install the chosen icon theme and after you Close the installer your new theme is immediately available. Get New Icon Themes Get New Icon Themes Install from File... If you downloaded new themes from the internet, you can use this to browse to the location of those newly downloaded themes. Clicking on this button will bring you the file dialog to point to the icon theme tarball you have on your disk. Clicking Open in this dialog will install the theme you pointed to and make it available in the theme list.
diff --git a/doc/kcontrol/splashscreen/index.docbook b/doc/kcontrol/splashscreen/index.docbook index fdab5450f..3710ef4bb 100644 --- a/doc/kcontrol/splashscreen/index.docbook +++ b/doc/kcontrol/splashscreen/index.docbook @@ -1,117 +1,117 @@ ]>
Splash Screen Anne-Marie Mahfouf
&Anne-Marie.Mahfouf.mail;
2015-04-08 Plasma 5.3 KDE System Settings splash screen theme
This module provides an interface to view and select splash screen themes. Here's a screenshot of the splash screen manager The splash screen manager module On this page you can see previews of already installed splash screens. The preview of the current splash screen is highlighted. Hover a preview image with the mouse cursor then the button Test Splashscreen appears at the top right of the image. Press this button to view the splashscreen in action.
diff --git a/kcms/colors/colorsettings.ui b/kcms/colors/colorsettings.ui index bd7af5486..9a8f671fc 100644 --- a/kcms/colors/colorsettings.ui +++ b/kcms/colors/colorsettings.ui @@ -1,143 +1,143 @@ colorSettings 0 0 736 422 0 0 0 0 Configure the current color scheme Edit Scheme false Qt::Horizontal 40 20 false Remove the selected scheme Remove Scheme false Get new color schemes from the Internet - Get &New Scheme + Get &New Color Schemes... 0 0 23 16 0 0 Import a color scheme from a file &Install from File true Apply colors to &non-Qt applications PreviewWidget QWidget
previewwidget.h
1
schemeList
diff --git a/kcms/cursortheme/package/contents/ui/main.qml b/kcms/cursortheme/package/contents/ui/main.qml index 124ff3662..c890b816d 100644 --- a/kcms/cursortheme/package/contents/ui/main.qml +++ b/kcms/cursortheme/package/contents/ui/main.qml @@ -1,181 +1,181 @@ /* Copyright (c) 2015 Marco Martin This library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License version 2 as published by the Free Software Foundation. This library 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 Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import QtQuick 2.7 import QtQuick.Window 2.2 // for Screen import QtQuick.Layouts 1.1 import QtQuick.Controls 2.2 as QtControls import QtQuick.Dialogs 1.1 as QtDialogs import org.kde.kirigami 2.4 as Kirigami import org.kde.kconfig 1.0 // for KAuthorized import org.kde.kcm 1.1 as KCM import org.kde.private.kcm_cursortheme 1.0 KCM.GridViewKCM { KCM.ConfigModule.quickHelp: i18n("This module lets you configure the mouse cursor theme used.") view.model: kcm.cursorsModel view.delegate: Delegate {} view.onCurrentIndexChanged: { kcm.selectedThemeRow = view.currentIndex; view.positionViewAtIndex(view.currentIndex, view.GridView.Beginning); } DropArea { anchors.fill: parent onEntered: { if (!drag.hasUrls) { drag.accepted = false; } } onDropped: kcm.installThemeFromFile(drop.urls[0]) } Connections { target: kcm onSelectedThemeRowChanged: view.currentIndex = kcm.selectedThemeRow; } footer: ColumnLayout { id: footerLayout Kirigami.InlineMessage { id: infoLabel Layout.fillWidth: true showCloseButton: true Connections { target: kcm onShowSuccessMessage: { infoLabel.type = Kirigami.MessageType.Positive; infoLabel.text = message; infoLabel.visible = true; } onShowInfoMessage: { infoLabel.type = Kirigami.MessageType.Information; infoLabel.text = message; infoLabel.visible = true; } onShowErrorMessage: { infoLabel.type = Kirigami.MessageType.Error; infoLabel.text = message; infoLabel.visible = true; } } } RowLayout { id: row1 //spacer Item { Layout.fillWidth: true Layout.fillHeight: true } RowLayout { id: comboLayout enabled: kcm.canResize QtControls.Label { text: i18n("Size:") } QtControls.ComboBox { id: sizeCombo currentIndex: 0 onCountChanged: currentIndex = 0 model: kcm.sizesModel textRole: "display" onCurrentTextChanged: { kcm.preferredSize = isNaN(parseInt(sizeCombo.currentText)) ? 0 : parseInt(sizeCombo.currentText); } delegate: QtControls.ItemDelegate { id: sizeComboDelegate readonly property int size: parseInt(model.display) width: parent.width highlighted: ListView.isCurrentItem text: model.display contentItem: RowLayout { Kirigami.Icon { source: model.decoration smooth: true width: sizeComboDelegate.size / Screen.devicePixelRatio height: sizeComboDelegate.size / Screen.devicePixelRatio visible: valid && sizeComboDelegate.size > 0 } QtControls.Label { Layout.fillWidth: true color: sizeComboDelegate.highlighted ? Kirigami.Theme.highlightedTextColor : Kirigami.Theme.textColor text: model[sizeCombo.textRole] } } } } } RowLayout { parent: footerLayout.x + footerLayout.width - comboLayout.width > width ? row1 : row2 QtControls.Button { icon.name: "document-import" text: i18n("&Install From File...") onClicked: fileDialogLoader.active = true; enabled: kcm.canInstall } QtControls.Button { icon.name: "get-hot-new-stuff" - text: i18n("&Get New Theme...") + text: i18n("&Get New Cursors...") onClicked: kcm.getNewClicked(); enabled: kcm.canInstall visible: KAuthorized.authorize("ghns") } } } RowLayout { id: row2 visible: children.length > 1 //spacer Item { Layout.fillWidth: true Layout.fillHeight: true } } } Loader { id: fileDialogLoader active: false sourceComponent: QtDialogs.FileDialog { title: i18n("Open Theme") folder: shortcuts.home nameFilters: [ i18n("Cursor Theme Files (*.tar.gz *.tar.bz2)") ] Component.onCompleted: open() onAccepted: { kcm.installThemeFromFile(fileUrls[0]) fileDialogLoader.active = false } onRejected: { fileDialogLoader.active = false } } } } diff --git a/kcms/desktoptheme/package/contents/ui/main.qml b/kcms/desktoptheme/package/contents/ui/main.qml index af613fb69..953cace62 100644 --- a/kcms/desktoptheme/package/contents/ui/main.qml +++ b/kcms/desktoptheme/package/contents/ui/main.qml @@ -1,164 +1,164 @@ /* Copyright (c) 2014 Marco Martin Copyright (c) 2016 David Rosca Copyright (c) 2018 Kai Uwe Broulik This library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License version 2 as published by the Free Software Foundation. This library 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 Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import QtQuick 2.1 import QtQuick.Layouts 1.1 import QtQuick.Dialogs 1.0 import QtQuick.Controls 2.3 as QtControls import org.kde.kirigami 2.4 as Kirigami import org.kde.kconfig 1.0 // for KAuthorized import org.kde.kcm 1.1 as KCM KCM.GridViewKCM { KCM.ConfigModule.quickHelp: i18n("This module lets you configure the desktop theme.") view.model: kcm.desktopThemeModel view.currentIndex: kcm.selectedPluginIndex DropArea { anchors.fill: parent onEntered: { if (!drag.hasUrls) { drag.accepted = false; } } onDropped: kcm.installThemeFromFile(drop.urls[0]) } view.remove: Transition { ParallelAnimation { NumberAnimation { property: "scale"; to: 0.5; duration: Kirigami.Units.longDuration } NumberAnimation { property: "opacity"; to: 0.0; duration: Kirigami.Units.longDuration } } } view.removeDisplaced: Transition { SequentialAnimation { // wait for the "remove" animation to finish PauseAnimation { duration: Kirigami.Units.longDuration } NumberAnimation { properties: "x,y"; duration: Kirigami.Units.longDuration } } } view.delegate: KCM.GridDelegate { id: delegate text: model.themeName toolTip: model.description || model.themeName opacity: model.pendingDeletion ? 0.3 : 1 Behavior on opacity { NumberAnimation { duration: Kirigami.Units.longDuration } } thumbnailAvailable: true thumbnail: ThemePreview { id: preview anchors.fill: parent themeName: model.pluginName } actions: [ Kirigami.Action { iconName: "document-edit" tooltip: i18n("Edit Theme") enabled: !model.pendingDeletion visible: kcm.canEditThemes onTriggered: kcm.editTheme(model.pluginName) }, Kirigami.Action { iconName: "edit-delete" tooltip: i18n("Remove Theme") enabled: model.isLocal visible: !model.pendingDeletion onTriggered: kcm.setPendingDeletion(model.index, true); }, Kirigami.Action { iconName: "edit-undo" tooltip: i18n("Restore Theme") visible: model.pendingDeletion onTriggered: kcm.setPendingDeletion(model.index, false); } ] onClicked: { kcm.selectedPlugin = model.pluginName; view.forceActiveFocus(); } } footer: ColumnLayout { Kirigami.InlineMessage { id: infoLabel Layout.fillWidth: true showCloseButton: true Connections { target: kcm onShowSuccessMessage: { infoLabel.type = Kirigami.MessageType.Positive; infoLabel.text = message; infoLabel.visible = true; } onShowErrorMessage: { infoLabel.type = Kirigami.MessageType.Error; infoLabel.text = message; infoLabel.visible = true; } } } RowLayout { Layout.alignment: Qt.AlignRight QtControls.Button { text: i18n("Install from File...") icon.name: "document-import" onClicked: fileDialogLoader.active = true; } QtControls.Button { - text: i18n("Get New Themes...") + text: i18n("Get New Desktop Themes...") icon.name: "get-hot-new-stuff" onClicked: kcm.getNewStuff(this) visible: KAuthorized.authorize("ghns") } } } Loader { id: fileDialogLoader active: false sourceComponent: FileDialog { title: i18n("Open Theme") folder: shortcuts.home nameFilters: [ i18n("Theme Files (*.zip *.tar.gz *.tar.bz2)") ] Component.onCompleted: open() onAccepted: { kcm.installThemeFromFile(fileUrls[0]) fileDialogLoader.active = false } onRejected: { fileDialogLoader.active = false } } } } diff --git a/kcms/emoticons/emoticonslist.ui b/kcms/emoticons/emoticonslist.ui index 01df4b5bb..b38f49030 100644 --- a/kcms/emoticons/emoticonslist.ui +++ b/kcms/emoticons/emoticonslist.ui @@ -1,152 +1,157 @@ EmoticonsManager 0 0 630 419 Emoticons Manager Modify the selected emoticon icon or text Edit the selected emoticon to change its icon or its text Edit... Create a new emoticon Create a new emoticon by assigning it an icon and some text Add... 22 22 22 22 Get new icon themes from the Internet You need to be connected to the Internet to use this action. A dialog will display a list of emoticon themes from the http://www.kde-look.org website. Clicking the Install button associated with a theme will install this theme locally. - Get new Theme + Get New Emoticons... + + + + + Install a theme archive file you already have locally If you already have an emoticon theme archive locally, this button will unpack it and make it available for KDE applications Install from File Require spaces around emoticons Remove the selected theme from your disk This will remove the selected theme from your disk. Remove Theme Qt::Horizontal 40 20 Design a new emoticon theme Start a new theme by assigning it a name. Then use the Add button on the right to add emoticons to this theme. New Theme Remove the selected emoticon Remove the selected emoticon from your disk Remove diff --git a/kcms/icons/package/contents/ui/main.qml b/kcms/icons/package/contents/ui/main.qml index 85c2eba71..d6cd444a4 100644 --- a/kcms/icons/package/contents/ui/main.qml +++ b/kcms/icons/package/contents/ui/main.qml @@ -1,300 +1,300 @@ /* * Copyright 2018 Kai Uwe Broulik * * This program 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) version 3 or any later version * accepted by the membership of KDE e.V. (or its successor approved * by the membership of KDE e.V.), which shall act as a proxy * defined in Section 14 of version 3 of the license. * * 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 General Public License * along with this program. If not, see . */ import QtQuick 2.7 import QtQuick.Layouts 1.1 import QtQuick.Window 2.2 import QtQuick.Dialogs 1.0 as QtDialogs import QtQuick.Controls 2.3 as QtControls import org.kde.kirigami 2.4 as Kirigami import org.kde.kquickcontrolsaddons 2.0 as KQCAddons import org.kde.kconfig 1.0 // for KAuthorized import org.kde.kcm 1.1 as KCM import org.kde.private.kcms.icons 1.0 as Private KCM.GridViewKCM { KCM.ConfigModule.quickHelp: i18n("This module allows you to choose the icons for your desktop.") view.model: kcm.iconsModel view.currentIndex: kcm.iconsModel.selectedThemeIndex DropArea { anchors.fill: parent onEntered: { if (!drag.hasUrls) { drag.accepted = false; } } onDropped: kcm.installThemeFromFile(drop.urls[0]) } view.remove: Transition { ParallelAnimation { NumberAnimation { property: "scale"; to: 0.5; duration: Kirigami.Units.longDuration } NumberAnimation { property: "opacity"; to: 0.0; duration: Kirigami.Units.longDuration } } } view.removeDisplaced: Transition { SequentialAnimation { // wait for the "remove" animation to finish PauseAnimation { duration: Kirigami.Units.longDuration } NumberAnimation { properties: "x,y"; duration: Kirigami.Units.longDuration } } } view.delegate: KCM.GridDelegate { id: delegate text: model.display toolTip: model.description thumbnailAvailable: typeof thumbFlow.previews === "undefined" || thumbFlow.previews.length > 0 thumbnail: MouseArea { id: thumbArea anchors.fill: parent acceptedButtons: Qt.NoButton hoverEnabled: true clip: thumbFlow.y < 0 opacity: model.pendingDeletion ? 0.3 : 1 Behavior on opacity { NumberAnimation { duration: Kirigami.Units.longDuration } } Timer { interval: 1000 repeat: true running: thumbArea.containsMouse onRunningChanged: { if (!running) { thumbFlow.currentPage = 0; } } onTriggered: { if (!thumbFlow.allPreviesLoaded) { thumbFlow.loadPreviews(-1 /*no limit*/); thumbFlow.allPreviesLoaded = true; } ++thumbFlow.currentPage; if (thumbFlow.currentPage >= thumbFlow.pageCount) { stop(); } } } Flow { id: thumbFlow // undefined is "didn't load preview yet" // empty array is "no preview available" property var previews // initially we only load 6 and when the animation starts we'll load the rest property bool allPreviesLoaded: false property int currentPage readonly property int pageCount: Math.ceil(thumbRepeater.count / (thumbFlow.columns * thumbFlow.rows)) readonly property int iconWidth: Math.floor(thumbArea.width / thumbFlow.columns) readonly property int iconHeight: Math.round(thumbArea.height / thumbFlow.rows) readonly property int columns: 3 readonly property int rows: 2 function loadPreviews(limit) { previews = kcm.previewIcons(model.themeName, Math.min(thumbFlow.iconWidth, thumbFlow.iconHeight), Screen.devicePixelRatio, limit); } width: parent.width y: -currentPage * iconHeight * rows Behavior on y { NumberAnimation { duration: Kirigami.Units.longDuration } } Repeater { id: thumbRepeater model: thumbFlow.previews Item { width: thumbFlow.iconWidth height: thumbFlow.iconHeight KQCAddons.QPixmapItem { anchors.centerIn: parent width: Math.min(parent.width, nativeWidth) height: Math.min(parent.height, nativeHeight) // load on demand and avoid leaking a tiny corner of the icon pixmap: thumbFlow.y < 0 || index < (thumbFlow.columns * thumbFlow.rows) ? modelData : undefined smooth: true fillMode: KQCAddons.QPixmapItem.PreserveAspectFit } } } Component.onCompleted: { // avoid reloading it when icon sizes or dpr changes on startup Qt.callLater(function() { // We show 6 icons initially (3x2 grid), only load those thumbFlow.loadPreviews(6 /*limit*/); }); } } } actions: [ Kirigami.Action { iconName: "edit-delete" tooltip: i18n("Remove Icon Theme") enabled: model.removable visible: !model.pendingDeletion onTriggered: model.pendingDeletion = true }, Kirigami.Action { iconName: "edit-undo" tooltip: i18n("Restore Icon Theme") visible: model.pendingDeletion onTriggered: model.pendingDeletion = false } ] onClicked: { if (!model.pendingDeletion) { kcm.iconsModel.selectedTheme = model.themeName; } view.forceActiveFocus(); } } footer: ColumnLayout { Kirigami.InlineMessage { id: infoLabel Layout.fillWidth: true showCloseButton: true Connections { target: kcm onShowSuccessMessage: { infoLabel.type = Kirigami.MessageType.Positive; infoLabel.text = message; infoLabel.visible = true; } onShowErrorMessage: { infoLabel.type = Kirigami.MessageType.Error; infoLabel.text = message; infoLabel.visible = true; } } } RowLayout { id: progressRow visible: false QtControls.BusyIndicator { id: progressBusy } QtControls.Label { id: progressLabel Layout.fillWidth: true textFormat: Text.PlainText wrapMode: Text.WordWrap } Connections { target: kcm onShowProgress: { progressLabel.text = message; progressBusy.running = true; progressRow.visible = true; } onHideProgress: { progressBusy.running = false; progressRow.visible = false; } } } RowLayout { Layout.fillWidth: true QtControls.Button { id: iconSizesButton text: i18n("Configure Icon Sizes") icon.name: "transform-scale" // proper icon? checkable: true checked: iconSizePopupLoader.item && iconSizePopupLoader.item.opened onClicked: { iconSizePopupLoader.active = true; iconSizePopupLoader.item.open(); } } Item { Layout.fillWidth: true } QtControls.Button { id: installFromFileButton text: i18n("Install from File...") icon.name: "document-import" onClicked: fileDialogLoader.active = true } QtControls.Button { - text: i18n("Get New Themes...") + text: i18n("Get New Icons...") icon.name: "get-hot-new-stuff" onClicked: kcm.getNewStuff(this) visible: KAuthorized.authorize("ghns") } } } Loader { id: iconSizePopupLoader active: false sourceComponent: IconSizePopup { parent: iconSizesButton y: -height } } Loader { id: fileDialogLoader active: false sourceComponent: QtDialogs.FileDialog { title: i18n("Open Theme") folder: shortcuts.home nameFilters: [ i18n("Theme Files (*.tar.gz *.tar.bz2)") ] Component.onCompleted: open() onAccepted: { kcm.installThemeFromFile(fileUrls[0]) fileDialogLoader.active = false } onRejected: { fileDialogLoader.active = false } } } } diff --git a/kcms/ksplash/package/contents/ui/main.qml b/kcms/ksplash/package/contents/ui/main.qml index 1ae852a21..bd82a2428 100644 --- a/kcms/ksplash/package/contents/ui/main.qml +++ b/kcms/ksplash/package/contents/ui/main.qml @@ -1,68 +1,68 @@ /* Copyright (c) 2014 Marco Martin This library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License version 2 as published by the Free Software Foundation. This library 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 Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import QtQuick 2.1 import QtQuick.Layouts 1.1 import QtQuick.Controls 1.0 as QtControls import org.kde.kirigami 2.4 as Kirigami import org.kde.kconfig 1.0 // for KAuthorized import org.kde.kcm 1.1 as KCM KCM.GridViewKCM { KCM.ConfigModule.quickHelp: i18n("This module lets you configure the splash screen theme.") view.model: kcm.splashModel //NOTE: pay attention to never break this binding view.currentIndex: kcm.selectedPluginIndex view.delegate: KCM.GridDelegate { id: delegate text: model.display toolTip: model.description thumbnailAvailable: !!model.screenshot thumbnail: Image { anchors.fill: parent source: model.screenshot || "" } actions: [ Kirigami.Action { visible: model.pluginName != "None" iconName: "media-playback-start" tooltip: i18n("Test Splashscreen") onTriggered: kcm.test(model.pluginName) } ] onClicked: { kcm.selectedPlugin = model.pluginName; view.forceActiveFocus(); } } footer: RowLayout { Item { Layout.fillWidth: true } QtControls.Button { iconName: "get-hot-new-stuff" - text: i18n("&Get New Theme...") + text: i18n("&Get New Splash Screens...") onClicked: kcm.getNewClicked(); visible: KAuthorized.authorize("ghns") } } } diff --git a/kcms/lookandfeel/package/contents/ui/main.qml b/kcms/lookandfeel/package/contents/ui/main.qml index dd2edcca8..3f252e3fe 100644 --- a/kcms/lookandfeel/package/contents/ui/main.qml +++ b/kcms/lookandfeel/package/contents/ui/main.qml @@ -1,118 +1,118 @@ /* Copyright (c) 2018 Marco Martin This library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License version 2 as published by the Free Software Foundation. This library 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 Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import QtQuick 2.6 import QtQuick.Layouts 1.1 import QtQuick.Window 2.2 import QtQuick.Controls 2.3 as QtControls import org.kde.kirigami 2.4 as Kirigami import org.kde.kconfig 1.0 // for KAuthorized import org.kde.kcm 1.1 as KCM KCM.GridViewKCM { KCM.ConfigModule.quickHelp: i18n("This module lets you configure the look and feel theme.") view.model: kcm.lookAndFeelModel view.currentIndex: kcm.selectedPluginIndex view.delegate: KCM.GridDelegate { id: delegate text: model.display toolTip: model.description thumbnailAvailable: model.screenshot thumbnail: Image { anchors.fill: parent source: model.screenshot || "" } actions: [ Kirigami.Action { visible: model.fullScreenPreview != "" iconName: "media-playback-start" tooltip: i18n("Preview Theme") onTriggered: { previewWindow.url = model.fullScreenPreview; previewWindow.showFullScreen(); } } ] onClicked: { kcm.selectedPlugin = model.pluginName; view.forceActiveFocus(); resetCheckbox.checked = false; } } footer: ColumnLayout { Kirigami.InlineMessage { Layout.fillWidth: true type: Kirigami.MessageType.Warning text: i18n("Your desktop layout will be lost and reset to the default layout provided by the selected theme.") visible: resetCheckbox.checked } RowLayout { Layout.fillWidth: true QtControls.CheckBox { id: resetCheckbox checked: kcm.resetDefaultLayout text: i18n("Use Desktop Layout from theme") onCheckedChanged: kcm.resetDefaultLayout = checked; } Item { Layout.fillWidth: true } QtControls.Button { - text: i18n("Get New Looks...") + text: i18n("Get New Look and Feel Themes...") icon.name: "get-hot-new-stuff" onClicked: kcm.getNewStuff(this); visible: KAuthorized.authorize("ghns") } } } Window { id: previewWindow property alias url: previewImage.source color: Qt.rgba(0, 0, 0, 0.7) MouseArea { anchors.fill: parent Image { id: previewImage anchors.centerIn: parent fillMode: Image.PreserveAspectFit width: Math.min(parent.width, sourceSize.width) height: Math.min(parent.height, sourceSize.height) } onClicked: previewWindow.visible = false; QtControls.ToolButton { anchors { top: parent.top right: parent.right } icon.name: "window-close" onClicked: previewWindow.visible = false; } Shortcut { onActivated: previewWindow.visible = false; sequence: "Esc" } } } }