| 
									
										
										
										
											2015-11-06 21:49:02 +00:00
										 |  |  | /* | 
					
						
							|  |  |  |  *   Copyright 2015 Marco Martin <mart@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 Library 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. | 
					
						
							|  |  |  |  */ | 
					
						
							| 
									
										
										
										
											2015-10-09 01:57:10 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-11-06 21:50:52 +00:00
										 |  |  | import QtQuick 2.5 | 
					
						
							| 
									
										
										
										
											2015-11-06 21:49:02 +00:00
										 |  |  | import QtQuick.Window 2.2 | 
					
						
							| 
									
										
										
										
											2015-10-09 05:04:44 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-11-06 21:50:52 +00:00
										 |  |  | //pragma Singleton
 | 
					
						
							| 
									
										
										
										
											2015-11-06 21:49:02 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-11-06 21:50:52 +00:00
										 |  |  | QtObject { | 
					
						
							| 
									
										
										
										
											2015-11-06 21:49:02 +00:00
										 |  |  |     id: units | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     /** | 
					
						
							|  |  |  |      * The fundamental unit of space that should be used for sizes, expressed in pixels. | 
					
						
							|  |  |  |      * Given the screen has an accurate DPI settings, it corresponds to a width of | 
					
						
							|  |  |  |      * the capital letter M | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2015-11-06 21:53:26 +00:00
										 |  |  |     property int gridUnit: fontMetrics.height | 
					
						
							| 
									
										
										
										
											2015-11-06 21:49:02 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  |     /** | 
					
						
							|  |  |  |      * units.iconSizes provides access to platform-dependent icon sizing | 
					
						
							|  |  |  |      * | 
					
						
							|  |  |  |      * The icon sizes provided are normalized for different DPI, so icons | 
					
						
							|  |  |  |      * will scale depending on the DPI. | 
					
						
							|  |  |  |      * | 
					
						
							|  |  |  |      * Icon sizes from KIconLoader, adjusted to devicePixelRatio: | 
					
						
							|  |  |  |      * * small | 
					
						
							|  |  |  |      * * smallMedium | 
					
						
							|  |  |  |      * * medium | 
					
						
							|  |  |  |      * * large | 
					
						
							|  |  |  |      * * huge | 
					
						
							|  |  |  |      * * enormous | 
					
						
							|  |  |  |      * | 
					
						
							|  |  |  |      * Not devicePixelRation-adjusted:: | 
					
						
							|  |  |  |      * * desktop | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2015-11-06 21:50:52 +00:00
										 |  |  |     property QtObject iconSizes: QtObject { | 
					
						
							| 
									
										
										
										
											2015-11-06 21:49:02 +00:00
										 |  |  |         property int small: 16 * devicePixelRatio | 
					
						
							|  |  |  |         property int smallMedium: 22 * devicePixelRatio | 
					
						
							|  |  |  |         property int medium: 32 * devicePixelRatio | 
					
						
							|  |  |  |         property int large: 48 * devicePixelRatio | 
					
						
							|  |  |  |         property int huge: 64 * devicePixelRatio | 
					
						
							|  |  |  |         property int enormous: 128 * devicePixelRatio | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     /** | 
					
						
							|  |  |  |      * units.smallSpacing is the amount of spacing that should be used around smaller UI elements, | 
					
						
							|  |  |  |      * for example as spacing in Columns. Internally, this size depends on the size of | 
					
						
							|  |  |  |      * the default font as rendered on the screen, so it takes user-configured font size and DPI | 
					
						
							|  |  |  |      * into account. | 
					
						
							|  |  |  |      */ | 
					
						
							|  |  |  |     property int smallSpacing: gridUnit/4 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     /** | 
					
						
							|  |  |  |      * units.largeSpacing is the amount of spacing that should be used inside bigger UI elements, | 
					
						
							|  |  |  |      * for example between an icon and the corresponding text. Internally, this size depends on | 
					
						
							|  |  |  |      * the size of the default font as rendered on the screen, so it takes user-configured font | 
					
						
							|  |  |  |      * size and DPI into account. | 
					
						
							|  |  |  |      */ | 
					
						
							|  |  |  |     property int largeSpacing: gridUnit | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     /** | 
					
						
							|  |  |  |      * The ratio between physical and device-independent pixels. This value does not depend on the \ | 
					
						
							|  |  |  |      * size of the configured font. If you want to take font sizes into account when scaling elements, | 
					
						
							|  |  |  |      * use theme.mSize(theme.defaultFont), units.smallSpacing and units.largeSpacing. | 
					
						
							|  |  |  |      * The devicePixelRatio follows the definition of "device independent pixel" by Microsoft. | 
					
						
							|  |  |  |      */ | 
					
						
							|  |  |  |     property real devicePixelRatio: Screen.devicePixelRatio | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     /** | 
					
						
							|  |  |  |      * units.longDuration should be used for longer, screen-covering animations, for opening and | 
					
						
							|  |  |  |      * closing of dialogs and other "not too small" animations | 
					
						
							|  |  |  |      */ | 
					
						
							|  |  |  |     property int longDuration: 250 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     /** | 
					
						
							|  |  |  |      * units.shortDuration should be used for short animations, such as accentuating a UI event, | 
					
						
							|  |  |  |      * hover events, etc.. | 
					
						
							|  |  |  |      */ | 
					
						
							|  |  |  |     property int shortDuration: 150 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-11-07 03:00:25 +01:00
										 |  |  |     property QtObject fontMetrics: FontMetrics {} | 
					
						
							| 
									
										
										
										
											2015-11-06 21:49:02 +00:00
										 |  |  | } |