Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Q
qtquickcontrols-nemo
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
NemoMobile
qtquickcontrols-nemo
Commits
3858cd52
Commit
3858cd52
authored
Jun 09, 2017
by
Aleksi Suomalainen
Committed by
GitHub
Jun 09, 2017
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #41 from neochapay/theming
Theming
parents
d20c0321
7197e400
Changes
105
Hide whitespace changes
Inline
Side-by-side
Showing
105 changed files
with
802 additions
and
4166 deletions
+802
-4166
.gitignore
.gitignore
+5
-1
AndroidDelegate.qml
examples/touch/content/AndroidDelegate.qml
+1
-1
ButtonPage.qml
examples/touch/content/ButtonPage.qml
+4
-4
ButtonRowPage.qml
examples/touch/content/ButtonRowPage.qml
+1
-1
CheckboxPage.qml
examples/touch/content/CheckboxPage.qml
+1
-1
LabelPage.qml
examples/touch/content/LabelPage.qml
+1
-1
ListViewPage.qml
examples/touch/content/ListViewPage.qml
+1
-1
LiveCoding.qml
examples/touch/content/LiveCoding.qml
+1
-1
ProgressBarPage.qml
examples/touch/content/ProgressBarPage.qml
+1
-1
QueryDialogPage.qml
examples/touch/content/QueryDialogPage.qml
+1
-1
SelectRollerPage.qml
examples/touch/content/SelectRollerPage.qml
+52
-57
SliderPage.qml
examples/touch/content/SliderPage.qml
+1
-1
TabBarPage.qml
examples/touch/content/TabBarPage.qml
+2
-2
TextInputPage.qml
examples/touch/content/TextInputPage.qml
+2
-4
glacier-gallery.desktop
examples/touch/glacier-gallery.desktop
+2
-2
main.qml
examples/touch/main.qml
+9
-9
resources.qrc
examples/touch/resources.qrc
+0
-30
main.cpp
examples/touch/src/main.cpp
+19
-2
src.pri
examples/touch/src/src.pri
+0
-2
touch.pro
examples/touch/touch.pro
+31
-12
qtquickcontrols-nemo.spec
rpm/qtquickcontrols-nemo.spec
+3
-2
ApplicationWindow.qml
src/controls/ApplicationWindow.qml
+14
-14
Button.qml
src/controls/Button.qml
+2
-2
ButtonRow.qml
src/controls/ButtonRow.qml
+6
-5
Checkbox.qml
src/controls/Checkbox.qml
+1
-1
GlacierRoller.qml
src/controls/GlacierRoller.qml
+1
-1
GlacierRollerItem.qml
src/controls/GlacierRollerItem.qml
+1
-1
Header.qml
src/controls/Header.qml
+7
-7
HeaderToolsLayout.qml
src/controls/HeaderToolsLayout.qml
+20
-16
Label.qml
src/controls/Label.qml
+3
-3
ListView.qml
src/controls/ListView.qml
+9
-9
ListViewItemWithActions.qml
src/controls/ListViewItemWithActions.qml
+11
-12
Page.qml
src/controls/Page.qml
+2
-2
QueryDialog.qml
src/controls/QueryDialog.qml
+2
-2
Slider.qml
src/controls/Slider.qml
+1
-1
Spinner.qml
src/controls/Spinner.qml
+40
-40
controls.pro
src/controls/controls.pro
+5
-2
qquicknemocontrolsextensionplugin.cpp
src/controls/qquicknemocontrolsextensionplugin.cpp
+3
-0
sizing.cpp
src/controls/sizing.cpp
+6
-6
theme.cpp
src/controls/theme.cpp
+295
-0
theme.h
src/controls/theme.h
+161
-0
ButtonStyle.qml
src/styles/ButtonStyle.qml
+17
-18
CheckBoxStyle.qml
src/styles/CheckBoxStyle.qml
+10
-12
ComboBoxStyle.qml
src/styles/ComboBoxStyle.qml
+1
-1
FocusFrameStyle.qml
src/styles/FocusFrameStyle.qml
+1
-1
GrooveStyle.qml
src/styles/GrooveStyle.qml
+4
-4
GroupBoxStyle.qml
src/styles/GroupBoxStyle.qml
+1
-1
MenuBarStyle.qml
src/styles/MenuBarStyle.qml
+1
-1
MenuStyle.qml
src/styles/MenuStyle.qml
+1
-1
ProgressBarStyle.qml
src/styles/ProgressBarStyle.qml
+1
-1
RadioButtonStyle.qml
src/styles/RadioButtonStyle.qml
+1
-1
ScrollViewStyle.qml
src/styles/ScrollViewStyle.qml
+1
-1
SliderStyle.qml
src/styles/SliderStyle.qml
+7
-7
SpinBoxStyle.qml
src/styles/SpinBoxStyle.qml
+1
-1
StatusBarStyle.qml
src/styles/StatusBarStyle.qml
+1
-1
TabViewStyle.qml
src/styles/TabViewStyle.qml
+1
-1
TableViewStyle.qml
src/styles/TableViewStyle.qml
+1
-1
TextFieldStyle.qml
src/styles/TextFieldStyle.qml
+15
-12
ToolBarStyle.qml
src/styles/ToolBarStyle.qml
+3
-3
ToolButtonStyle.qml
src/styles/ToolButtonStyle.qml
+4
-4
nemotheme.cpp
src/styles/autogenerated/nemotheme.cpp
+0
-477
nemotheme.h
src/styles/autogenerated/nemotheme.h
+0
-104
nemothemebutton.cpp
src/styles/autogenerated/nemothemebutton.cpp
+0
-53
nemothemebutton.h
src/styles/autogenerated/nemothemebutton.h
+0
-51
nemothemebuttonpressedgradient.cpp
src/styles/autogenerated/nemothemebuttonpressedgradient.cpp
+0
-142
nemothemebuttonpressedgradient.h
src/styles/autogenerated/nemothemebuttonpressedgradient.h
+0
-72
nemothemebuttonrow.cpp
src/styles/autogenerated/nemothemebuttonrow.cpp
+0
-54
nemothemebuttonrow.h
src/styles/autogenerated/nemothemebuttonrow.h
+0
-48
nemothemebuttontext.cpp
src/styles/autogenerated/nemothemebuttontext.cpp
+0
-47
nemothemebuttontext.h
src/styles/autogenerated/nemothemebuttontext.h
+0
-47
nemothemecheckbox.cpp
src/styles/autogenerated/nemothemecheckbox.cpp
+0
-54
nemothemecheckbox.h
src/styles/autogenerated/nemothemecheckbox.h
+0
-48
nemothemefont.cpp
src/styles/autogenerated/nemothemefont.cpp
+0
-72
nemothemefont.h
src/styles/autogenerated/nemothemefont.h
+0
-49
nemothemegroove.cpp
src/styles/autogenerated/nemothemegroove.cpp
+0
-54
nemothemegroove.h
src/styles/autogenerated/nemothemegroove.h
+0
-48
nemothemeheader.cpp
src/styles/autogenerated/nemothemeheader.cpp
+0
-47
nemothemeheader.h
src/styles/autogenerated/nemothemeheader.h
+0
-47
nemothemeheaderdimmer.cpp
src/styles/autogenerated/nemothemeheaderdimmer.cpp
+0
-120
nemothemeheaderdimmer.h
src/styles/autogenerated/nemothemeheaderdimmer.h
+0
-66
nemothemelabel.cpp
src/styles/autogenerated/nemothemelabel.cpp
+0
-63
nemothemelabel.h
src/styles/autogenerated/nemothemelabel.h
+0
-49
nemothemepage.cpp
src/styles/autogenerated/nemothemepage.cpp
+0
-41
nemothemepage.h
src/styles/autogenerated/nemothemepage.h
+0
-43
nemothemepagedimmer.cpp
src/styles/autogenerated/nemothemepagedimmer.cpp
+0
-120
nemothemepagedimmer.h
src/styles/autogenerated/nemothemepagedimmer.h
+0
-66
nemothemepagestack.cpp
src/styles/autogenerated/nemothemepagestack.cpp
+0
-50
nemothemepagestack.h
src/styles/autogenerated/nemothemepagestack.h
+0
-43
nemothemespinner.cpp
src/styles/autogenerated/nemothemespinner.cpp
+0
-164
nemothemespinner.h
src/styles/autogenerated/nemothemespinner.h
+0
-78
nemothemetextfield.cpp
src/styles/autogenerated/nemothemetextfield.cpp
+0
-98
nemothemetextfield.h
src/styles/autogenerated/nemothemetextfield.h
+0
-61
nemothemetoolbar.cpp
src/styles/autogenerated/nemothemetoolbar.cpp
+0
-41
nemothemetoolbar.h
src/styles/autogenerated/nemothemetoolbar.h
+0
-43
nemothemewindow.cpp
src/styles/autogenerated/nemothemewindow.cpp
+0
-41
nemothemewindow.h
src/styles/autogenerated/nemothemewindow.h
+0
-43
internal_resources.qrc
src/styles/internal_resources.qrc
+0
-6
qquicknemostyleextensionplugin.cpp
src/styles/qquicknemostyleextensionplugin.cpp
+0
-27
styles.pro
src/styles/styles.pro
+2
-36
README
tools/themehelper/README
+0
-11
classgenerator.py
tools/themehelper/classgenerator.py
+0
-519
components.json
tools/themehelper/components.json
+0
-331
formattingtools.py
tools/themehelper/formattingtools.py
+0
-53
generate.sh
tools/themehelper/generate.sh
+0
-4
themehelper.py
tools/themehelper/themehelper.py
+0
-103
No files found.
.gitignore
View file @
3858cd52
...
...
@@ -3,9 +3,13 @@
.directory
*.o
*.so
*.qmlc
moc_*
qrc_*
examples/touch/touch_nemo
.qmake.stash
*.spec.*
documentation.list
examples/touch/glacier-components
Makefile
installroot/
RPMS/
\ No newline at end of file
examples/touch/content/AndroidDelegate.qml
View file @
3858cd52
...
...
@@ -83,7 +83,7 @@ Item {
anchors.right
:
parent
.
right
anchors.rightMargin
:
20
anchors.verticalCenter
:
parent
.
verticalCenter
source
:
"
..
/images/navigation_next_item.png
"
source
:
"
/usr/share/glacier-components
/images/navigation_next_item.png
"
}
MouseArea
{
...
...
examples/touch/content/ButtonPage.qml
View file @
3858cd52
...
...
@@ -38,7 +38,7 @@
**
****************************************************************************/
import
QtQuick
2.
1
import
QtQuick
2.
6
import
QtQuick
.
Controls
1.0
//needed for the Stack attached property
import
QtQuick
.
Controls
.
Nemo
1.0
import
QtQuick
.
Controls
.
Styles
.
Nemo
1.0
...
...
@@ -54,11 +54,11 @@ Page {
anchors.centerIn
:
parent
Button
{
property
bool
isGlacier
:
Theme
.
name
==
"
Glacier
"
property
bool
isGlacier
:
true
anchors.margins
:
20
text
:
isGlacier
?
"
Set Ugly Theme
"
:
"
Set Nice Theme
"
onClicked
:
isGlacier
?
Theme
.
load
FromFile
(
"
ugly.json
"
)
:
Theme
.
load
FromFile
(
"
glacier.json
"
)
onClicked
:
isGlacier
?
Theme
.
load
Theme
(
"
ugly
"
)
:
Theme
.
load
Theme
(
"
glacier
"
)
}
Button
{
...
...
examples/touch/content/ButtonRowPage.qml
View file @
3858cd52
...
...
@@ -29,7 +29,7 @@
**
****************************************************************************************/
import
QtQuick
2.
1
import
QtQuick
2.
6
import
QtQuick
.
Controls
1.0
//needed for the Stack attached property
import
QtQuick
.
Controls
.
Nemo
1.0
import
QtQuick
.
Controls
.
Styles
.
Nemo
1.0
...
...
examples/touch/content/CheckboxPage.qml
View file @
3858cd52
...
...
@@ -29,7 +29,7 @@
**
****************************************************************************************/
import
QtQuick
2.
1
import
QtQuick
2.
6
import
QtQuick
.
Controls
1.0
//needed for the Stack attached property
import
QtQuick
.
Controls
.
Nemo
1.0
import
QtQuick
.
Controls
.
Styles
.
Nemo
1.0
...
...
examples/touch/content/LabelPage.qml
View file @
3858cd52
...
...
@@ -29,7 +29,7 @@
**
****************************************************************************************/
import
QtQuick
2.
1
import
QtQuick
2.
6
import
QtQuick
.
Controls
1.0
//needed for the Stack attached property
import
QtQuick
.
Controls
.
Nemo
1.0
import
QtQuick
.
Controls
.
Styles
.
Nemo
1.0
...
...
examples/touch/content/ListViewPage.qml
View file @
3858cd52
import
QtQuick
2.
1
import
QtQuick
2.
6
import
QtQuick
.
Controls
1.0
import
QtQuick
.
Controls
.
Nemo
1.0
import
QtQuick
.
Controls
.
Styles
.
Nemo
1.0
...
...
examples/touch/content/LiveCoding.qml
View file @
3858cd52
...
...
@@ -17,7 +17,7 @@
* Boston, MA 02110-1301, USA.
*/
import
QtQuick
2.
1
import
QtQuick
2.
6
import
QtQuick
.
Controls
1.0
//needed for the Stack attached property
import
QtQuick
.
Controls
.
Nemo
1.0
import
QtQuick
.
Layouts
1.0
...
...
examples/touch/content/ProgressBarPage.qml
View file @
3858cd52
...
...
@@ -38,7 +38,7 @@
**
****************************************************************************/
import
QtQuick
2.
1
import
QtQuick
2.
6
import
QtQuick
.
Controls
1.0
//needed for the Stack attached property
import
QtQuick
.
Controls
.
Nemo
1.0
import
QtQuick
.
Controls
.
Styles
.
Nemo
1.0
...
...
examples/touch/content/QueryDialogPage.qml
View file @
3858cd52
...
...
@@ -29,7 +29,7 @@
**
****************************************************************************************/
import
QtQuick
2.
1
import
QtQuick
2.
6
import
QtQuick
.
Controls
1.0
//needed for the Stack attached property
import
QtQuick
.
Controls
.
Nemo
1.0
import
QtQuick
.
Controls
.
Styles
.
Nemo
1.0
...
...
examples/touch/content/SelectRollerPage.qml
View file @
3858cd52
import
QtQuick
2.
1
import
QtQuick
2.
6
import
QtQuick
.
Controls
1.0
//needed for the Stack attached property
import
QtQuick
.
Controls
.
Nemo
1.0
import
QtQuick
.
Controls
.
Styles
.
Nemo
1.0
...
...
@@ -6,75 +6,70 @@ import QtQuick.Controls.Styles.Nemo 1.0
Page
{
id
:
root
headerTools
:
HeaderToolsLayout
{
showBackButton
:
true
;
title
:
"
Roller
"
}
headerTools
:
HeaderToolsLayout
{
showBackButton
:
true
;
title
:
"
Label
"
}
allowedOrientations
:
Qt
.
PortraitOrientation
|
Qt
.
LandscapeOrientation
|
Qt
.
InvertedLandscapeOrientation
|
Qt
.
InvertedPortraitOrientation
ListModel
{
id
:
animalsModel
ListElement
{
name
:
"
Ant
"
;}
ListElement
{
name
:
"
Flea
"
;
}
ListElement
{
name
:
"
Parrot
"
;
}
ListElement
{
name
:
"
Guinea pig
"
;}
ListElement
{
name
:
"
Rat
"
;}
ListElement
{
name
:
"
Butterfly
"
;}
ListElement
{
name
:
"
Dog
"
;}
ListElement
{
name
:
"
Cat
"
;}
ListElement
{
name
:
"
Pony
"
;}
ListElement
{
name
:
"
Koala
"
;}
ListElement
{
name
:
"
Horse
"
;}
ListElement
{
name
:
"
Tiger
"
;}
ListElement
{
name
:
"
Giraffe
"
;}
ListElement
{
name
:
"
Elephant
"
;}
ListElement
{
name
:
"
Whale
"
;}
}
GlacierRoller
{
id
:
simpleRoller
Column
{
spacing
:
40
width
:
parent
.
width
anchors
{
top
:
parent
.
top
topMargin
:
40
}
clip
:
true
model
:
animalsModel
label
:
qsTr
(
"
Choose your favorite animal
"
)
delegate
:
GlacierRollerItem
{
Text
{
height
:
simpleRoller
.
itemHeight
text
:
name
color
:
"
white
"
font.pixelSize
:
32
font.bold
:
(
simpleRoller
.
activated
&&
simpleRoller
.
currentIndex
===
index
)
}
ListModel
{
id
:
animalsModel
ListElement
{
name
:
"
Ant
"
;}
ListElement
{
name
:
"
Flea
"
;
}
ListElement
{
name
:
"
Parrot
"
;
}
ListElement
{
name
:
"
Guinea pig
"
;}
ListElement
{
name
:
"
Rat
"
;}
ListElement
{
name
:
"
Butterfly
"
;}
ListElement
{
name
:
"
Dog
"
;}
ListElement
{
name
:
"
Cat
"
;}
ListElement
{
name
:
"
Pony
"
;}
ListElement
{
name
:
"
Koala
"
;}
ListElement
{
name
:
"
Horse
"
;}
ListElement
{
name
:
"
Tiger
"
;}
ListElement
{
name
:
"
Giraffe
"
;}
ListElement
{
name
:
"
Elephant
"
;}
ListElement
{
name
:
"
Whale
"
;}
}
}
GlacierRoller
{
id
:
simpleRoller2
width
:
parent
.
width
anchors
{
top
:
simpleRoller
.
bottom
topMargin
:
40
GlacierRoller
{
id
:
simpleRoller
width
:
parent
.
width
clip
:
true
model
:
animalsModel
label
:
qsTr
(
"
Choose your favorite animal
"
)
delegate
:
GlacierRollerItem
{
Text
{
height
:
simpleRoller
.
itemHeight
text
:
name
color
:
"
white
"
font.pixelSize
:
32
font.bold
:
(
simpleRoller
.
activated
&&
simpleRoller
.
currentIndex
===
index
)
}
}
}
clip
:
true
model
:
animalsModel
label
:
qsTr
(
"
Choose your second favorite animal
"
)
GlacierRoller
{
id
:
simpleRoller2
width
:
parent
.
width
clip
:
true
model
:
animalsModel
label
:
qsTr
(
"
Choose your second favorite animal
"
)
delegate
:
GlacierRollerItem
{
Text
{
height
:
simpleRoller2
.
itemHeight
text
:
name
color
:
"
white
"
font.pixelSize
:
32
font.bold
:
(
simpleRoller2
.
activated
&&
simpleRoller2
.
currentIndex
===
index
)
delegate
:
GlacierRollerItem
{
Text
{
height
:
simpleRoller2
.
itemHeight
text
:
name
color
:
"
white
"
font.pixelSize
:
32
font.bold
:
(
simpleRoller2
.
activated
&&
simpleRoller2
.
currentIndex
===
index
)
}
}
}
}
...
...
examples/touch/content/SliderPage.qml
View file @
3858cd52
...
...
@@ -38,7 +38,7 @@
**
****************************************************************************/
import
QtQuick
2.
1
import
QtQuick
2.
6
import
QtQuick
.
Controls
1.0
//needed for the Stack attached property
import
QtQuick
.
Controls
.
Nemo
1.0
import
QtQuick
.
Controls
.
Styles
.
Nemo
1.0
...
...
examples/touch/content/TabBarPage.qml
View file @
3858cd52
...
...
@@ -38,7 +38,7 @@
**
****************************************************************************/
import
QtQuick
2.
1
import
QtQuick
2.
6
import
QtQuick
.
Controls
1.0
//needed for the Stack attached property
import
QtQuick
.
Controls
.
Nemo
1.0
import
QtQuick
.
Controls
.
Styles
.
Nemo
1.0
...
...
@@ -79,7 +79,7 @@ Page {
anchors.fill
:
parent
border.bottom
:
size
.
dp
(
8
)
border.top
:
size
.
dp
(
8
)
source
:
styleData
.
selected
?
"
../images/tab_selected.png
"
:
"
..
/images/tabs_standard.png
"
source
:
styleData
.
selected
?
"
/usr/share/glacier-components/images/tab_selected.png
"
:
"
/usr/share/glacier-components
/images/tabs_standard.png
"
Text
{
anchors.centerIn
:
parent
color
:
"
white
"
...
...
examples/touch/content/TextInputPage.qml
View file @
3858cd52
...
...
@@ -38,7 +38,7 @@
**
****************************************************************************/
import
QtQuick
2.
1
import
QtQuick
2.
6
import
QtQuick
.
Controls
1.0
//needed for the Stack attached property
import
QtQuick
.
Controls
.
Nemo
1.0
import
QtQuick
.
Controls
.
Styles
.
Nemo
1.0
...
...
@@ -71,13 +71,11 @@ Page {
TextField
{
anchors.margins
:
size
.
dp
(
20
)
text
:
"
Text input
"
//style: touchStyle
}
TextField
{
anchors.margins
:
size
.
dp
(
20
)
text
:
"
Readonly Text input
"
//style: touchStyle
readOnly
:
true
}
...
...
@@ -112,7 +110,7 @@ Page {
implicitHeight
:
size
.
dp
(
50
)
implicitWidth
:
size
.
dp
(
320
)
BorderImage
{
source
:
"
..
/images/textinput.png
"
source
:
"
/usr/share/glacier-components
/images/textinput.png
"
border.left
:
size
.
dp
(
8
)
border.right
:
size
.
dp
(
8
)
anchors.bottom
:
parent
.
bottom
...
...
examples/touch/glacier-gallery.desktop
View file @
3858cd52
[Desktop Entry]
Type=Application
Name=Glacier
UI
Name=Glacier
components
Categories=Applications;
Exec=env QT_QUICK_CONTROLS_STYLE=Nemo /usr/
lib/qt5/examples/touch_nemo
Exec=env QT_QUICK_CONTROLS_STYLE=Nemo /usr/
bin/glacier-components
Icon=icon-app-components
X-Desktop-File-Install-Version=0.20
...
...
examples/touch/main.qml
View file @
3858cd52
...
...
@@ -38,7 +38,7 @@
**
****************************************************************************/
import
QtQuick
2.
1
import
QtQuick
2.
6
import
QtQuick
.
Controls
1.0
import
QtQuick
.
Controls
.
Nemo
1.0
import
QtQuick
.
Controls
.
Styles
.
Nemo
1.0
...
...
@@ -126,9 +126,9 @@ ApplicationWindow {
id
:
tools
title
:
"
Nemo Touch Gallery
"
tools
:
[
ToolButton
{
iconSource
:
"
..
/images/icon_cog.png
"
},
ToolButton
{
iconSource
:
"
..
/images/icon_edit.png
"
},
ToolButton
{
iconSource
:
"
..
/images/icon_refresh.png
"
}
]
tools
:
[
ToolButton
{
iconSource
:
"
/usr/share/glacier-components
/images/icon_cog.png
"
},
ToolButton
{
iconSource
:
"
/usr/share/glacier-components
/images/icon_edit.png
"
},
ToolButton
{
iconSource
:
"
/usr/share/glacier-components
/images/icon_refresh.png
"
}
]
//The parent of these items is null when this ToolsLayout is not used
//(i.e. you're on a different page) so we need to check the parent,
...
...
@@ -176,19 +176,19 @@ ApplicationWindow {
id
:
tool1
anchors.right
:
parent
.
right
anchors.verticalCenter
:
parent
.
verticalCenter
iconSource
:
"
..
/images/icon_cog.png
"
iconSource
:
"
/usr/share/glacier-components
/images/icon_cog.png
"
}
ToolButton
{
id
:
tool2
anchors.right
:
tool1
.
left
anchors.verticalCenter
:
parent
.
verticalCenter
iconSource
:
"
..
/images/icon_edit.png
"
iconSource
:
"
/usr/share/glacier-components
/images/icon_edit.png
"
}
ToolButton
{
id
:
tool3
anchors.right
:
tool2
.
left
anchors.verticalCenter
:
parent
.
verticalCenter
iconSource
:
"
..
/images/icon_refresh.png
"
iconSource
:
"
/usr/share/glacier-components
/images/icon_refresh.png
"
}
},
ButtonRow
{
...
...
@@ -219,8 +219,8 @@ ApplicationWindow {
model
:
pageModel
anchors.fill
:
parent
clip
:
true
delegate
:
AndroidDelegate
{
text
:
title
delegate
:
ListViewItemWithActions
{
label
:
title
onClicked
:
pageItem
.
Stack
.
view
.
push
(
Qt
.
resolvedUrl
(
page
))
}
}
...
...
examples/touch/resources.qrc
deleted
100644 → 0
View file @
d20c0321
<RCC>
<qresource prefix="/">
<file>main.qml</file>
<file>content/AndroidDelegate.qml</file>
<file>content/ButtonPage.qml</file>
<file>content/ProgressBarPage.qml</file>
<file>content/SliderPage.qml</file>
<file>content/TabBarPage.qml</file>
<file>content/TextInputPage.qml</file>
<file>images/button_default.png</file>
<file>images/button_pressed.png</file>
<file>images/navigation_next_item.png</file>
<file>images/navigation_previous_item.png</file>
<file>images/tab_selected.png</file>
<file>images/tabs_standard.png</file>
<file>images/textinput.png</file>
<file>images/toolbar.png</file>
<file>content/LiveCoding.qml</file>
<file>content/SpinnerPage.qml</file>
<file>content/LabelPage.qml</file>
<file>content/CheckboxPage.qml</file>
<file>content/ButtonRowPage.qml</file>
<file>content/QueryDialogPage.qml</file>
<file>images/dots-vertical.png</file>
<file>images/icon-triangle-left.png</file>
<file>images/icon_cog.png</file>
<file>images/icon_edit.png</file>
<file>images/icon_refresh.png</file>
</qresource>
</RCC>
examples/touch/src/main.cpp
View file @
3858cd52
/****************************************************************************
**
** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
** Copyright (C) 2017 Chupligin Sergey neochapay@gmail.com
** Contact: http://www.qt-project.org/legal
**
** This file is part of the Qt Quick Controls module of the Qt Toolkit.
...
...
@@ -37,6 +38,22 @@
** $QT_END_LICENSE$
**
****************************************************************************/
#include <QtGui/QGuiApplication>
#include <QQmlApplicationEngine>
#include <QtQuick/QQuickView>
#include "../../shared/qt_quick_controls_examplemain.h"
QT_QUICK_CONTROLS_EXAMPLE_MAIN
(
qrc
:/
main
.
qml
)
int
main
(
int
argc
,
char
*
argv
[])
{
setenv
(
"QT_QUICK_CONTROLS_STYLE"
,
"Nemo"
,
1
);
QGuiApplication
app
(
argc
,
argv
);
QQmlApplicationEngine
*
engine
=
new
QQmlApplicationEngine
(
QUrl
(
"/usr/share/glacier-components/main.qml"
));
QObject
*
topLevel
=
engine
->
rootObjects
().
value
(
0
);
QQuickWindow
*
window
=
qobject_cast
<
QQuickWindow
*>
(
topLevel
);
window
->
setTitle
(
QObject
::
tr
(
"Glacier components"
));
window
->
showFullScreen
();
return
app
.
exec
();
}
examples/touch/src/src.pri
deleted
100644 → 0
View file @
d20c0321
SOURCES += \
$$PWD/main.cpp
examples/touch/touch.pro
View file @
3858cd52
TEMPLATE
=
app
QT
+=
qml
quick
TARGET
=
touch_nemo
target
.
path
=
/
usr
/
lib
/
qt5
/
examples
TARGET
=
glacier
-
components
target
.
path
=
/
usr
/
bin
qtHaveModule
(
widgets
)
{
QT
+=
widgets
}
include
(
src
/
src
.
pri
)
mainqml
.
files
=
main
.
qml
mainqml
.
path
=
/
usr
/
share
/
glacier
-
components
qml
.
files
+=
\
content
/
AndroidDelegate
.
qml
\
content
/
ButtonPage
.
qml
\
content
/
ProgressBarPage
.
qml
\
content
/
SliderPage
.
qml
\
content
/
TabBarPage
.
qml
\
content
/
TextInputPage
.
qml
\
content
/
LiveCoding
.
qml
\
content
/
SpinnerPage
.
qml
\
content
/
LabelPage
.
qml
\
content
/
CheckboxPage
.
qml
\
content
/
ButtonRowPage
.
qml
\
content
/
QueryDialogPage
.
qml
\
content
/
ListViewPage
.
qml
\
content
/
SelectRollerPage
.
qml
qml
.
path
=
/
usr
/
share
/
glacier
-
components
/
content
images
.
files
=
images
/*
.png
images.path = /usr/share/glacier-components/images
OTHER_FILES += \
main.qml \
...
...
@@ -22,18 +44,15 @@ OTHER_FILES += \
content/LabelPage.qml \
content/CheckboxPage.qml \
content/ButtonRowPage.qml \
content
/
QueryDialogPage
.
qml
RESOURCES
+=
\
resources
.
qrc
content/QueryDialogPage.qml \
content/ListViewPage.qml \
content/SelectRollerPage.qml
INSTALLS
+=
target
desktop.path = /usr/share/applications
desktop.files = glacier-gallery.desktop
INSTALLS
+=
desktop
DISTFILES
+=
\
content
/
ListViewPage
.
qml
\
content
/
SelectRollerPage
.
qml
INSTALLS += desktop target qml mainqml images
SOURCES += \
src/main.cpp
rpm/qtquickcontrols-nemo.spec
View file @
3858cd52
Name: qt5-qtquickcontrols-nemo
Summary: Nemomobile Qt Quick Controls
Version: 5.
2
.0
Version: 5.
3
.0
Release: nemo1
Group: Qt/Qt
License: LGPLv2.1 with exception or GPLv3
...
...
@@ -68,6 +68,7 @@ desktop-file-install --delete-original \
%files examples
%defattr(-,root,root,-)
%{_libdir}/qt5/examples/touch_nemo
%{_bindir}/glacier-components
%{_datadir}/glacier-components
%{_datadir}/applications/*.desktop
src/controls/ApplicationWindow.qml
View file @
3858cd52
...
...
@@ -18,7 +18,7 @@
*/
import
QtQuick
.
Window
2.0
import
QtQuick
2.
1
import
QtQuick
2.
6
import
QtQuick
.
Controls
1.0
import
QtQuick
.
Layouts
1.0
import
QtQuick
.
Controls
.
Private
1.0
...
...
@@ -43,7 +43,7 @@ NemoWindow {
//is this safe? can there be some situation in which it's neither portrait nor landscape?
readonly
property
int
isUiLandscape
:
!
isUiPortrait
readonly
property
var
_bgColor
:
Theme
.
window
.
background
readonly
property
var
_bgColor
:
Theme
.
backgroundColor
color
:
_bgColor
//README: allowedOrientations' default value is set in NemoWindow's c++ implementation
...
...
@@ -226,7 +226,7 @@ NemoWindow {
property
:
"
x
"
from
:
target
.
width
to
:
0
duration
:
Theme
.
pageStack
.
transitionDuration
duration
:
500
easing.type
:
Easing
.
OutQuad
}
PropertyAnimation
{
...
...
@@ -234,7 +234,7 @@ NemoWindow {
property
:
"
x
"
from
:
0
to
:
-
target
.
width
duration
:
Theme
.
pageStack
.
transitionDuration
duration
:
500
easing.type
:
Easing
.
OutQuad
}
}
...
...
@@ -246,7 +246,7 @@ NemoWindow {
property
:
"
x
"
from
:
-
target
.
width
to
:
0
duration
:
Theme
.
pageStack
.
transitionDuration
duration
:
500
easing.type
:
Easing
.
OutQuad
}
PropertyAnimation
{
...
...
@@ -254,7 +254,7 @@ NemoWindow {
property
:
"
x
"
from
:
0
to
:
target
.
width
duration
:
Theme
.
pageStack
.
transitionDuration
duration
:
500
easing.type
:
Easing
.
OutQuad
}
}
...
...
@@ -287,16 +287,16 @@ NemoWindow {
anchors.right
:
isUiPortrait
?
parent
.
right
:
undefined
anchors.bottom
:
isUiPortrait
?
undefined
:
parent
.
bottom
//we only set the size in one orientation, the anchors will take care of the other
width
:
if
(
!
isUiPortrait
)
Theme
.
header
.
dimmer
.
height
height
:
if
(
isUiPortrait
)
Theme
.
header
.
dimmer
.
height
width
:
if
(
!
isUiPortrait
)
Theme
.
itemHeightExtraSmall
/
2
height
:
if
(
isUiPortrait
)
Theme
.
itemHeightExtraSmall
/
2
//MAKE SURE THAT THE HEIGHT SPECIFIED BY THE THEME IS AN EVEN NUMBER, TO AVOID ROUNDING ERRORS IN THE LAYOUT
Rectangle
{
id
:
headerDimmer
anchors.centerIn
:
parent
gradient
:
Gradient
{
GradientStop
{
position
:
Theme
.
header
.
dimmer
.
startPosition
;
color
:
Theme
.
header
.
dimmer
.
start
Color
}
GradientStop
{
position
:
Theme
.
header
.
dimmer
.
endPosition
;
color
:
Theme
.
header
.
dimmer
.
endColor
}
GradientStop
{
position
:
0
;
color
:
Theme
.
background
Color
}
GradientStop
{
position
:
1
;
color
:
"
transparent
"
}
}
}
}
...
...
@@ -324,7 +324,7 @@ NemoWindow {
}
PropertyChanges
{
target
:
headerDimmer
height
:
Theme
.
header
.
dimmer
.
height
height
:
Theme
.
itemHeightExtraSmall
/
2
width
:
parent
.
width
rotation
:
0
}
...
...
@@ -342,7 +342,7 @@ NemoWindow {
}
PropertyChanges
{
target
:
headerDimmer
height
:
Theme
.
header
.
dimmer
.
height
height
:
Theme
.
itemHeightExtraSmall
/
2
width
:
parent
.
height
rotation
:
-
90
}
...
...
@@ -360,7 +360,7 @@ NemoWindow {
}
PropertyChanges
{
target
:
headerDimmer
height
:
Theme
.
header
.
dimmer
.
height
height
:
Theme
.
itemHeightExtraSmall
/
2
width
:
parent
.
width
rotation
:
0
}
...
...
@@ -378,7 +378,7 @@ NemoWindow {
}
PropertyChanges
{
target
:
headerDimmer
height
:
Theme
.
header
.
dimmer
.
height
height
:
Theme
.
itemHeightExtraSmall
/
2
width
:
parent
.
height
rotation
:
-
90
}
...
...
src/controls/Button.qml
View file @
3858cd52
...
...
@@ -17,9 +17,9 @@
* Boston, MA 02110-1301, USA.
*/
import
QtQuick
2.
1
import
QtQuick
2.
6
import
QtQuick
.
Controls
1.0
import
QtQuick
.
Controls
.
Nemo
1.0
import
QtQuick
.
Controls
.
Styles
.
Nemo
1.0
Button
{
...
...
src/controls/ButtonRow.qml
View file @
3858cd52
/****************************************************************************************
**
** Copyright (C) 2014 Aleksi Suomalainen <suomalainen.aleksi@gmail.com>
** Copyright (C) 2017 Sergey Chupligin <neochapay@gmail.com>
** All rights reserved.
**
** You may use this file under the terms of BSD license as follows:
...
...
@@ -29,14 +30,14 @@
**
****************************************************************************************/
import
QtQuick
2.
1
import
QtQuick
2.
6
import
QtQuick
.
Controls
.
Styles
.
Nemo
1.0
Rectangle
{
id
:
main
width
:
childrenRect
.
width
color
:
"
#313131
"
height
:
size
.
dp
(
40
)
color
:
Theme
.
fillDarkColor
height
:
Theme
.
itemHeightSmall
property
ListModel
model
:
ListModel
{}
property
bool
enabled
:
true
property
int
currentIndex
:
-
1
...
...
@@ -54,8 +55,8 @@ Rectangle {
y
:
size
.
dp
(
-
5
)
width
:
rowElement
.
children
[
main
.
currentIndex
].
width
||
0
height
:
size
.
dp
(
50
)
color
:
"
#0091e5
"
height
:
Theme
.
itemHeightSmall
color
:
Theme
.
accentColor
visible
:
main
.
currentIndex
>
-
1
...
...
src/controls/Checkbox.qml
View file @
3858cd52
import
QtQuick
2.
1
import
QtQuick
2.
6
import
QtQuick
.
Controls
1.0
import
QtQuick
.
Controls
.
Styles
.
Nemo
1.0
...
...
src/controls/GlacierRoller.qml
View file @
3858cd52
import
QtQuick
2.
0
import
QtQuick
2.
6
Item
{
id
:
glacierRoller
...
...
src/controls/GlacierRollerItem.qml
View file @
3858cd52
import
QtQuick
2.
0
import
QtQuick
2.
6
Rectangle
{
id
:
glacierRollerItem
...
...
src/controls/Header.qml
View file @
3858cd52
import
QtQuick
2.
1
import
QtQuick
2.
6
import
QtQuick
.
Window
2.0
import
QtQuick
.
Controls
1.0
import
QtQuick
.
Controls
.
Nemo
1.0
...
...
@@ -62,7 +62,7 @@ Item {
PropertyChanges
{
target
:
toolBarRect
width
:
parent
.
width
height
:
size
.
dp
(
75
)
height
:
Theme
.
itemHeightExtraLarge
}
},
State
{
...
...
@@ -91,7 +91,7 @@ Item {
}
PropertyChanges
{
target
:
toolBarRect
width
:
size
.
dp
(
75
)
width
:
Theme
.
itemHeightExtraLarge
height
:
parent
.
height
}
}
...
...
@@ -149,14 +149,14 @@ Item {
SequentialAnimation
{
id
:
changeToolsLayoutAnim
NumberAnimation
{
id
:
fadeOut
;
target
:
root
;
property
:
"
opacity
"
;
to
:
0
;
duration
:
Theme
.
pageStack
.
transitionDuration
/
2
;
easing.type
:
Easing
.
OutQuad
;
loops
:
!
toolBarLayout
?
0
:
1
}
duration
:
250
;
easing.type
:
Easing
.
OutQuad
;
loops
:
!
toolBarLayout
?
0
:
1
}
//headerTools may change now, so we have to close the drawer
ScriptAction
{
script
:
closeDrawer
()
}
ScriptAction
{
script
:
updateHeaderTools
()
}
//tell the (maybe new) layout that we're its container
ScriptAction
{
script
:
propagateHeaderReference
()
}
NumberAnimation
{
id
:
fadeIn
;
target
:
root
;
property
:
"
opacity
"
;
to
:
1
;
duration
:
Theme
.
pageStack
.
transitionDuration
/
2
;
easing.type
:
Easing
.
OutQuad
;
loops
:
!
toolBarLayout
?
0
:
1
}
duration
:
250
;
easing.type
:
Easing
.
OutQuad
;
loops
:
!
toolBarLayout
?
0
:
1
}
}
...
...
@@ -181,7 +181,7 @@ Item {
anchors.right
:
parent
.
right
//README: the rest of the anchors/sizes will be set by AnchorChanges!
color
:
Theme
.
header
.
background
color
:
Theme
.
backgroundColor
FilteringMouseArea
{
id
:
mouseArea
...
...
@@ -305,7 +305,7 @@ Item {
Rectangle
{
id
:
drawerContainer
color
:
Theme
.
header
.
background
color
:
Theme
.
backgroundColor
Binding
on
width
{
value
:
drawer
.
width
...
...
src/controls/HeaderToolsLayout.qml
View file @
3858cd52
import
QtQuick
2.
0
import
QtQuick
2.
6
import
QtQuick
.
Controls
.
Nemo
1.0
import
QtQuick
.
Controls
.
Styles
.
Nemo
1.0
import
QtQuick
.
Layouts
1.0
...
...
@@ -26,7 +26,7 @@ Item {
Rectangle
{
id
:
backButton
width
:
opacity
?
size
.
dp
(
60
)
:
0
anchors.leftMargin
:
size
.
dp
(
20
)
anchors.leftMargin
:
Theme
.
itemSpacingLarge
//check if Stack.view has already been initialized as well
anchors.verticalCenter
:
parent
.
verticalCenter
antialiasing
:
true
...
...
@@ -40,28 +40,30 @@ Item {
Image
{
anchors.centerIn
:
parent
source
:
"
..
/Styles/Nemo/images/icon-triangle-left.png
"
source
:
"
/usr/lib/qt5/qml/QtQuick/Controls
/Styles/Nemo/images/icon-triangle-left.png
"
}
MouseArea
{
id
:
backmouse
anchors.fill
:
parent
anchors.margins
:
size
.
dp
(
-
10
)
anchors.margins
:
-
Theme
.
itemSpacingSmall
onClicked
:
header
&&
header
.
stackView
&&
header
.
stackView
.
pop
()
}
}
Label
{
id
:
titleTxt
anchors.right
:
toolButtonsContainer
.
left
anchors.left
:
backButton
.
visible
?
backButton
.
right
:
parent
.
left
anchors.verticalCenter
:
parent
.
verticalCenter
anchors.leftMargin
:
size
.
dp
(
20
)
anchors.rightMargin
:
size
.
dp
(
20
)
anchors
{
right
:
toolButtonsContainer
.
left
left
:
backButton
.
visible
?
backButton
.
right
:
parent
.
left
verticalCenter
:
parent
.
verticalCenter
leftMargin
:
Theme
.
itemSpacingLarge
rightMargin
:
Theme
.
itemSpacingLarge
}
clip
:
true
font.family
:
Theme
.
fontFamily
color
:
Theme
.
label
.
c
olor
font.pointSize
:
size
.
dp
(
24
)
color
:
Theme
.
textC
olor
font.pointSize
:
Theme
.
fontSizeLarge
font.weight
:
Font
.
Bold
LinearGradient
{
anchors.right
:
parent
.
right
...
...
@@ -71,7 +73,7 @@ Item {
start
:
Qt
.
point
(
0
,
0
)
end
:
Qt
.
point
(
width
,
0
)
gradient
:
Gradient
{
GradientStop
{
position
:
0
;
color
:
"
transparent
"
}
GradientStop
{
position
:
0.9
;
color
:
Theme
.
header
.
background
}
}
GradientStop
{
position
:
0.9
;
color
:
Theme
.
backgroundColor
}
}
}
}
...
...
@@ -106,11 +108,13 @@ Item {
Image
{
id
:
dots
anchors.right
:
parent
.
right
anchors.rightMargin
:
size
.
dp
(
20
)
anchors.verticalCenter
:
parent
.
verticalCenter
anchors
{
right
:
parent
.
right
rightMargin
:
Theme
.
itemSpacingLarge
verticalCenter
:
parent
.
verticalCenter
}
visible
:
drawerLevels
&&
drawerLevels
.
length
>
1
source
:
"
..
/Styles/Nemo/images/dots-vertical.png
"
source
:
"
/usr/lib/qt5/qml/QtQuick/Controls
/Styles/Nemo/images/dots-vertical.png
"
rotation
:
isUiPortrait
?
0
:
90
}
}
src/controls/Label.qml
View file @
3858cd52
...
...
@@ -28,12 +28,12 @@
** SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
**
****************************************************************************************/
import
QtQuick
2.
1
import
QtQuick
2.
6
import
QtQuick
.
Controls
.
Styles
.
Nemo
1.0
Text
{
renderType
:
Text
.
NativeRendering
font.family
:
Theme
.
fontFamily
color
:
Theme
.
label
.
c
olor
font.pointSize
:
size
.
dp
(
Theme
.
label
.
pointSize
)
color
:
Theme
.
textC
olor
font.pointSize
:
Theme
.
fontSizeLarge
}
src/controls/ListView.qml
View file @
3858cd52
import
QtQuick
2.
1
import
QtQuick
2.
6
import
QtQuick
.
Controls
1.0
import
QtGraphicalEffects
1.0
import
QtQuick
.
Controls
.
Styles
.
Nemo
1.0
...
...
@@ -16,17 +16,17 @@ ListView {
Rectangle
{
width
:
listView
.
width
height
:
size
.
dp
(
44
)
color
:
"
black
"
color
:
Theme
.
backgroundColor
Text
{
id
:
sectionText
text
:
section
font.capitalization
:
Font
.
AllUppercase
font.pixelSize
:
size
.
dp
(
20
)
color
:
"
white
"
font.pixelSize
:
Theme
.
fontSizeMedium
color
:
Theme
.
textColor
anchors
{
left
:
parent
.
left
leftMargin
:
size
.
dp
(
10
)
leftMargin
:
Theme
.
itemSpacingSmall
verticalCenter
:
parent
.
verticalCenter
}
}
...
...
@@ -34,11 +34,11 @@ ListView {
Rectangle
{
id
:
line
height
:
1
color
:
"
white
"
color
:
Theme
.
textColor
width
:
listView
.
width
-
sectionText
.
width
-
size
.
dp
(
30
)
anchors
{
left
:
sectionText
.
right
leftMargin
:
size
.
dp
(
10
)
leftMargin
:
Theme
.
itemSpacingSmall
verticalCenter
:
sectionText
.
verticalCenter
}
}
...
...
@@ -59,7 +59,7 @@ ListView {
end
:
Qt
.
point
(
0
,
size
.
dp
(
30
))
gradient
:
Gradient
{
GradientStop
{
position
:
0.0
;
color
:
"
transparent
"
}
GradientStop
{
position
:
1.0
;
color
:
"
black
"
}
GradientStop
{
position
:
1.0
;
color
:
Theme
.
backgroundColor
}
}
}
...
...
@@ -68,7 +68,7 @@ ListView {
Rectangle
{
id
:
scrollerDecorator
visible
:
(
listView
.
showDecorator
&&
listView
.
contentHeight
>
listView
.
height
)
color
:
"
#0091e5
"
color
:
Theme
.
accentColor
width
:
size
.
dp
(
5
)
height
:
listView
.
height
*
listView
.
height
/
listView
.
contentHeight
...
...
src/controls/ListViewItemWithActions.qml
View file @
3858cd52
import
QtQuick
2.
1
import
QtQuick
2.
6
import
QtQuick
.
Controls
.
Nemo
1.0
import
QtGraphicalEffects
1.0
...
...
@@ -6,14 +6,13 @@ import QtGraphicalEffects 1.0
Item
{
id
:
root
width
:
parent
.
width
height
:
60
height
:
size
.
dp
(
60
)
property
string
label
:
""
property
string
description
:
""
property
string
subdescription
:
""
property
string
icon
:
""
property
string
page
:
""
property
bool
showNext
:
true
...
...
@@ -36,7 +35,7 @@ Item {
Rectangle
{
id
:
actionsArea
color
:
"
#474747
"
color
:
Theme
.
fillColor
anchors.right
:
listArea
.
left
...
...
@@ -70,7 +69,7 @@ Item {
width
:
height
anchors
{
left
:
parent
.
left
leftMargin
:
size
.
dp
(
20
)
leftMargin
:
Theme
.
itemSpacingLarge
top
:
parent
.
top
topMargin
:
size
.
dp
(
5
)
}
...
...
@@ -90,14 +89,14 @@ Item {
anchors
{
left
:
itemIcon
.
right
leftMargin
:
size
.
dp
(
20
)
leftMargin
:
Theme
.
itemSpacingLarge
verticalCenter
:
itemIcon
.
verticalCenter
}
color
:
"
transparent
"
Text
{
id
:
labelItem
color
:
"
#ffffff
"
color
:
Theme
.
textColor
text
:
label
anchors
{
left
:
parent
.
left
...
...
@@ -109,28 +108,28 @@ Item {
Text
{
id
:
descriptionItem
color
:
"
#ffffff
"
color
:
Theme
.
textColor
text
:
description
anchors
{
left
:
parent
.
left
right
:
parent
.
right
top
:
labelItem
.
bottom
}
font.pixelSize
:
size
.
dp
(
18
)
font.pixelSize
:
Theme
.
fontSizeSmall
clip
:
true
visible
:
description
!=
""
}
Text
{
id
:
subDescriptionItem
color
:
"
#ffffff
"
color
:
Theme
.
textColor
text
:
subdescription
anchors
{
left
:
parent
.
left
right
:
parent
.
right
top
:
descriptionItem
.
bottom
}
font.pixelSize
:
size
.
dp
(
18
)
font.pixelSize
:
Theme
.
fontSizeSmall
clip
:
true
visible
:
subdescription
!=
""
}
...
...
@@ -162,7 +161,7 @@ Item {
anchors
{
right
:
parent
.
right
rightMargin
:
size
.
dp
(
20
)
rightMargin
:
Theme
.
itemSpacingLarge
verticalCenter
:
parent
.
verticalCenter
}
...
...
src/controls/Page.qml
View file @
3858cd52
...
...
@@ -29,7 +29,7 @@
**
****************************************************************************************/
import
QtQuick
2.
1
import
QtQuick
2.
6
import
QtQuick
.
Controls
1.0
// Needed for things like Stack attached properties
import
QtQuick
.
Controls
.
Nemo
1.0
import
QtQuick
.
Controls
.
Styles
.
Nemo
1.0
...
...
@@ -70,7 +70,7 @@ NemoPage {
Rectangle
{
id
:
background
anchors.fill
:
parent
color
:
Theme
.
page
.
background
color
:
Theme
.
backgroundColor
}
Item
{
...
...
src/controls/QueryDialog.qml
View file @
3858cd52
import
QtQuick
2.
0
import
QtQuick
2.
6
Rectangle
{
id
:
shell
anchors.fill
:
parent
opacity
:
0.7
color
:
"
black
"
color
:
Theme
.
backgroundColor
signal
accepted
()
signal
canceled
()
property
alias
cancelText
:
cancel
.
text
...
...
src/controls/Slider.qml
View file @
3858cd52
import
QtQuick
2.
1
import
QtQuick
2.
6
import
QtQuick
.
Controls
1.0
import
QtQuick
.
Controls
.
Styles
.
Nemo
1.0
...
...
src/controls/Spinner.qml
View file @
3858cd52
...
...
@@ -29,8 +29,8 @@
**
****************************************************************************************/
import
QtQuick
2.
1
import
QtQuick
.
Controls
.
Styles
.
Nemo
1.0
import
QtQuick
2.
6
import
QtQuick
.
Controls
.
Nemo
1.0
Item
{
id
:
container
...
...
@@ -49,7 +49,7 @@ Item {
targets
:
[
circle0
,
circle1
,
circle2
,
circle3
]
property
:
"
opacity
"
to
:
1
duration
:
Theme
.
spinner
.
initialStateDuration
duration
:
1500
}
PropertyAction
{
target
:
animations
;
property
:
"
running
"
;
value
:
true
}
}
...
...
@@ -63,14 +63,14 @@ Item {
PropertyAnimation
{
targets
:
[
circle0
,
circle1
,
circle2
,
circle3
]
property
:
"
color
"
;
to
:
Theme
.
spinner
.
primary
Color
duration
:
Theme
.
spinner
.
transitionDuration
to
:
Theme
.
backgroundAccent
Color
duration
:
500
}
NumberAnimation
{
targets
:
[
circle0
,
circle1
,
circle2
,
circle3
]
property
:
"
opacity
"
to
:
0
duration
:
Theme
.
spinner
.
initialStateDuration
duration
:
1500
}
}
}
...
...
@@ -84,8 +84,8 @@ Item {
Item
{
id
:
innerRect
anchors.centerIn
:
parent
width
:
Theme
.
spinner
.
radius
+
Theme
.
spinner
.
horizontalSpacing
height
:
Theme
.
spinner
.
radius
+
Theme
.
spinner
.
verticalSpacing
width
:
Theme
.
itemHeightExtraSmall
+
Theme
.
itemSpacingMedium
height
:
Theme
.
itemHeightExtraSmall
+
Theme
.
itemSpacingMedium
}
Rectangle
{
...
...
@@ -93,10 +93,10 @@ Item {
opacity
:
0
anchors.horizontalCenter
:
innerRect
.
left
anchors.verticalCenter
:
innerRect
.
top
width
:
Theme
.
spinner
.
radius
height
:
Theme
.
spinner
.
radius
radius
:
Theme
.
spinner
.
radius
/
2
color
:
Theme
.
spinner
.
primary
Color
width
:
Theme
.
itemHeightExtraSmall
height
:
Theme
.
itemHeightExtraSmall
radius
:
Theme
.
itemHeightExtraSmall
/
2
color
:
Theme
.
backgroundAccent
Color
}
Rectangle
{
...
...
@@ -104,10 +104,10 @@ Item {
opacity
:
0
anchors.horizontalCenter
:
innerRect
.
right
anchors.verticalCenter
:
innerRect
.
top
width
:
Theme
.
spinner
.
radius
height
:
Theme
.
spinner
.
radius
radius
:
Theme
.
spinner
.
radius
/
2
color
:
Theme
.
spinner
.
primary
Color
width
:
Theme
.
itemHeightExtraSmall
height
:
Theme
.
itemHeightExtraSmall
radius
:
Theme
.
itemHeightExtraSmall
/
2
color
:
Theme
.
backgroundAccent
Color
}
Rectangle
{
...
...
@@ -115,10 +115,10 @@ Item {
opacity
:
0
anchors.horizontalCenter
:
innerRect
.
right
anchors.verticalCenter
:
innerRect
.
bottom
width
:
Theme
.
spinner
.
radius
height
:
Theme
.
spinner
.
radius
radius
:
Theme
.
spinner
.
radius
/
2
color
:
Theme
.
spinner
.
primary
Color
width
:
Theme
.
itemHeightExtraSmall
height
:
Theme
.
itemHeightExtraSmall
radius
:
Theme
.
itemHeightExtraSmall
/
2
color
:
Theme
.
backgroundAccent
Color
}
Rectangle
{
...
...
@@ -126,10 +126,10 @@ Item {
opacity
:
0
anchors.horizontalCenter
:
innerRect
.
left
anchors.verticalCenter
:
innerRect
.
bottom
width
:
Theme
.
spinner
.
radius
height
:
Theme
.
spinner
.
radius
radius
:
Theme
.
spinner
.
radius
/
2
color
:
Theme
.
spinner
.
primary
Color
width
:
Theme
.
itemHeightExtraSmall
height
:
Theme
.
itemHeightExtraSmall
radius
:
Theme
.
itemHeightExtraSmall
/
2
color
:
Theme
.
backgroundAccent
Color
}
SequentialAnimation
{
...
...
@@ -139,14 +139,14 @@ Item {
PropertyAnimation
{
target
:
circle0
property
:
"
color
"
to
:
Theme
.
spinner
.
secondary
Color
duration
:
Theme
.
spinner
.
transitionDuration
to
:
Theme
.
accent
Color
duration
:
500
}
PropertyAnimation
{
target
:
circle3
property
:
"
color
"
to
:
Theme
.
spinner
.
primary
Color
duration
:
Theme
.
spinner
.
transitionDuration
to
:
Theme
.
backgroundAccent
Color
duration
:
500
}
}
...
...
@@ -154,14 +154,14 @@ Item {
PropertyAnimation
{
target
:
circle1
property
:
"
color
"
to
:
Theme
.
spinner
.
secondary
Color
duration
:
Theme
.
spinner
.
transitionDuration
to
:
Theme
.
accent
Color
duration
:
500
}
PropertyAnimation
{
target
:
circle0
property
:
"
color
"
to
:
Theme
.
spinner
.
primary
Color
duration
:
Theme
.
spinner
.
transitionDuration
to
:
Theme
.
backgroundAccent
Color
duration
:
500
}
}
...
...
@@ -169,14 +169,14 @@ Item {
PropertyAnimation
{
target
:
circle2
property
:
"
color
"
to
:
Theme
.
spinner
.
secondary
Color
duration
:
Theme
.
spinner
.
transitionDuration
to
:
Theme
.
accent
Color
duration
:
500
}
PropertyAnimation
{
target
:
circle1
property
:
"
color
"
to
:
Theme
.
spinner
.
primary
Color
duration
:
Theme
.
spinner
.
transitionDuration
to
:
Theme
.
backgroundAccent
Color
duration
:
500
}
}
...
...
@@ -184,14 +184,14 @@ Item {
PropertyAnimation
{
target
:
circle3
property
:
"
color
"
to
:
Theme
.
spinner
.
secondary
Color
duration
:
Theme
.
spinner
.
transitionDuration
to
:
Theme
.
accent
Color
duration
:
500
}
PropertyAnimation
{
target
:
circle2
property
:
"
color
"
to
:
Theme
.
spinner
.
primary
Color
duration
:
Theme
.
spinner
.
transitionDuration
to
:
Theme
.
backgroundAccent
Color
duration
:
500
}
}
}
...
...
src/controls/controls.pro
View file @
3858cd52
...
...
@@ -35,7 +35,8 @@ HEADERS += \
nemoimageprovider
.
h
\
themedaemon
/
mlocalthemedaemonclient
.
h
\
themedaemon
/
mabstractthemedaemonclient
.
h
\
sizing
.
h
sizing
.
h
\
theme
.
h
SOURCES
+=
\
qquicknemocontrolsextensionplugin
.
cpp
\
...
...
@@ -46,13 +47,15 @@ SOURCES += \
nemoimageprovider
.
cpp
\
themedaemon
/
mlocalthemedaemonclient
.
cpp
\
themedaemon
/
mabstractthemedaemonclient
.
cpp
\
sizing
.
cpp
sizing
.
cpp
\
theme
.
cpp
target
.
path
=
$$
[
QT_INSTALL_QML
]
/
$$
PLUGIN_IMPORT_PATH
qmlfiles
.
files
=
$$
_PRO_FILE_PWD_
/*
.qml
qmlfiles.files += $$_PRO_FILE_PWD_/qmldir
qmlfiles.path = $$[QT_INSTALL_QML]/$$PLUGIN_IMPORT_PATH
images.files = $$_PRO_FILE_PWD_/images
images.path = $$[QT_INSTALL_QML]/$$PLUGIN_IMPORT_PATH
...
...
src/controls/qquicknemocontrolsextensionplugin.cpp
View file @
3858cd52
...
...
@@ -26,6 +26,7 @@
#include "qquickfilteringmousearea.h"
#include "nemoimageprovider.h"
#include "sizing.h"
#include "theme.h"
QQuickNemoControlsExtensionPlugin
::
QQuickNemoControlsExtensionPlugin
(
QObject
*
parent
)
:
QQmlExtensionPlugin
(
parent
)
...
...
@@ -50,10 +51,12 @@ void QQuickNemoControlsExtensionPlugin::registerTypes(const char *uri)
void
QQuickNemoControlsExtensionPlugin
::
initializeEngine
(
QQmlEngine
*
engine
,
const
char
*
uri
)
{
Sizing
*
sizing
=
new
Sizing
();
Theme
*
theme
=
new
Theme
();
QQmlExtensionPlugin
::
initializeEngine
(
engine
,
uri
);
QQmlContext
*
context
=
engine
->
rootContext
();
context
->
setContextProperty
(
"size"
,
sizing
);
context
->
setContextProperty
(
"Theme"
,
theme
);
engine
->
addImageProvider
(
QLatin1String
(
"theme"
),
new
NemoImageProvider
);
}
...
...
src/controls/sizing.cpp
View file @
3858cd52
...
...
@@ -29,13 +29,13 @@ Sizing::Sizing(QObject *parent) : QObject(parent)
}
else
if
(
m_dpi
>=
140
&&
m_dpi
<
200
){
//~160dpi
m_densitie
=
mdpi
;
}
else
if
(
m_dpi
>=
200
&&
m_dpi
<
28
0
){
}
else
if
(
m_dpi
>=
200
&&
m_dpi
<
30
0
){
//~240dpi
m_densitie
=
hdpi
;
}
else
if
(
m_dpi
>=
280
&&
m_dpi
<
40
0
){
}
else
if
(
m_dpi
>=
300
&&
m_dpi
<
42
0
){
//~320dpi
m_densitie
=
xhdpi
;
}
else
if
(
m_dpi
>=
4
0
0
&&
m_dpi
<
560
){
}
else
if
(
m_dpi
>=
4
2
0
&&
m_dpi
<
560
){
//~480dpi
m_densitie
=
xxhdpi
;
}
else
{
...
...
@@ -45,7 +45,6 @@ Sizing::Sizing(QObject *parent) : QObject(parent)
if
(
m_p_height
>
0
&&
m_p_width
>
0
){
m_valid
=
true
;
setMmScaleFactor
();
setDpScaleFactor
();
}
else
{
if
(
m_p_height
==
0
){
qWarning
(
"QT_QPA_EGLFS_PHYSICAL_HEIGHT is not set!"
);
...
...
@@ -56,6 +55,7 @@ Sizing::Sizing(QObject *parent) : QObject(parent)
}
qWarning
(
"Device mm sizing don`t work"
);
}
setDpScaleFactor
();
}
void
Sizing
::
setMmScaleFactor
()
...
...
@@ -80,7 +80,7 @@ void Sizing::setDpScaleFactor()
m_dp_factor
=
1
;
break
;
case
xhdpi
:
m_dp_factor
=
1.
3
;
m_dp_factor
=
1.
5
;
break
;
case
xxhdpi
:
m_dp_factor
=
2
;
...
...
@@ -89,7 +89,7 @@ void Sizing::setDpScaleFactor()
m_dp_factor
=
2.5
;
break
;
default:
m_dp_factor
=
1.
3
;
m_dp_factor
=
1.
5
;
break
;
}
...
...
src/controls/theme.cpp
0 → 100644
View file @
3858cd52
#include "theme.h"
#include "sizing.h"
#include <QFile>
#include <QDebug>
#include <QJsonDocument>
#include <QJsonObject>
Theme
::
Theme
(
QObject
*
parent
)
:
QObject
(
parent
)
{
Sizing
*
size
=
new
Sizing
;
m_dp
=
size
->
getDpScaleFactor
();
//Load defaults
m_itemWidthLarge
=
320
*
m_dp
;
m_itemWidthMedium
=
240
*
m_dp
;
m_itemWidthSmall
=
120
*
m_dp
;
m_itemWidthExtraSmall
=
72
*
m_dp
;
m_itemHeightHuge
=
80
*
m_dp
;
m_itemHeightExtraLarge
=
75
*
m_dp
;
m_itemHeightLarge
=
63
*
m_dp
;
m_itemHeightMedium
=
50
*
m_dp
;
m_itemHeightSmall
=
40
*
m_dp
;
m_itemHeightExtraSmall
=
32
*
m_dp
;
m_itemSpacingHuge
=
40
*
m_dp
;
m_itemSpacingLarge
=
20
*
m_dp
;
m_itemSpacingMedium
=
15
*
m_dp
;
m_itemSpacingSmall
=
10
*
m_dp
;
m_itemSpacingExtraSmall
=
8
*
m_dp
;
m_fontSizeExtraLarge
=
30
*
m_dp
;
m_fontSizeLarge
=
24
*
m_dp
;
m_fontSizeMedium
=
20
*
m_dp
;
m_fontSizeSmall
=
18
*
m_dp
;
m_fontSizeTiny
=
16
*
m_dp
;
m_fontWeightLarge
=
63
*
m_dp
;
m_fontWeightMedium
=
25
*
m_dp
;
m_fontFamily
=
"/usr/share/fonts/google-opensans/OpenSans-Regular.ttf"
;
m_accentColor
=
"#0091e5"
;
m_fillColor
=
"#474747"
;
m_fillDarkColor
=
"#313131"
;
m_textColor
=
"#ffffff"
;
m_backgroundColor
=
"#000000"
;
m_backgroundAccentColor
=
"#ffffff"
;
}
bool
Theme
::
loadTheme
(
QString
fileName
)
{
QString
themeJsonString
;
bool
updated
=
false
;
QFile
themeFile
;
themeFile
.
setFileName
(
fileName
);
if
(
!
themeFile
.
exists
())
{
qDebug
()
<<
"Theme file "
<<
fileName
<<
" not found"
;
return
false
;
}
themeFile
.
open
(
QIODevice
::
ReadOnly
|
QIODevice
::
Text
);
themeJsonString
=
themeFile
.
readAll
();
themeFile
.
close
();
QJsonDocument
t
=
QJsonDocument
::
fromJson
(
themeJsonString
.
toUtf8
());
QJsonObject
theme
=
t
.
object
();
if
(
theme
.
value
(
"itemWidthLarge"
).
toString
().
toFloat
()
!=
0
&&
theme
.
value
(
"itemWidthLarge"
).
toString
().
toFloat
()
!=
m_itemWidthLarge
)
{
m_itemWidthLarge
=
theme
.
value
(
"itemWidthLarge"
).
toString
().
toFloat
()
*
m_dp
;
emit
itemWidthLargeChanged
();
updated
=
true
;
}
if
(
theme
.
value
(
"itemWidthMedium"
).
toString
().
toFloat
()
!=
0
&&
theme
.
value
(
"itemWidthMedium"
).
toString
().
toFloat
()
!=
m_itemWidthMedium
)
{
m_itemWidthMedium
=
theme
.
value
(
"itemWidthMedium"
).
toString
().
toFloat
()
*
m_dp
;
emit
itemWidthMediumChanged
();
updated
=
true
;
}
if
(
theme
.
value
(
"itemWidthSmall"
).
toString
().
toFloat
()
!=
0
&&
theme
.
value
(
"itemWidthSmall"
).
toString
().
toFloat
()
!=
m_itemWidthSmall
)
{
m_itemWidthSmall
=
theme
.
value
(
"itemWidthSmall"
).
toString
().
toFloat
()
*
m_dp
;
emit
itemWidthSmallChanged
();
updated
=
true
;
}
if
(
theme
.
value
(
"itemWidthExtraSmall"
).
toString
().
toFloat
()
!=
0
&&
theme
.
value
(
"itemWidthExtraSmall"
).
toString
().
toFloat
()
!=
m_itemWidthExtraSmall
)
{
m_itemWidthExtraSmall
=
theme
.
value
(
"itemWidthExtraSmall"
).
toString
().
toFloat
()
*
m_dp
;
emit
itemWidthExtraSmallChanged
();
updated
=
true
;
}
if
(
theme
.
value
(
"itemHeightHuge"
).
toString
().
toFloat
()
!=
0
&&
theme
.
value
(
"itemHeightHuge"
).
toString
().
toFloat
()
!=
m_itemHeightHuge
)
{
m_itemHeightHuge
=
theme
.
value
(
"itemHeightHuge"
).
toString
().
toFloat
()
*
m_dp
;
emit
itemHeightHugeChanged
();
updated
=
true
;
}
if
(
theme
.
value
(
"itemHeightExtraLarge"
).
toString
().
toFloat
()
!=
0
&&
theme
.
value
(
"itemHeightExtraLarge"
).
toString
().
toFloat
()
!=
m_itemHeightExtraLarge
)
{
m_itemHeightExtraLarge
=
theme
.
value
(
"itemHeightExtraLarge"
).
toString
().
toFloat
()
*
m_dp
;
emit
itemHeightExtraLargeChanged
();
updated
=
true
;
}
if
(
theme
.
value
(
"itemHeightLarge"
).
toString
().
toFloat
()
!=
0
&&
theme
.
value
(
"itemHeightLarge"
).
toString
().
toFloat
()
!=
m_itemHeightLarge
)
{
m_itemHeightLarge
=
theme
.
value
(
"itemHeightLarge"
).
toString
().
toFloat
()
*
m_dp
;
emit
itemHeightLargeChanged
();
updated
=
true
;
}
if
(
theme
.
value
(
"itemHeightMedium"
).
toString
().
toFloat
()
!=
0
&&
theme
.
value
(
"itemHeightMedium"
).
toString
().
toFloat
()
!=
m_itemHeightMedium
)
{
m_itemHeightMedium
=
theme
.
value
(
"itemHeightMedium"
).
toString
().
toFloat
()
*
m_dp
;
emit
itemHeightMediumChanged
();
updated
=
true
;
}
if
(
theme
.
value
(
"itemHeightSmall"
).
toString
().
toFloat
()
!=
0
&&
theme
.
value
(
"itemHeightSmall"
).
toString
().
toFloat
()
!=
m_itemHeightSmall
)
{
m_itemHeightSmall
=
theme
.
value
(
"itemHeightSmall"
).
toString
().
toFloat
()
*
m_dp
;
emit
itemHeightSmallChanged
();
updated
=
true
;
}
if
(
theme
.
value
(
"itemHeightExtraSmall"
).
toString
().
toFloat
()
!=
0
&&
theme
.
value
(
"itemHeightExtraSmall"
).
toString
().
toFloat
()
!=
m_itemHeightExtraSmall
)
{
m_itemHeightExtraSmall
=
theme
.
value
(
"itemHeightExtraSmall"
).
toString
().
toFloat
()
*
m_dp
;
emit
itemHeightExtraSmallChanged
();
updated
=
true
;
}
if
(
theme
.
value
(
"itemSpacingHuge"
).
toString
().
toFloat
()
!=
0
&&
theme
.
value
(
"itemSpacingHuge"
).
toString
().
toFloat
()
!=
m_itemSpacingHuge
)
{
m_itemSpacingHuge
=
theme
.
value
(
"itemSpacingHuge"
).
toString
().
toFloat
()
*
m_dp
;
emit
itemSpacingHugeChanged
();
updated
=
true
;
}
if
(
theme
.
value
(
"itemSpacingLarge"
).
toString
().
toFloat
()
!=
0
&&
theme
.
value
(
"itemSpacingLarge"
).
toString
().
toFloat
()
!=
m_itemSpacingLarge
)
{
m_itemSpacingLarge
=
theme
.
value
(
"itemSpacingLarge"
).
toString
().
toFloat
()
*
m_dp
;
emit
itemSpacingLargeChanged
();
updated
=
true
;
}
if
(
theme
.
value
(
"itemSpacingMedium"
).
toString
().
toFloat
()
!=
0
&&
theme
.
value
(
"itemSpacingMedium"
).
toString
().
toFloat
()
!=
m_itemSpacingMedium
)
{
m_itemSpacingMedium
=
theme
.
value
(
"itemSpacingMedium"
).
toString
().
toFloat
()
*
m_dp
;
emit
itemSpacingMediumChanged
();
updated
=
true
;
}
if
(
theme
.
value
(
"itemSpacingSmall"
).
toString
().
toFloat
()
!=
0
&&
theme
.
value
(
"itemSpacingSmall"
).
toString
().
toFloat
()
!=
m_itemSpacingSmall
)
{
m_itemSpacingSmall
=
theme
.
value
(
"itemSpacingSmall"
).
toString
().
toFloat
()
*
m_dp
;
emit
itemSpacingSmallChanged
();
updated
=
true
;
}
if
(
theme
.
value
(
"itemSpacingExtraSmall"
).
toString
().
toFloat
()
!=
0
&&
theme
.
value
(
"itemSpacingExtraSmall"
).
toString
().
toFloat
()
!=
m_itemSpacingExtraSmall
)
{
m_itemSpacingExtraSmall
=
theme
.
value
(
"itemSpacingExtraSmall"
).
toString
().
toFloat
()
*
m_dp
;
emit
itemSpacingExtraSmallChanged
();
updated
=
true
;
}
if
(
theme
.
value
(
"fontSizeExtraLarge"
).
toInt
()
!=
0
&&
theme
.
value
(
"fontSizeExtraLarge"
).
toInt
()
!=
m_fontSizeExtraLarge
)
{
m_fontSizeExtraLarge
=
theme
.
value
(
"itemSpacingExtraSmall"
).
toInt
()
*
m_dp
;
emit
fontSizeExtraLargeChanged
();
updated
=
true
;
}
if
(
theme
.
value
(
"fontSizeLarge"
).
toInt
()
!=
0
&&
theme
.
value
(
"fontSizeLarge"
).
toInt
()
!=
m_fontSizeLarge
)
{
m_fontSizeLarge
=
theme
.
value
(
"fontSizeLarge"
).
toInt
()
*
m_dp
;
emit
fontSizeLargeChanged
();
updated
=
true
;
}
if
(
theme
.
value
(
"fontSizeMedium"
).
toInt
()
!=
0
&&
theme
.
value
(
"fontSizeMedium"
).
toInt
()
!=
m_fontSizeMedium
)
{
m_fontSizeMedium
=
theme
.
value
(
"fontSizeMedium"
).
toInt
()
*
m_dp
;
emit
fontSizeMediumChanged
();
updated
=
true
;
}
if
(
theme
.
value
(
"fontSizeSmall"
).
toInt
()
!=
0
&&
theme
.
value
(
"fontSizeSmall"
).
toInt
()
!=
m_fontSizeSmall
)
{
m_fontSizeSmall
=
theme
.
value
(
"fontSizeSmall"
).
toInt
()
*
m_dp
;
emit
fontSizeSmallChanged
();
updated
=
true
;
}
if
(
theme
.
value
(
"fontSizeTiny"
).
toInt
()
!=
0
&&
theme
.
value
(
"fontSizeTiny"
).
toInt
()
!=
m_fontSizeTiny
)
{
m_fontSizeTiny
=
theme
.
value
(
"fontSizeTiny"
).
toInt
()
*
m_dp
;
emit
fontSizeTinyChanged
();
updated
=
true
;
}
if
(
theme
.
value
(
"fontWeightLarge"
).
toInt
()
!=
0
&&
theme
.
value
(
"fontWeightLarge"
).
toInt
()
!=
m_fontWeightLarge
)
{
m_fontWeightLarge
=
theme
.
value
(
"fontWeightLarge"
).
toInt
()
*
m_dp
;
emit
fontWeightLargeChanged
();
updated
=
true
;
}
if
(
theme
.
value
(
"fontWeightMedium"
).
toInt
()
!=
0
&&
theme
.
value
(
"fontWeightMedium"
).
toInt
()
!=
m_fontWeightMedium
)
{
m_fontWeightMedium
=
theme
.
value
(
"fontWeightMedium"
).
toInt
()
*
m_dp
;
emit
fontWeightMediumChanged
();
updated
=
true
;
}
if
(
theme
.
value
(
"fontFamily"
).
toString
()
!=
""
&&
theme
.
value
(
"fontFamily"
).
toString
()
!=
m_fontFamily
)
{
QFile
fontFile
;
fontFile
.
setFileName
(
theme
.
value
(
"fontFamily"
).
toString
());
if
(
!
themeFile
.
exists
())
{
qDebug
()
<<
"Font file "
<<
fileName
<<
" not found"
;
}
else
{
m_fontFamily
=
theme
.
value
(
"fontFamily"
).
toString
();
emit
fontFamilyChanged
();
updated
=
true
;
}
}
if
(
theme
.
value
(
"accentColor"
).
toString
()
!=
""
&&
theme
.
value
(
"accentColor"
).
toString
()
!=
m_accentColor
)
{
m_accentColor
=
theme
.
value
(
"accentColor"
).
toString
();
emit
accentColorChanged
();
updated
=
true
;
}
if
(
theme
.
value
(
"fillColor"
).
toString
()
!=
""
&&
theme
.
value
(
"fillColor"
).
toString
()
!=
m_fillColor
)
{
m_fillColor
=
theme
.
value
(
"fillColor"
).
toString
();
emit
fillColorChanged
();
updated
=
true
;
}
if
(
theme
.
value
(
"fillDarkColor"
).
toString
()
!=
""
&&
theme
.
value
(
"fillDarkColor"
).
toString
()
!=
m_fillDarkColor
)
{
m_fillDarkColor
=
theme
.
value
(
"fillDarkColor"
).
toString
();
emit
fillDarkColorChanged
();
updated
=
true
;
}
if
(
theme
.
value
(
"textColor"
).
toString
()
!=
""
&&
theme
.
value
(
"textColor"
).
toString
()
!=
m_textColor
)
{
m_textColor
=
theme
.
value
(
"textColor"
).
toString
();
emit
textColorChanged
();
updated
=
true
;
}
if
(
theme
.
value
(
"backgroundColor"
).
toString
()
!=
""
&&
theme
.
value
(
"backgroundColor"
).
toString
()
!=
m_backgroundColor
)
{
m_backgroundColor
=
theme
.
value
(
"backgroundColor"
).
toString
();
emit
backgroundColorChanged
();
updated
=
true
;
}
if
(
theme
.
value
(
"backgroundAccentColor"
).
toString
()
!=
""
&&
theme
.
value
(
"backgroundAccentColor"
).
toString
()
!=
m_backgroundAccentColor
)
{
m_backgroundAccentColor
=
theme
.
value
(
"backgroundAccentColor"
).
toString
();
emit
backgroundAccentColorChanged
();
updated
=
true
;
}
if
(
updated
)
{
emit
themeUpdate
();
return
true
;
}
return
false
;
}
src/controls/theme.h
0 → 100644
View file @
3858cd52
#ifndef THEME_He5
#define THEME_H
#include <QObject>
class
Theme
:
public
QObject
{
Q_OBJECT
Q_PROPERTY
(
qreal
itemWidthLarge
READ
itemWidthLarge
NOTIFY
itemWidthLargeChanged
)
Q_PROPERTY
(
qreal
itemWidthMedium
READ
itemWidthMedium
NOTIFY
itemWidthMediumChanged
)
Q_PROPERTY
(
qreal
itemWidthSmall
READ
itemWidthSmall
NOTIFY
itemWidthSmallChanged
)
Q_PROPERTY
(
qreal
itemWidthExtraSmall
READ
itemWidthExtraSmall
NOTIFY
itemWidthExtraSmallChanged
)
Q_PROPERTY
(
qreal
itemHeightHuge
READ
itemHeightHuge
NOTIFY
itemHeightHugeChanged
)
Q_PROPERTY
(
qreal
itemHeightExtraLarge
READ
itemHeightExtraLarge
NOTIFY
itemHeightExtraLargeChanged
)
Q_PROPERTY
(
qreal
itemHeightLarge
READ
itemHeightLarge
NOTIFY
itemHeightLargeChanged
)
Q_PROPERTY
(
qreal
itemHeightMedium
READ
itemHeightMedium
NOTIFY
itemHeightMediumChanged
)
Q_PROPERTY
(
qreal
itemHeightSmall
READ
itemHeightSmall
NOTIFY
itemHeightSmallChanged
)
Q_PROPERTY
(
qreal
itemHeightExtraSmall
READ
itemHeightExtraSmall
NOTIFY
itemHeightExtraSmallChanged
)
Q_PROPERTY
(
qreal
itemSpacingHuge
READ
itemSpacingHuge
NOTIFY
itemSpacingHugeChanged
)
Q_PROPERTY
(
qreal
itemSpacingLarge
READ
itemSpacingLarge
NOTIFY
itemSpacingLargeChanged
)
Q_PROPERTY
(
qreal
itemSpacingMedium
READ
itemSpacingMedium
NOTIFY
itemSpacingMediumChanged
)
Q_PROPERTY
(
qreal
itemSpacingSmall
READ
itemSpacingSmall
NOTIFY
itemSpacingSmallChanged
)
Q_PROPERTY
(
qreal
itemSpacingExtraSmall
READ
itemSpacingExtraSmall
NOTIFY
itemSpacingExtraSmallChanged
)
Q_PROPERTY
(
int
fontSizeExtraLarge
READ
fontSizeExtraLarge
NOTIFY
fontSizeExtraLargeChanged
)
Q_PROPERTY
(
int
fontSizeLarge
READ
fontSizeLarge
NOTIFY
fontSizeLargeChanged
)
Q_PROPERTY
(
int
fontSizeMedium
READ
fontSizeMedium
NOTIFY
fontSizeMediumChanged
)
Q_PROPERTY
(
int
fontSizeSmall
READ
fontSizeSmall
NOTIFY
fontSizeSmallChanged
)
Q_PROPERTY
(
int
fontSizeTiny
READ
fontSizeTiny
NOTIFY
fontSizeTinyChanged
)
Q_PROPERTY
(
int
fontWeightLarge
READ
fontWeightLarge
NOTIFY
fontWeightLargeChanged
)
Q_PROPERTY
(
int
fontWeightMedium
READ
fontWeightMedium
NOTIFY
fontWeightMediumChanged
)
Q_PROPERTY
(
QString
fontFamily
READ
fontFamily
NOTIFY
fontFamilyChanged
)
Q_PROPERTY
(
QString
accentColor
READ
accentColor
NOTIFY
accentColorChanged
)
Q_PROPERTY
(
QString
fillColor
READ
fillColor
NOTIFY
fillColorChanged
)
Q_PROPERTY
(
QString
fillDarkColor
READ
fillDarkColor
NOTIFY
fillDarkColorChanged
)
Q_PROPERTY
(
QString
textColor
READ
textColor
NOTIFY
textColorChanged
)
Q_PROPERTY
(
QString
backgroundColor
READ
backgroundColor
NOTIFY
backgroundColorChanged
)
Q_PROPERTY
(
QString
backgroundAccentColor
READ
backgroundAccentColor
NOTIFY
backgroundAccentColorChanged
)
public:
explicit
Theme
(
QObject
*
parent
=
0
);
bool
loadTheme
(
QString
fileName
);
qreal
itemWidthLarge
(){
return
m_itemWidthLarge
;}
qreal
itemWidthMedium
(){
return
m_itemWidthMedium
;}
qreal
itemWidthSmall
(){
return
m_itemWidthSmall
;}
qreal
itemWidthExtraSmall
(){
return
m_itemWidthExtraSmall
;}
qreal
itemHeightHuge
(){
return
m_itemHeightHuge
;}
qreal
itemHeightExtraLarge
(){
return
m_itemHeightExtraLarge
;}
qreal
itemHeightLarge
(){
return
m_itemHeightLarge
;}
qreal
itemHeightMedium
(){
return
m_itemHeightMedium
;}
qreal
itemHeightSmall
(){
return
m_itemHeightSmall
;}
qreal
itemHeightExtraSmall
(){
return
m_itemHeightExtraSmall
;}
qreal
itemSpacingHuge
(){
return
m_itemSpacingHuge
;}
qreal
itemSpacingLarge
(){
return
m_itemSpacingLarge
;}
qreal
itemSpacingMedium
(){
return
m_itemSpacingMedium
;}
qreal
itemSpacingSmall
(){
return
m_itemSpacingSmall
;}
qreal
itemSpacingExtraSmall
(){
return
m_itemSpacingExtraSmall
;}
int
fontSizeExtraLarge
(){
return
m_fontSizeExtraLarge
;}
int
fontSizeLarge
(){
return
m_fontSizeLarge
;}
int
fontSizeMedium
(){
return
m_fontSizeMedium
;}
int
fontSizeSmall
(){
return
m_fontSizeSmall
;}
int
fontSizeTiny
(){
return
m_fontSizeTiny
;}
int
fontWeightLarge
(){
return
m_fontWeightLarge
;}
int
fontWeightMedium
(){
return
m_fontWeightMedium
;}
QString
fontFamily
(){
return
m_fontFamily
;}
QString
accentColor
(){
return
m_accentColor
;}
QString
fillColor
(){
return
m_fillColor
;}
QString
fillDarkColor
(){
return
m_fillDarkColor
;}
QString
textColor
(){
return
m_textColor
;}
QString
backgroundColor
(){
return
m_backgroundColor
;}
QString
backgroundAccentColor
(){
return
m_backgroundAccentColor
;}
signals:
void
themeUpdate
();
void
itemWidthLargeChanged
();
void
itemWidthMediumChanged
();
void
itemWidthSmallChanged
();
void
itemWidthExtraSmallChanged
();
void
itemHeightHugeChanged
();
void
itemHeightExtraLargeChanged
();
void
itemHeightLargeChanged
();
void
itemHeightMediumChanged
();
void
itemHeightSmallChanged
();
void
itemHeightExtraSmallChanged
();
void
itemSpacingHugeChanged
();
void
itemSpacingLargeChanged
();
void
itemSpacingMediumChanged
();
void
itemSpacingSmallChanged
();
void
itemSpacingExtraSmallChanged
();
void
fontSizeExtraLargeChanged
();
void
fontSizeLargeChanged
();
void
fontSizeMediumChanged
();
void
fontSizeSmallChanged
();
void
fontSizeTinyChanged
();
void
fontWeightLargeChanged
();
void
fontWeightMediumChanged
();
void
fontFamilyChanged
();
void
accentColorChanged
();
void
fillColorChanged
();
void
fillDarkColorChanged
();
void
textColorChanged
();
void
backgroundColorChanged
();
void
backgroundAccentColorChanged
();
public
slots
:
private:
qreal
m_itemWidthLarge
;
//320
qreal
m_itemWidthMedium
;
//240
qreal
m_itemWidthSmall
;
//120
qreal
m_itemWidthExtraSmall
;
//72
qreal
m_itemHeightHuge
;
//80
qreal
m_itemHeightExtraLarge
;
//75
qreal
m_itemHeightLarge
;
//63
qreal
m_itemHeightMedium
;
//50
qreal
m_itemHeightSmall
;
//40
qreal
m_itemHeightExtraSmall
;
//32
qreal
m_itemSpacingHuge
;
//40
qreal
m_itemSpacingLarge
;
//20
qreal
m_itemSpacingMedium
;
//15
qreal
m_itemSpacingSmall
;
//10
qreal
m_itemSpacingExtraSmall
;
//8
int
m_fontSizeExtraLarge
;
//30
int
m_fontSizeLarge
;
//24
int
m_fontSizeMedium
;
//20
int
m_fontSizeSmall
;
//18
int
m_fontSizeTiny
;
//16
int
m_fontWeightLarge
;
//63
int
m_fontWeightMedium
;
//25
QString
m_fontFamily
;
//???
QString
m_accentColor
;
//#0091e5
QString
m_fillColor
;
//#474747
QString
m_fillDarkColor
;
//#313131
QString
m_textColor
;
//#ffffff
QString
m_backgroundColor
;
//#000000
QString
m_backgroundAccentColor
;
//#ffffff
qreal
m_dp
;
};
#endif // THEME_H
src/styles/ButtonStyle.qml
View file @
3858cd52
...
...
@@ -17,24 +17,23 @@
* Boston, MA 02110-1301, USA.
*/
import
QtQuick
2.
1
import
QtQuick
2.
6
import
QtQuick
.
Controls
1.0
import
QtQuick
.
Controls
.
Styles
1.0
import
QtGraphicalEffects
1.0
//Styles.Nemo provides Theme
import
QtQuick
.
Controls
.
Styles
.
Nemo
1.0
import
QtQuick
.
Controls
.
Nemo
1.0
ButtonStyle
{
id
:
buttonstyle
// The background of the button.
background
:
Rectangle
{
implicitWidth
:
size
.
dp
(
240
)
implicitHeight
:
size
.
dp
(
50
)
implicitWidth
:
Theme
.
itemWidthMedium
implicitHeight
:
Theme
.
itemHeightMedium
clip
:
true
color
:
control
.
primary
?
Theme
.
primaryButton
.
background
:
Theme
.
button
.
background
color
:
control
.
primary
?
Theme
.
accentColor
:
Theme
.
fillColor
Image
{
id
:
disabledImg
anchors.fill
:
parent
...
...
@@ -47,20 +46,20 @@ ButtonStyle {
RadialGradient
{
x
:
control
.
pressX
-
width
/
2
y
:
control
.
pressY
-
height
/
2
width
:
Theme
.
button
.
pressedGradient
.
width
height
:
Theme
.
button
.
pressedGradient
.
height
width
:
Theme
.
itemWidthMedium
height
:
width
visible
:
control
.
pressed
gradient
:
Gradient
{
GradientStop
{
position
:
Theme
.
button
.
pressedGradient
.
center
;
color
:
control
.
primary
?
Theme
.
primaryButton
.
pressedGradient
.
center
Color
:
Theme
.
button
.
pressedGradient
.
center
Color
position
:
0.29
color
:
control
.
primary
?
Theme
.
backgroundAccent
Color
:
Theme
.
accent
Color
}
GradientStop
{
position
:
Theme
.
button
.
pressedGradient
.
edge
;
color
:
control
.
primary
?
Theme
.
primaryButton
.
pressedGradient
.
edge
Color
:
Theme
.
button
.
pressedGradient
.
edgeColor
position
:
0.5
;
color
:
control
.
primary
?
Theme
.
accent
Color
:
"
transparent
"
}
}
}
...
...
@@ -72,10 +71,10 @@ ButtonStyle {
verticalAlignment
:
Text
.
AlignVCenter
horizontalAlignment
:
Text
.
AlignHCenter
text
:
control
.
text
color
:
Theme
.
button
.
text
.
c
olor
color
:
Theme
.
textC
olor
font.family
:
Theme
.
fontFamily
font.pointSize
:
Theme
.
button
.
text
.
font
.
pointSiz
e
font.weight
:
control
.
primary
?
Theme
.
primaryButton
.
text
.
font
.
weight
:
Theme
.
button
.
text
.
font
.
weight
font.pointSize
:
Theme
.
fontSizeLarg
e
font.weight
:
control
.
primary
?
Theme
.
fontWeightLarge
:
Theme
.
fontWeightMedium
opacity
:
control
.
enabled
?
1.0
:
0.3
}
}
src/styles/CheckBoxStyle.qml
View file @
3858cd52
...
...
@@ -29,32 +29,30 @@
**
****************************************************************************************/
import
QtQuick
2.
1
import
QtQuick
2.
6
import
QtQuick
.
Controls
.
Styles
1.0
import
QtQuick
.
Controls
.
Nemo
1.0
//Styles.Nemo provides Theme
import
QtQuick
.
Controls
.
Styles
.
Nemo
1.0
CheckBoxStyle
{
indicator
:
Rectangle
{
id
:
background
color
:
"
transparent
"
implicitWidth
:
size
.
dp
(
72
)
implicitHeight
:
size
.
dp
(
32
)
implicitWidth
:
Theme
.
itemWidthExtraSmall
implicitHeight
:
Theme
.
itemHeightExtraSmall
Rectangle
{
id
:
back1
implicitWidth
:
size
.
dp
(
72
)
implicitWidth
:
Theme
.
itemWidthExtraSmall
implicitHeight
:
size
.
dp
(
28
)
color
:
Theme
.
checkbox
.
back1
color
:
Theme
.
accentColor
anchors.centerIn
:
parent
}
Rectangle
{
id
:
back2
implicitWidth
:
size
.
dp
(
72
)
implicitWidth
:
Theme
.
itemWidthExtraSmall
implicitHeight
:
size
.
dp
(
28
)
color
:
Theme
.
checkbox
.
back2
color
:
Theme
.
fillDarkColor
anchors.centerIn
:
parent
}
...
...
@@ -62,7 +60,7 @@ CheckBoxStyle {
Image
{
id
:
ball
width
:
size
.
dp
(
40
)
height
:
size
.
dp
(
32
)
height
:
Theme
.
itemHeightExtraSmall
source
:
"
images/switch-ball.png
"
anchors.verticalCenter
:
parent
.
verticalCenter
}
...
...
@@ -81,7 +79,7 @@ CheckBoxStyle {
Component.onCompleted
:
{
back1
.
opacity
=
control
.
checked
?
1
:
0
back2
.
opacity
=
control
.
checked
?
0
:
1
ball
.
x
=
control
.
checked
?
size
.
dp
(
32
)
:
0
ball
.
x
=
control
.
checked
?
Theme
.
itemHeightExtraSmall
:
0
}
SequentialAnimation
{
...
...
@@ -90,7 +88,7 @@ CheckBoxStyle {
NumberAnimation
{
target
:
ball
property
:
"
x
"
to
:
size
.
dp
(
32
)
to
:
Theme
.
itemHeightExtraSmall
duration
:
120
}
NumberAnimation
{
...
...
src/styles/ComboBoxStyle.qml
View file @
3858cd52
...
...
@@ -17,7 +17,7 @@
* Boston, MA 02110-1301, USA.
*/
import
QtQuick
2.
1
import
QtQuick
2.
6
import
QtQuick
.
Controls
.
Styles
1.0
ComboBoxStyle
{
...
...
src/styles/FocusFrameStyle.qml
View file @
3858cd52
...
...
@@ -37,7 +37,7 @@
** $QT_END_LICENSE$
**
****************************************************************************/
import
QtQuick
2.
1
import
QtQuick
2.
6
import
QtQuick
.
Controls
1.0
import
QtQuick
.
Controls
.
Private
1.0
...
...
src/styles/GrooveStyle.qml
View file @
3858cd52
...
...
@@ -17,18 +17,18 @@
* Boston, MA 02110-1301, USA.
*/
import
QtQuick
2.
1
import
QtQuick
.
Controls
.
Styles
.
Nemo
1.0
import
QtQuick
2.
6
import
QtQuick
.
Controls
.
Nemo
1.0
Component
{
Rectangle
{
implicitHeight
:
size
.
dp
(
16
)
implicitWidth
:
size
.
dp
(
440
)
color
:
Theme
.
groove
.
background
color
:
Theme
.
fillColorDark
Rectangle
{
antialiasing
:
true
radius
:
1
color
:
Theme
.
groove
.
foreground
color
:
Theme
.
accentColor
height
:
parent
.
height
width
:
parent
.
width
*
control
.
value
/
control
.
maximumValue
}
...
...
src/styles/GroupBoxStyle.qml
View file @
3858cd52
...
...
@@ -17,7 +17,7 @@
* Boston, MA 02110-1301, USA.
*/
import
QtQuick
2.
1
import
QtQuick
2.
6
import
QtQuick
.
Controls
.
Styles
.
Private
1.0
GroupBoxStyle
{
...
...
src/styles/MenuBarStyle.qml
View file @
3858cd52
...
...
@@ -38,7 +38,7 @@
**
****************************************************************************/
import
QtQuick
2.
1
import
QtQuick
2.
6
import
QtQuick
.
Controls
.
Private
1.0
import
"
../../Private/style.js
"
as
StyleHelpers
...
...
src/styles/MenuStyle.qml
View file @
3858cd52
...
...
@@ -38,7 +38,7 @@
**
****************************************************************************/
import
QtQuick
2.
1
import
QtQuick
2.
6
import
QtQuick
.
Controls
1.0
import
QtQuick
.
Controls
.
Private
1.0
import
"
../../Private/style.js
"
as
StyleHelpers
...
...
src/styles/ProgressBarStyle.qml
View file @
3858cd52
...
...
@@ -17,7 +17,7 @@
* Boston, MA 02110-1301, USA.
*/
import
QtQuick
2.
1
import
QtQuick
2.
6
import
QtQuick
.
Controls
.
Styles
1.0
ProgressBarStyle
{
...
...
src/styles/RadioButtonStyle.qml
View file @
3858cd52
...
...
@@ -17,7 +17,7 @@
* Boston, MA 02110-1301, USA.
*/
import
QtQuick
2.
1
import
QtQuick
2.
6
import
QtQuick
.
Controls
.
Styles
1.0
RadioButtonStyle
{
...
...
src/styles/ScrollViewStyle.qml
View file @
3858cd52
...
...
@@ -17,7 +17,7 @@
* Boston, MA 02110-1301, USA.
*/
import
QtQuick
2.
1
import
QtQuick
2.
6
import
QtQuick
.
Controls
.
Styles
1.0
ScrollViewStyle
{
...
...
src/styles/SliderStyle.qml
View file @
3858cd52
...
...
@@ -18,16 +18,16 @@
* Boston, MA 02110-1301, USA.
*/
import
QtQuick
2.
1
import
QtQuick
2.
6
import
QtQuick
.
Controls
.
Styles
1.0
import
QtQuick
.
Controls
.
Styles
.
Nemo
1.0
import
QtQuick
.
Controls
.
Nemo
1.0
SliderStyle
{
handle
:
Rectangle
{
id
:
handle
anchors.centerIn
:
parent
color
:
"
black
"
border.color
:
"
#0091e5
"
color
:
Theme
.
backgroundColor
border.color
:
Theme
.
accentColor
border.width
:
2
implicitWidth
:
size
.
dp
(
34
)
implicitHeight
:
size
.
dp
(
34
)
...
...
@@ -39,7 +39,7 @@ SliderStyle{
anchors.centerIn
:
parent
text
:
parseInt
(
control
.
value
*
100
)
visible
:
control
.
showValue
color
:
"
white
"
color
:
Theme
.
textColor
}
}
...
...
@@ -48,13 +48,13 @@ SliderStyle{
implicitHeight
:
size
.
dp
(
16
)
implicitWidth
:
size
.
dp
(
440
)
color
:
"
#313131
"
color
:
Theme
.
fillDarkColor
z
:
1
Rectangle
{
id
:
dataLine
height
:
parent
.
height
width
:
styleData
.
handlePosition
color
:
"
#0091e5
"
color
:
Theme
.
accentColor
}
Image
{
...
...
src/styles/SpinBoxStyle.qml
View file @
3858cd52
...
...
@@ -20,7 +20,7 @@
// NOTE: THIS WILL NOT BE PRIVATE ANYMORE IN QtQuick.Controls 1.1!!!!!!!!!
import
QtQuick
2.
1
import
QtQuick
2.
6
import
QtQuick
.
Controls
.
Styles
.
Private
1.0
SpinBoxStyle
{
...
...
src/styles/StatusBarStyle.qml
View file @
3858cd52
...
...
@@ -17,7 +17,7 @@
* Boston, MA 02110-1301, USA.
*/
import
QtQuick
2.
1
import
QtQuick
2.
6
import
QtQuick
.
Controls
.
Styles
.
Private
1.0
StatusBarStyle
{
...
...
src/styles/TabViewStyle.qml
View file @
3858cd52
...
...
@@ -17,7 +17,7 @@
* Boston, MA 02110-1301, USA.
*/
import
QtQuick
2.
1
import
QtQuick
2.
6
import
QtQuick
.
Controls
.
Styles
1.0
TabViewStyle
{
...
...
src/styles/TableViewStyle.qml
View file @
3858cd52
...
...
@@ -17,7 +17,7 @@
* Boston, MA 02110-1301, USA.
*/
import
QtQuick
2.
1
import
QtQuick
2.
6
import
QtQuick
.
Controls
.
Styles
1.0
TableViewStyle
{
...
...
src/styles/TextFieldStyle.qml
View file @
3858cd52
...
...
@@ -17,22 +17,25 @@
* Boston, MA 02110-1301, USA.
*/
import
QtQuick
2.
1
import
QtQuick
2.
6
import
QtQuick
.
Controls
.
Styles
1.0
import
QtQuick
.
Controls
.
Styles
.
Nemo
1.0
import
QtQuick
.
Controls
.
Nemo
1.0
TextFieldStyle
{
selectedTextColor
:
Theme
.
text
Field
.
selectedText
Color
selectionColor
:
Theme
.
textField
.
selection
Color
textColor
:
Theme
.
text
Field
.
selectedText
Color
font.pointSize
:
size
.
dp
(
14
)
font.family
:
Theme
.
textField
.
font
selectedTextColor
:
Theme
.
textColor
selectionColor
:
Theme
.
accent
Color
textColor
:
Theme
.
textColor
font.pointSize
:
Theme
.
fontSizeTiny
font.family
:
Theme
.
fontFamily
background
:
Item
{
anchors.leftMargin
:
size
.
dp
(
16
)
anchors.rightMargin
:
size
.
dp
(
16
)
implicitHeight
:
size
.
dp
(
50
)
implicitWidth
:
size
.
dp
(
320
)
anchors
{
leftMargin
:
Theme
.
itemSpacingMedium
rightMargin
:
Theme
.
itemSpacingMedium
}
implicitHeight
:
Theme
.
itemHeightMedium
implicitWidth
:
Theme
.
itemWidthLarge
opacity
:
control
.
enabled
?
1
:
0.6
Image
{
anchors.fill
:
parent
...
...
@@ -46,7 +49,7 @@ TextFieldStyle {
anchors.right
:
parent
.
right
height
:
2
width
:
parent
.
width
color
:
control
.
readOnly
?
"
#313131
"
:
Theme
.
textField
.
selection
Color
color
:
control
.
readOnly
?
Theme
.
fillDarkColor
:
Theme
.
accent
Color
}
}
}
src/styles/ToolBarStyle.qml
View file @
3858cd52
...
...
@@ -17,7 +17,7 @@
* Boston, MA 02110-1301, USA.
*/
import
QtQuick
2.
1
import
QtQuick
2.
6
import
QtQuick
.
Controls
.
Private
1.0
import
QtQuick
.
Controls
.
Styles
.
Nemo
1.0
...
...
@@ -28,11 +28,11 @@ Style {
padding.bottom
:
3
property
Component
panel
:
Item
{
implicitHeight
:
size
.
dp
(
75
)
implicitHeight
:
Theme
.
itemHeightExtraLarge
implicitWidth
:
size
.
dp
(
40
)
Rectangle
{
anchors.fill
:
parent
color
:
Theme
.
toolBar
.
background
color
:
Theme
.
backgroundColor
}
}
}
src/styles/ToolButtonStyle.qml
View file @
3858cd52
...
...
@@ -17,7 +17,7 @@
* Boston, MA 02110-1301, USA.
*/
import
QtQuick
2.
1
import
QtQuick
2.
6
import
QtQuick
.
Controls
1.0
import
QtQuick
.
Controls
.
Private
1.0
...
...
@@ -31,8 +31,8 @@ Style {
id
:
styleitem
//TODO: Maybe we want to add a descriptive text at the bottom of the icon?
implicitWidth
:
size
.
dp
(
50
)
implicitHeight
:
size
.
dp
(
50
)
implicitWidth
:
Theme
.
itemHeightMedium
implicitHeight
:
implicitWidth
opacity
:
control
.
pressed
?
0.5
:
1
...
...
@@ -47,7 +47,7 @@ Style {
id
:
icon
anchors.fill
:
parent
fillMode
:
Image
.
PreserveAspectFit
anchors.margins
:
size
.
dp
(
8
)
anchors.margins
:
Theme
.
itemSpacingExtraSmall
source
:
control
.
iconSource
}
}
...
...
src/styles/autogenerated/nemotheme.cpp
deleted
100644 → 0
View file @
d20c0321
/*
* Copyright (C) 2013 Lucien Xu <sfietkonstantin@free.fr>
*
* This library 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 of the License, or (at your option) any later version.
*
* 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.
*/
// This class is autogenerated using themehelper.py
// Any modification done in this file will be overridden
#include "nemotheme.h"
#include <QtCore/QDebug>
#include <QtCore/QDir>
#include <QtCore/QFile>
#include <QtCore/QJsonDocument>
#include <QtCore/QJsonArray>
#include <QtCore/QJsonObject>
#include <QtCore/QJsonValue>
#include <QtGui/QFontDatabase>
static
const
char
*
GLACIER_THEME
=
"glacier.json"
;
static
const
char
*
THEME_NAME_KEY
=
"name"
;
static
const
char
*
THEME_DESCRIPTION_KEY
=
"description"
;
static
const
char
*
THEME_DEFINES_KEY
=
"defines"
;
static
const
char
*
THEME_STYLES_KEY
=
"styles"
;
NemoTheme
::
NemoTheme
(
QObject
*
parent
)
:
QObject
(
parent
)
,
m_button
(
new
NemoThemeButton
(
this
))
,
m_primaryButton
(
new
NemoThemeButton
(
this
))
,
m_groove
(
new
NemoThemeGroove
(
this
))
,
m_textField
(
new
NemoThemeTextField
(
this
))
,
m_toolBar
(
new
NemoThemeToolBar
(
this
))
,
m_window
(
new
NemoThemeWindow
(
this
))
,
m_page
(
new
NemoThemePage
(
this
))
,
m_pageStack
(
new
NemoThemePageStack
(
this
))
,
m_spinner
(
new
NemoThemeSpinner
(
this
))
,
m_label
(
new
NemoThemeLabel
(
this
))
,
m_checkbox
(
new
NemoThemeCheckbox
(
this
))
,
m_buttonRow
(
new
NemoThemeButtonRow
(
this
))
,
m_header
(
new
NemoThemeHeader
(
this
))
{
loadFromFile
(
GLACIER_THEME
);
int
id
=
QFontDatabase
::
addApplicationFont
(
"/usr/share/fonts/google-opensans/OpenSans-Regular.ttf"
);
QStringList
families
=
QFontDatabase
::
applicationFontFamilies
(
id
);
if
(
families
.
isEmpty
())
{
qWarning
()
<<
"W"
<<
"Failed to load font"
<<
QString
(
"/usr/share/fonts/google-opensans/OpenSans-Regular.ttf"
);
return
;
}
m_fontFamily
=
families
.
first
();
}
QString
NemoTheme
::
name
()
const
{
return
m_name
;
}
void
NemoTheme
::
setName
(
const
QString
&
name
)
{
if
(
m_name
!=
name
)
{
m_name
=
name
;
emit
nameChanged
();
}
}
QString
NemoTheme
::
description
()
const
{
return
m_description
;
}
void
NemoTheme
::
setDescription
(
const
QString
&
description
)
{
if
(
m_description
!=
description
)
{
m_description
=
description
;
emit
descriptionChanged
();
}
}
NemoThemeButton
*
NemoTheme
::
button
()
const
{
return
m_button
;
}
NemoThemeButton
*
NemoTheme
::
primaryButton
()
const
{
return
m_primaryButton
;
}
NemoThemeGroove
*
NemoTheme
::
groove
()
const
{
return
m_groove
;
}
NemoThemeTextField
*
NemoTheme
::
textField
()
const
{
return
m_textField
;
}
NemoThemeToolBar
*
NemoTheme
::
toolBar
()
const
{
return
m_toolBar
;
}
NemoThemeWindow
*
NemoTheme
::
window
()
const
{
return
m_window
;
}
NemoThemePage
*
NemoTheme
::
page
()
const
{
return
m_page
;
}
NemoThemePageStack
*
NemoTheme
::
pageStack
()
const
{
return
m_pageStack
;
}
NemoThemeSpinner
*
NemoTheme
::
spinner
()
const
{
return
m_spinner
;
}
NemoThemeLabel
*
NemoTheme
::
label
()
const
{
return
m_label
;
}
NemoThemeCheckbox
*
NemoTheme
::
checkbox
()
const
{
return
m_checkbox
;
}
NemoThemeButtonRow
*
NemoTheme
::
buttonRow
()
const
{
return
m_buttonRow
;
}
NemoThemeHeader
*
NemoTheme
::
header
()
const
{
return
m_header
;
}
QString
NemoTheme
::
fontFamily
()
const
{
return
m_fontFamily
;
}
static
inline
QJsonValue
jsonValue
(
const
QJsonObject
&
object
,
const
QString
&
key
,
const
QString
&
objectName
=
QString
())
{
if
(
!
object
.
contains
(
key
))
{
if
(
objectName
.
isEmpty
())
{
qWarning
()
<<
"W"
<<
"Root JSON object does not have value"
<<
key
;
}
else
{
qWarning
()
<<
"W"
<<
"JSON Object"
<<
objectName
<<
"does not have value"
<<
key
;
}
return
QJsonValue
();
}
return
object
.
value
(
key
);
}
static
inline
QString
jsonToString
(
const
QJsonValue
&
value
,
const
QMap
<
QString
,
QJsonValue
>
&
defines
)
{
QString
valueString
=
value
.
toString
();
if
(
defines
.
contains
(
valueString
))
{
return
defines
.
value
(
valueString
).
toString
();
}
return
value
.
toString
();
}
static
inline
QColor
jsonToColor
(
const
QJsonValue
&
value
,
const
QMap
<
QString
,
QJsonValue
>
&
defines
)
{
QString
color
=
value
.
toString
();
if
(
defines
.
contains
(
color
))
{
color
=
defines
.
value
(
color
).
toString
();
}
// We need to skip the warning caused by a null value,
// so we check if the color is not empty
if
(
!
QColor
::
isValidColor
(
color
)
&&
!
color
.
isEmpty
())
{
qWarning
()
<<
"W"
<<
color
<<
"is not a valid color"
;
return
QColor
();
}
return
QColor
(
color
);
}
static
inline
int
jsonToInt
(
const
QJsonValue
&
value
,
const
QMap
<
QString
,
QJsonValue
>
&
defines
)
{
QJsonValue
trueValue
=
value
;
if
(
value
.
isString
())
{
QString
valueString
=
value
.
toString
();
if
(
defines
.
contains
(
valueString
))
{
trueValue
=
defines
.
value
(
valueString
);
}
}
double
doubleValue
=
trueValue
.
toDouble
();
return
(
int
)
doubleValue
;
}
static
inline
int
jsonToDouble
(
const
QJsonValue
&
value
,
const
QMap
<
QString
,
QJsonValue
>
&
defines
)
{
QJsonValue
trueValue
=
value
;
if
(
value
.
isString
())
{
QString
valueString
=
value
.
toString
();
if
(
defines
.
contains
(
valueString
))
{
trueValue
=
defines
.
value
(
valueString
);
}
}
return
trueValue
.
toDouble
();
}
void
NemoTheme
::
loadFromFile
(
const
QString
&
fileName
)
{
QDir
dir
(
THEME_DIR
);
if
(
!
dir
.
exists
(
fileName
))
{
qWarning
()
<<
"E"
<<
Q_FUNC_INFO
<<
"Theme file"
<<
fileName
<<
"does not exists."
;
return
;
}
QFile
themeFile
(
dir
.
absoluteFilePath
(
fileName
));
if
(
!
themeFile
.
open
(
QIODevice
::
ReadOnly
))
{
qWarning
()
<<
"E"
<<
Q_FUNC_INFO
<<
"Theme file"
<<
fileName
<<
"could not be read."
;
return
;
}
QJsonParseError
error
;
QJsonDocument
themeDocument
=
QJsonDocument
::
fromJson
(
themeFile
.
readAll
(),
&
error
);
themeFile
.
close
();
if
(
error
.
error
!=
QJsonParseError
::
NoError
)
{
qWarning
()
<<
"E"
<<
Q_FUNC_INFO
<<
"Cannot parse theme file:"
<<
error
.
errorString
();
return
;
}
// Fetch all the defines
QMap
<
QString
,
QJsonValue
>
defines
;
if
(
!
themeDocument
.
isObject
())
{
qWarning
()
<<
"E"
<<
Q_FUNC_INFO
<<
"Theme file has an invalid format"
;
return
;
}
QJsonObject
themeObject
=
themeDocument
.
object
();
if
(
themeObject
.
contains
(
THEME_DEFINES_KEY
))
{
QJsonValue
definesJson
=
themeObject
.
value
(
THEME_DEFINES_KEY
);
if
(
!
definesJson
.
isObject
())
{
qWarning
()
<<
"W"
<<
Q_FUNC_INFO
<<
"
\"
defines
\"
is not defined as an object"
;
}
else
{
QJsonObject
definesObject
=
definesJson
.
toObject
();
foreach
(
const
QString
key
,
definesObject
.
keys
())
{
defines
.
insert
(
key
,
definesObject
.
value
(
key
));
}
}
}
else
{
qWarning
()
<<
"W"
<<
Q_FUNC_INFO
<<
"Theme file does not contain a
\"
defines
\"
object. "
\
"Please add an empty
\"
defines
\"
object instead"
;
}
// Set the global values (name, description etc.)
setName
(
jsonValue
(
themeObject
,
THEME_NAME_KEY
).
toString
());
setDescription
(
jsonValue
(
themeObject
,
THEME_DESCRIPTION_KEY
).
toString
());
// Parse the defined objects
QJsonObject
styles
=
jsonValue
(
themeObject
,
THEME_STYLES_KEY
).
toObject
();
if
(
styles
.
isEmpty
())
{
return
;
}
// Setting properties for button
QJsonObject
stylesButton
=
styles
.
value
(
"button"
).
toObject
();
m_button
->
setBackground
(
jsonToColor
(
jsonValue
(
stylesButton
,
"background"
,
"button"
),
defines
));
// Setting properties for text
QJsonObject
stylesButtonText
=
stylesButton
.
value
(
"text"
).
toObject
();
m_button
->
text
()
->
setColor
(
jsonToColor
(
jsonValue
(
stylesButtonText
,
"color"
,
"text"
),
defines
));
// Setting properties for font
QJsonObject
stylesButtonTextFont
=
stylesButtonText
.
value
(
"font"
).
toObject
();
if
(
stylesButtonTextFont
.
contains
(
"pointSize"
))
{
m_button
->
text
()
->
font
()
->
setPointSize
(
jsonToInt
(
stylesButtonTextFont
.
value
(
"pointSize"
),
defines
));
}
else
{
m_button
->
text
()
->
font
()
->
setPointSizeDefault
();
}
if
(
stylesButtonTextFont
.
contains
(
"weight"
))
{
m_button
->
text
()
->
font
()
->
setWeight
(
jsonToInt
(
stylesButtonTextFont
.
value
(
"weight"
),
defines
));
}
else
{
m_button
->
text
()
->
font
()
->
setWeightDefault
();
}
// Setting properties for pressedGradient
QJsonObject
stylesButtonPressedGradient
=
stylesButton
.
value
(
"pressedGradient"
).
toObject
();
m_button
->
pressedGradient
()
->
setCenterColor
(
jsonToColor
(
jsonValue
(
stylesButtonPressedGradient
,
"centerColor"
,
"pressedGradient"
),
defines
));
m_button
->
pressedGradient
()
->
setEdgeColor
(
jsonToColor
(
jsonValue
(
stylesButtonPressedGradient
,
"edgeColor"
,
"pressedGradient"
),
defines
));
if
(
stylesButtonPressedGradient
.
contains
(
"width"
))
{
m_button
->
pressedGradient
()
->
setWidth
(
jsonToInt
(
stylesButtonPressedGradient
.
value
(
"width"
),
defines
));
}
else
{
m_button
->
pressedGradient
()
->
setWidthDefault
();
}
if
(
stylesButtonPressedGradient
.
contains
(
"height"
))
{
m_button
->
pressedGradient
()
->
setHeight
(
jsonToInt
(
stylesButtonPressedGradient
.
value
(
"height"
),
defines
));
}
else
{
m_button
->
pressedGradient
()
->
setHeightDefault
();
}
if
(
stylesButtonPressedGradient
.
contains
(
"center"
))
{
m_button
->
pressedGradient
()
->
setCenter
(
jsonToDouble
(
stylesButtonPressedGradient
.
value
(
"center"
),
defines
));
}
else
{
m_button
->
pressedGradient
()
->
setCenterDefault
();
}
if
(
stylesButtonPressedGradient
.
contains
(
"edge"
))
{
m_button
->
pressedGradient
()
->
setEdge
(
jsonToDouble
(
stylesButtonPressedGradient
.
value
(
"edge"
),
defines
));
}
else
{
m_button
->
pressedGradient
()
->
setEdgeDefault
();
}
// Setting properties for primaryButton
QJsonObject
stylesPrimaryButton
=
styles
.
value
(
"primaryButton"
).
toObject
();
m_primaryButton
->
setBackground
(
jsonToColor
(
jsonValue
(
stylesPrimaryButton
,
"background"
,
"primaryButton"
),
defines
));
// Setting properties for text
QJsonObject
stylesPrimaryButtonText
=
stylesPrimaryButton
.
value
(
"text"
).
toObject
();
m_primaryButton
->
text
()
->
setColor
(
jsonToColor
(
jsonValue
(
stylesPrimaryButtonText
,
"color"
,
"text"
),
defines
));
// Setting properties for font
QJsonObject
stylesPrimaryButtonTextFont
=
stylesPrimaryButtonText
.
value
(
"font"
).
toObject
();
if
(
stylesPrimaryButtonTextFont
.
contains
(
"pointSize"
))
{
m_primaryButton
->
text
()
->
font
()
->
setPointSize
(
jsonToInt
(
stylesPrimaryButtonTextFont
.
value
(
"pointSize"
),
defines
));
}
else
{
m_primaryButton
->
text
()
->
font
()
->
setPointSizeDefault
();
}
if
(
stylesPrimaryButtonTextFont
.
contains
(
"weight"
))
{
m_primaryButton
->
text
()
->
font
()
->
setWeight
(
jsonToInt
(
stylesPrimaryButtonTextFont
.
value
(
"weight"
),
defines
));
}
else
{
m_primaryButton
->
text
()
->
font
()
->
setWeightDefault
();
}
// Setting properties for pressedGradient
QJsonObject
stylesPrimaryButtonPressedGradient
=
stylesPrimaryButton
.
value
(
"pressedGradient"
).
toObject
();
m_primaryButton
->
pressedGradient
()
->
setCenterColor
(
jsonToColor
(
jsonValue
(
stylesPrimaryButtonPressedGradient
,
"centerColor"
,
"pressedGradient"
),
defines
));
m_primaryButton
->
pressedGradient
()
->
setEdgeColor
(
jsonToColor
(
jsonValue
(
stylesPrimaryButtonPressedGradient
,
"edgeColor"
,
"pressedGradient"
),
defines
));
if
(
stylesPrimaryButtonPressedGradient
.
contains
(
"width"
))
{
m_primaryButton
->
pressedGradient
()
->
setWidth
(
jsonToInt
(
stylesPrimaryButtonPressedGradient
.
value
(
"width"
),
defines
));
}
else
{
m_primaryButton
->
pressedGradient
()
->
setWidthDefault
();
}
if
(
stylesPrimaryButtonPressedGradient
.
contains
(
"height"
))
{
m_primaryButton
->
pressedGradient
()
->
setHeight
(
jsonToInt
(
stylesPrimaryButtonPressedGradient
.
value
(
"height"
),
defines
));
}
else
{
m_primaryButton
->
pressedGradient
()
->
setHeightDefault
();
}
if
(
stylesPrimaryButtonPressedGradient
.
contains
(
"center"
))
{
m_primaryButton
->
pressedGradient
()
->
setCenter
(
jsonToDouble
(
stylesPrimaryButtonPressedGradient
.
value
(
"center"
),
defines
));
}
else
{
m_primaryButton
->
pressedGradient
()
->
setCenterDefault
();
}
if
(
stylesPrimaryButtonPressedGradient
.
contains
(
"edge"
))
{
m_primaryButton
->
pressedGradient
()
->
setEdge
(
jsonToDouble
(
stylesPrimaryButtonPressedGradient
.
value
(
"edge"
),
defines
));
}
else
{
m_primaryButton
->
pressedGradient
()
->
setEdgeDefault
();
}
// Setting properties for groove
QJsonObject
stylesGroove
=
styles
.
value
(
"groove"
).
toObject
();
m_groove
->
setBackground
(
jsonToColor
(
jsonValue
(
stylesGroove
,
"background"
,
"groove"
),
defines
));
m_groove
->
setForeground
(
jsonToColor
(
jsonValue
(
stylesGroove
,
"foreground"
,
"groove"
),
defines
));
// Setting properties for textField
QJsonObject
stylesTextField
=
styles
.
value
(
"textField"
).
toObject
();
m_textField
->
setSelectedTextColor
(
jsonToColor
(
jsonValue
(
stylesTextField
,
"selectedTextColor"
,
"textField"
),
defines
));
m_textField
->
setSelectionColor
(
jsonToColor
(
jsonValue
(
stylesTextField
,
"selectionColor"
,
"textField"
),
defines
));
if
(
stylesTextField
.
contains
(
"pointSize"
))
{
m_textField
->
setPointSize
(
jsonToInt
(
stylesTextField
.
value
(
"pointSize"
),
defines
));
}
else
{
m_textField
->
setPointSizeDefault
();
}
if
(
stylesTextField
.
contains
(
"font"
))
{
m_textField
->
setFont
(
jsonToString
(
stylesTextField
.
value
(
"font"
),
defines
));
}
else
{
m_textField
->
setFontDefault
();
}
// Setting properties for toolBar
QJsonObject
stylesToolBar
=
styles
.
value
(
"toolBar"
).
toObject
();
m_toolBar
->
setBackground
(
jsonToColor
(
jsonValue
(
stylesToolBar
,
"background"
,
"toolBar"
),
defines
));
// Setting properties for window
QJsonObject
stylesWindow
=
styles
.
value
(
"window"
).
toObject
();
m_window
->
setBackground
(
jsonToColor
(
jsonValue
(
stylesWindow
,
"background"
,
"window"
),
defines
));
// Setting properties for page
QJsonObject
stylesPage
=
styles
.
value
(
"page"
).
toObject
();
m_page
->
setBackground
(
jsonToColor
(
jsonValue
(
stylesPage
,
"background"
,
"page"
),
defines
));
// Setting properties for pageStack
QJsonObject
stylesPageStack
=
styles
.
value
(
"pageStack"
).
toObject
();
if
(
stylesPageStack
.
contains
(
"transitionDuration"
))
{
m_pageStack
->
setTransitionDuration
(
jsonToInt
(
stylesPageStack
.
value
(
"transitionDuration"
),
defines
));
}
else
{
m_pageStack
->
setTransitionDurationDefault
();
}
// Setting properties for spinner
QJsonObject
stylesSpinner
=
styles
.
value
(
"spinner"
).
toObject
();
if
(
stylesSpinner
.
contains
(
"radius"
))
{
m_spinner
->
setRadius
(
jsonToInt
(
stylesSpinner
.
value
(
"radius"
),
defines
));
}
else
{
m_spinner
->
setRadiusDefault
();
}
m_spinner
->
setPrimaryColor
(
jsonToColor
(
jsonValue
(
stylesSpinner
,
"primaryColor"
,
"spinner"
),
defines
));
m_spinner
->
setSecondaryColor
(
jsonToColor
(
jsonValue
(
stylesSpinner
,
"secondaryColor"
,
"spinner"
),
defines
));
if
(
stylesSpinner
.
contains
(
"horizontalSpacing"
))
{
m_spinner
->
setHorizontalSpacing
(
jsonToInt
(
stylesSpinner
.
value
(
"horizontalSpacing"
),
defines
));
}
else
{
m_spinner
->
setHorizontalSpacingDefault
();
}
if
(
stylesSpinner
.
contains
(
"verticalSpacing"
))
{
m_spinner
->
setVerticalSpacing
(
jsonToInt
(
stylesSpinner
.
value
(
"verticalSpacing"
),
defines
));
}
else
{
m_spinner
->
setVerticalSpacingDefault
();
}
if
(
stylesSpinner
.
contains
(
"initialStateDuration"
))
{
m_spinner
->
setInitialStateDuration
(
jsonToInt
(
stylesSpinner
.
value
(
"initialStateDuration"
),
defines
));
}
else
{
m_spinner
->
setInitialStateDurationDefault
();
}
if
(
stylesSpinner
.
contains
(
"transitionDuration"
))
{
m_spinner
->
setTransitionDuration
(
jsonToInt
(
stylesSpinner
.
value
(
"transitionDuration"
),
defines
));
}
else
{
m_spinner
->
setTransitionDurationDefault
();
}
// Setting properties for label
QJsonObject
stylesLabel
=
styles
.
value
(
"label"
).
toObject
();
m_label
->
setColor
(
jsonToColor
(
jsonValue
(
stylesLabel
,
"color"
,
"label"
),
defines
));
if
(
stylesLabel
.
contains
(
"pointSize"
))
{
m_label
->
setPointSize
(
jsonToInt
(
stylesLabel
.
value
(
"pointSize"
),
defines
));
}
else
{
m_label
->
setPointSizeDefault
();
}
// Setting properties for checkbox
QJsonObject
stylesCheckbox
=
styles
.
value
(
"checkbox"
).
toObject
();
m_checkbox
->
setBack1
(
jsonToColor
(
jsonValue
(
stylesCheckbox
,
"back1"
,
"checkbox"
),
defines
));
m_checkbox
->
setBack2
(
jsonToColor
(
jsonValue
(
stylesCheckbox
,
"back2"
,
"checkbox"
),
defines
));
// Setting properties for buttonRow
QJsonObject
stylesButtonRow
=
styles
.
value
(
"buttonRow"
).
toObject
();
m_buttonRow
->
setBackground
(
jsonToColor
(
jsonValue
(
stylesButtonRow
,
"background"
,
"buttonRow"
),
defines
));
m_buttonRow
->
setButtonColor
(
jsonToColor
(
jsonValue
(
stylesButtonRow
,
"buttonColor"
,
"buttonRow"
),
defines
));
// Setting properties for header
QJsonObject
stylesHeader
=
styles
.
value
(
"header"
).
toObject
();
m_header
->
setBackground
(
jsonToColor
(
jsonValue
(
stylesHeader
,
"background"
,
"header"
),
defines
));
// Setting properties for dimmer
QJsonObject
stylesHeaderDimmer
=
stylesHeader
.
value
(
"dimmer"
).
toObject
();
m_header
->
dimmer
()
->
setStartColor
(
jsonToColor
(
jsonValue
(
stylesHeaderDimmer
,
"startColor"
,
"dimmer"
),
defines
));
m_header
->
dimmer
()
->
setEndColor
(
jsonToColor
(
jsonValue
(
stylesHeaderDimmer
,
"endColor"
,
"dimmer"
),
defines
));
if
(
stylesHeaderDimmer
.
contains
(
"height"
))
{
m_header
->
dimmer
()
->
setHeight
(
jsonToInt
(
stylesHeaderDimmer
.
value
(
"height"
),
defines
));
}
else
{
m_header
->
dimmer
()
->
setHeightDefault
();
}
if
(
stylesHeaderDimmer
.
contains
(
"startPosition"
))
{
m_header
->
dimmer
()
->
setStartPosition
(
jsonToDouble
(
stylesHeaderDimmer
.
value
(
"startPosition"
),
defines
));
}
else
{
m_header
->
dimmer
()
->
setStartPositionDefault
();
}
if
(
stylesHeaderDimmer
.
contains
(
"endPosition"
))
{
m_header
->
dimmer
()
->
setEndPosition
(
jsonToDouble
(
stylesHeaderDimmer
.
value
(
"endPosition"
),
defines
));
}
else
{
m_header
->
dimmer
()
->
setEndPositionDefault
();
}
}
src/styles/autogenerated/nemotheme.h
deleted
100644 → 0
View file @
d20c0321
/*
* Copyright (C) 2013 Lucien Xu <sfietkonstantin@free.fr>
*
* This library 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 of the License, or (at your option) any later version.
*
* 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.
*/
// This class is autogenerated using themehelper.py
// Any modification done in this file will be overridden
#ifndef NEMOTHEME_H
#define NEMOTHEME_H
#include <QtCore/QObject>
#include <QtCore/QString>
#include "nemothemebutton.h"
#include "nemothemegroove.h"
#include "nemothemetextfield.h"
#include "nemothemetoolbar.h"
#include "nemothemewindow.h"
#include "nemothemepage.h"
#include "nemothemepagestack.h"
#include "nemothemespinner.h"
#include "nemothemelabel.h"
#include "nemothemecheckbox.h"
#include "nemothemebuttonrow.h"
#include "nemothemeheader.h"
class
NemoTheme
:
public
QObject
{
Q_OBJECT
Q_PROPERTY
(
QString
name
READ
name
NOTIFY
nameChanged
)
Q_PROPERTY
(
QString
description
READ
description
NOTIFY
descriptionChanged
)
Q_PROPERTY
(
NemoThemeButton
*
button
READ
button
CONSTANT
)
Q_PROPERTY
(
NemoThemeButton
*
primaryButton
READ
primaryButton
CONSTANT
)
Q_PROPERTY
(
NemoThemeGroove
*
groove
READ
groove
CONSTANT
)
Q_PROPERTY
(
NemoThemeTextField
*
textField
READ
textField
CONSTANT
)
Q_PROPERTY
(
NemoThemeToolBar
*
toolBar
READ
toolBar
CONSTANT
)
Q_PROPERTY
(
NemoThemeWindow
*
window
READ
window
CONSTANT
)
Q_PROPERTY
(
NemoThemePage
*
page
READ
page
CONSTANT
)
Q_PROPERTY
(
NemoThemePageStack
*
pageStack
READ
pageStack
CONSTANT
)
Q_PROPERTY
(
NemoThemeSpinner
*
spinner
READ
spinner
CONSTANT
)
Q_PROPERTY
(
NemoThemeLabel
*
label
READ
label
CONSTANT
)
Q_PROPERTY
(
NemoThemeCheckbox
*
checkbox
READ
checkbox
CONSTANT
)
Q_PROPERTY
(
NemoThemeButtonRow
*
buttonRow
READ
buttonRow
CONSTANT
)
Q_PROPERTY
(
NemoThemeHeader
*
header
READ
header
CONSTANT
)
Q_PROPERTY
(
QString
fontFamily
READ
fontFamily
CONSTANT
)
public:
explicit
NemoTheme
(
QObject
*
parent
=
0
);
QString
name
()
const
;
void
setName
(
const
QString
&
name
);
QString
description
()
const
;
void
setDescription
(
const
QString
&
description
);
NemoThemeButton
*
button
()
const
;
NemoThemeButton
*
primaryButton
()
const
;
NemoThemeGroove
*
groove
()
const
;
NemoThemeTextField
*
textField
()
const
;
NemoThemeToolBar
*
toolBar
()
const
;
NemoThemeWindow
*
window
()
const
;
NemoThemePage
*
page
()
const
;
NemoThemePageStack
*
pageStack
()
const
;
NemoThemeSpinner
*
spinner
()
const
;
NemoThemeLabel
*
label
()
const
;
NemoThemeCheckbox
*
checkbox
()
const
;
NemoThemeButtonRow
*
buttonRow
()
const
;
NemoThemeHeader
*
header
()
const
;
QString
fontFamily
()
const
;
public
Q_SLOTS
:
void
loadFromFile
(
const
QString
&
fileName
);
Q_SIGNALS:
void
nameChanged
();
void
descriptionChanged
();
private:
QString
m_name
;
QString
m_description
;
NemoThemeButton
*
m_button
;
NemoThemeButton
*
m_primaryButton
;
NemoThemeGroove
*
m_groove
;
NemoThemeTextField
*
m_textField
;
NemoThemeToolBar
*
m_toolBar
;
NemoThemeWindow
*
m_window
;
NemoThemePage
*
m_page
;
NemoThemePageStack
*
m_pageStack
;
NemoThemeSpinner
*
m_spinner
;
NemoThemeLabel
*
m_label
;
NemoThemeCheckbox
*
m_checkbox
;
NemoThemeButtonRow
*
m_buttonRow
;
NemoThemeHeader
*
m_header
;
QString
m_fontFamily
;
};
#endif //NEMOTHEME_H
src/styles/autogenerated/nemothemebutton.cpp
deleted
100644 → 0
View file @
d20c0321
/*
* Copyright (C) 2013 Lucien Xu <sfietkonstantin@free.fr>
*
* This library 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 of the License, or (at your option) any later version.
*
* 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.
*/
// This class is autogenerated using themehelper.py
// Any modification done in this file will be overridden
#include "nemothemebutton.h"
NemoThemeButton
::
NemoThemeButton
(
QObject
*
parent
)
:
QObject
(
parent
)
,
m_text
(
new
NemoThemeButtonText
(
this
))
,
m_pressedGradient
(
new
NemoThemeButtonPressedGradient
(
this
))
{
}
QColor
NemoThemeButton
::
background
()
const
{
return
m_background
;
}
void
NemoThemeButton
::
setBackground
(
const
QColor
&
background
)
{
if
(
m_background
!=
background
)
{
m_background
=
background
;
emit
backgroundChanged
();
}
}
NemoThemeButtonText
*
NemoThemeButton
::
text
()
const
{
return
m_text
;
}
NemoThemeButtonPressedGradient
*
NemoThemeButton
::
pressedGradient
()
const
{
return
m_pressedGradient
;
}
src/styles/autogenerated/nemothemebutton.h
deleted
100644 → 0
View file @
d20c0321
/*
* Copyright (C) 2013 Lucien Xu <sfietkonstantin@free.fr>
*
* This library 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 of the License, or (at your option) any later version.
*
* 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.
*/
// This class is autogenerated using themehelper.py
// Any modification done in this file will be overridden
#ifndef NEMOTHEMEBUTTON_H
#define NEMOTHEMEBUTTON_H
#include <QtCore/QObject>
#include <QtGui/QColor>
#include "nemothemebuttontext.h"
#include "nemothemebuttonpressedgradient.h"
class
NemoThemeButton
:
public
QObject
{
Q_OBJECT
Q_PROPERTY
(
QColor
background
READ
background
NOTIFY
backgroundChanged
)
Q_PROPERTY
(
NemoThemeButtonText
*
text
READ
text
CONSTANT
)
Q_PROPERTY
(
NemoThemeButtonPressedGradient
*
pressedGradient
READ
pressedGradient
CONSTANT
)
public:
explicit
NemoThemeButton
(
QObject
*
parent
=
0
);
QColor
background
()
const
;
void
setBackground
(
const
QColor
&
background
);
NemoThemeButtonText
*
text
()
const
;
NemoThemeButtonPressedGradient
*
pressedGradient
()
const
;
Q_SIGNALS:
void
backgroundChanged
();
private:
QColor
m_background
;
NemoThemeButtonText
*
m_text
;
NemoThemeButtonPressedGradient
*
m_pressedGradient
;
};
#endif //NEMOTHEMEBUTTON_H
src/styles/autogenerated/nemothemebuttonpressedgradient.cpp
deleted
100644 → 0
View file @
d20c0321
/*
* Copyright (C) 2013 Lucien Xu <sfietkonstantin@free.fr>
*
* This library 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 of the License, or (at your option) any later version.
*
* 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.
*/
// This class is autogenerated using themehelper.py
// Any modification done in this file will be overridden
#include "nemothemebuttonpressedgradient.h"
NemoThemeButtonPressedGradient
::
NemoThemeButtonPressedGradient
(
QObject
*
parent
)
:
QObject
(
parent
)
,
m_width
(
240
)
,
m_height
(
240
)
,
m_center
(
0.29
)
,
m_edge
(
0.5
)
{
}
QColor
NemoThemeButtonPressedGradient
::
centerColor
()
const
{
return
m_centerColor
;
}
void
NemoThemeButtonPressedGradient
::
setCenterColor
(
const
QColor
&
centerColor
)
{
if
(
m_centerColor
!=
centerColor
)
{
m_centerColor
=
centerColor
;
emit
centerColorChanged
();
}
}
QColor
NemoThemeButtonPressedGradient
::
edgeColor
()
const
{
return
m_edgeColor
;
}
void
NemoThemeButtonPressedGradient
::
setEdgeColor
(
const
QColor
&
edgeColor
)
{
if
(
m_edgeColor
!=
edgeColor
)
{
m_edgeColor
=
edgeColor
;
emit
edgeColorChanged
();
}
}
int
NemoThemeButtonPressedGradient
::
width
()
const
{
return
m_width
;
}
void
NemoThemeButtonPressedGradient
::
setWidth
(
int
width
)
{
if
(
m_width
!=
width
)
{
m_width
=
width
;
emit
widthChanged
();
}
}
void
NemoThemeButtonPressedGradient
::
setWidthDefault
()
{
if
(
m_width
!=
240
)
{
m_width
=
240
;
emit
widthChanged
();
}
}
int
NemoThemeButtonPressedGradient
::
height
()
const
{
return
m_height
;
}
void
NemoThemeButtonPressedGradient
::
setHeight
(
int
height
)
{
if
(
m_height
!=
height
)
{
m_height
=
height
;
emit
heightChanged
();
}
}
void
NemoThemeButtonPressedGradient
::
setHeightDefault
()
{
if
(
m_height
!=
240
)
{
m_height
=
240
;
emit
heightChanged
();
}
}
double
NemoThemeButtonPressedGradient
::
center
()
const
{
return
m_center
;
}
void
NemoThemeButtonPressedGradient
::
setCenter
(
double
center
)
{
if
(
m_center
!=
center
)
{
m_center
=
center
;
emit
centerChanged
();
}
}
void
NemoThemeButtonPressedGradient
::
setCenterDefault
()
{
if
(
m_center
!=
0.29
)
{
m_center
=
0.29
;
emit
centerChanged
();
}
}
double
NemoThemeButtonPressedGradient
::
edge
()
const
{
return
m_edge
;
}
void
NemoThemeButtonPressedGradient
::
setEdge
(
double
edge
)
{
if
(
m_edge
!=
edge
)
{
m_edge
=
edge
;
emit
edgeChanged
();
}
}
void
NemoThemeButtonPressedGradient
::
setEdgeDefault
()
{
if
(
m_edge
!=
0.5
)
{
m_edge
=
0.5
;
emit
edgeChanged
();
}
}
src/styles/autogenerated/nemothemebuttonpressedgradient.h
deleted
100644 → 0
View file @
d20c0321
/*
* Copyright (C) 2013 Lucien Xu <sfietkonstantin@free.fr>
*
* This library 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 of the License, or (at your option) any later version.
*
* 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.
*/
// This class is autogenerated using themehelper.py
// Any modification done in this file will be overridden
#ifndef NEMOTHEMEBUTTONPRESSEDGRADIENT_H
#define NEMOTHEMEBUTTONPRESSEDGRADIENT_H
#include <QtCore/QObject>
#include <QtGui/QColor>
class
NemoThemeButtonPressedGradient
:
public
QObject
{
Q_OBJECT
Q_PROPERTY
(
QColor
centerColor
READ
centerColor
NOTIFY
centerColorChanged
)
Q_PROPERTY
(
QColor
edgeColor
READ
edgeColor
NOTIFY
edgeColorChanged
)
Q_PROPERTY
(
int
width
READ
width
NOTIFY
widthChanged
)
Q_PROPERTY
(
int
height
READ
height
NOTIFY
heightChanged
)
Q_PROPERTY
(
double
center
READ
center
NOTIFY
centerChanged
)
Q_PROPERTY
(
double
edge
READ
edge
NOTIFY
edgeChanged
)
public:
explicit
NemoThemeButtonPressedGradient
(
QObject
*
parent
=
0
);
QColor
centerColor
()
const
;
void
setCenterColor
(
const
QColor
&
centerColor
);
QColor
edgeColor
()
const
;
void
setEdgeColor
(
const
QColor
&
edgeColor
);
int
width
()
const
;
void
setWidth
(
int
width
);
void
setWidthDefault
();
int
height
()
const
;
void
setHeight
(
int
height
);
void
setHeightDefault
();
double
center
()
const
;
void
setCenter
(
double
center
);
void
setCenterDefault
();
double
edge
()
const
;
void
setEdge
(
double
edge
);
void
setEdgeDefault
();
Q_SIGNALS:
void
centerColorChanged
();
void
edgeColorChanged
();
void
widthChanged
();
void
heightChanged
();
void
centerChanged
();
void
edgeChanged
();
private:
QColor
m_centerColor
;
QColor
m_edgeColor
;
int
m_width
;
int
m_height
;
double
m_center
;
double
m_edge
;
};
#endif //NEMOTHEMEBUTTONPRESSEDGRADIENT_H
src/styles/autogenerated/nemothemebuttonrow.cpp
deleted
100644 → 0
View file @
d20c0321
/*
* Copyright (C) 2013 Lucien Xu <sfietkonstantin@free.fr>
*
* This library 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 of the License, or (at your option) any later version.
*
* 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.
*/
// This class is autogenerated using themehelper.py
// Any modification done in this file will be overridden
#include "nemothemebuttonrow.h"
NemoThemeButtonRow
::
NemoThemeButtonRow
(
QObject
*
parent
)
:
QObject
(
parent
)
{
}
QColor
NemoThemeButtonRow
::
background
()
const
{
return
m_background
;
}
void
NemoThemeButtonRow
::
setBackground
(
const
QColor
&
background
)
{
if
(
m_background
!=
background
)
{
m_background
=
background
;
emit
backgroundChanged
();
}
}
QColor
NemoThemeButtonRow
::
buttonColor
()
const
{
return
m_buttonColor
;
}
void
NemoThemeButtonRow
::
setButtonColor
(
const
QColor
&
buttonColor
)
{
if
(
m_buttonColor
!=
buttonColor
)
{
m_buttonColor
=
buttonColor
;
emit
buttonColorChanged
();
}
}
src/styles/autogenerated/nemothemebuttonrow.h
deleted
100644 → 0
View file @
d20c0321
/*
* Copyright (C) 2013 Lucien Xu <sfietkonstantin@free.fr>
*
* This library 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 of the License, or (at your option) any later version.
*
* 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.
*/
// This class is autogenerated using themehelper.py
// Any modification done in this file will be overridden
#ifndef NEMOTHEMEBUTTONROW_H
#define NEMOTHEMEBUTTONROW_H
#include <QtCore/QObject>
#include <QtGui/QColor>
class
NemoThemeButtonRow
:
public
QObject
{
Q_OBJECT
Q_PROPERTY
(
QColor
background
READ
background
NOTIFY
backgroundChanged
)
Q_PROPERTY
(
QColor
buttonColor
READ
buttonColor
NOTIFY
buttonColorChanged
)
public:
explicit
NemoThemeButtonRow
(
QObject
*
parent
=
0
);
QColor
background
()
const
;
void
setBackground
(
const
QColor
&
background
);
QColor
buttonColor
()
const
;
void
setButtonColor
(
const
QColor
&
buttonColor
);
Q_SIGNALS:
void
backgroundChanged
();
void
buttonColorChanged
();
private:
QColor
m_background
;
QColor
m_buttonColor
;
};
#endif //NEMOTHEMEBUTTONROW_H
src/styles/autogenerated/nemothemebuttontext.cpp
deleted
100644 → 0
View file @
d20c0321
/*
* Copyright (C) 2013 Lucien Xu <sfietkonstantin@free.fr>
*
* This library 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 of the License, or (at your option) any later version.
*
* 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.
*/
// This class is autogenerated using themehelper.py
// Any modification done in this file will be overridden
#include "nemothemebuttontext.h"
NemoThemeButtonText
::
NemoThemeButtonText
(
QObject
*
parent
)
:
QObject
(
parent
)
,
m_font
(
new
NemoThemeFont
(
this
))
{
}
QColor
NemoThemeButtonText
::
color
()
const
{
return
m_color
;
}
void
NemoThemeButtonText
::
setColor
(
const
QColor
&
color
)
{
if
(
m_color
!=
color
)
{
m_color
=
color
;
emit
colorChanged
();
}
}
NemoThemeFont
*
NemoThemeButtonText
::
font
()
const
{
return
m_font
;
}
src/styles/autogenerated/nemothemebuttontext.h
deleted
100644 → 0
View file @
d20c0321
/*
* Copyright (C) 2013 Lucien Xu <sfietkonstantin@free.fr>
*
* This library 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 of the License, or (at your option) any later version.
*
* 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.
*/
// This class is autogenerated using themehelper.py
// Any modification done in this file will be overridden
#ifndef NEMOTHEMEBUTTONTEXT_H
#define NEMOTHEMEBUTTONTEXT_H
#include <QtCore/QObject>
#include <QtGui/QColor>
#include "nemothemefont.h"
class
NemoThemeButtonText
:
public
QObject
{
Q_OBJECT
Q_PROPERTY
(
QColor
color
READ
color
NOTIFY
colorChanged
)
Q_PROPERTY
(
NemoThemeFont
*
font
READ
font
CONSTANT
)
public:
explicit
NemoThemeButtonText
(
QObject
*
parent
=
0
);
QColor
color
()
const
;
void
setColor
(
const
QColor
&
color
);
NemoThemeFont
*
font
()
const
;
Q_SIGNALS:
void
colorChanged
();
private:
QColor
m_color
;
NemoThemeFont
*
m_font
;
};
#endif //NEMOTHEMEBUTTONTEXT_H
src/styles/autogenerated/nemothemecheckbox.cpp
deleted
100644 → 0
View file @
d20c0321
/*
* Copyright (C) 2013 Lucien Xu <sfietkonstantin@free.fr>
*
* This library 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 of the License, or (at your option) any later version.
*
* 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.
*/
// This class is autogenerated using themehelper.py
// Any modification done in this file will be overridden
#include "nemothemecheckbox.h"
NemoThemeCheckbox
::
NemoThemeCheckbox
(
QObject
*
parent
)
:
QObject
(
parent
)
{
}
QColor
NemoThemeCheckbox
::
back1
()
const
{
return
m_back1
;
}
void
NemoThemeCheckbox
::
setBack1
(
const
QColor
&
back1
)
{
if
(
m_back1
!=
back1
)
{
m_back1
=
back1
;
emit
back1Changed
();
}
}
QColor
NemoThemeCheckbox
::
back2
()
const
{
return
m_back2
;
}
void
NemoThemeCheckbox
::
setBack2
(
const
QColor
&
back2
)
{
if
(
m_back2
!=
back2
)
{
m_back2
=
back2
;
emit
back2Changed
();
}
}
src/styles/autogenerated/nemothemecheckbox.h
deleted
100644 → 0
View file @
d20c0321
/*
* Copyright (C) 2013 Lucien Xu <sfietkonstantin@free.fr>
*
* This library 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 of the License, or (at your option) any later version.
*
* 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.
*/
// This class is autogenerated using themehelper.py
// Any modification done in this file will be overridden
#ifndef NEMOTHEMECHECKBOX_H
#define NEMOTHEMECHECKBOX_H
#include <QtCore/QObject>
#include <QtGui/QColor>
class
NemoThemeCheckbox
:
public
QObject
{
Q_OBJECT
Q_PROPERTY
(
QColor
back1
READ
back1
NOTIFY
back1Changed
)
Q_PROPERTY
(
QColor
back2
READ
back2
NOTIFY
back2Changed
)
public:
explicit
NemoThemeCheckbox
(
QObject
*
parent
=
0
);
QColor
back1
()
const
;
void
setBack1
(
const
QColor
&
back1
);
QColor
back2
()
const
;
void
setBack2
(
const
QColor
&
back2
);
Q_SIGNALS:
void
back1Changed
();
void
back2Changed
();
private:
QColor
m_back1
;
QColor
m_back2
;
};
#endif //NEMOTHEMECHECKBOX_H
src/styles/autogenerated/nemothemefont.cpp
deleted
100644 → 0
View file @
d20c0321
/*
* Copyright (C) 2013 Lucien Xu <sfietkonstantin@free.fr>
*
* This library 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 of the License, or (at your option) any later version.
*
* 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.
*/
// This class is autogenerated using themehelper.py
// Any modification done in this file will be overridden
#include "nemothemefont.h"
NemoThemeFont
::
NemoThemeFont
(
QObject
*
parent
)
:
QObject
(
parent
)
,
m_pointSize
(
24
)
,
m_weight
(
25
)
{
}
int
NemoThemeFont
::
pointSize
()
const
{
return
m_pointSize
;
}
void
NemoThemeFont
::
setPointSize
(
int
pointSize
)
{
if
(
m_pointSize
!=
pointSize
)
{
m_pointSize
=
pointSize
;
emit
pointSizeChanged
();
}
}
void
NemoThemeFont
::
setPointSizeDefault
()
{
if
(
m_pointSize
!=
24
)
{
m_pointSize
=
24
;
emit
pointSizeChanged
();
}
}
int
NemoThemeFont
::
weight
()
const
{
return
m_weight
;
}
void
NemoThemeFont
::
setWeight
(
int
weight
)
{
if
(
m_weight
!=
weight
)
{
m_weight
=
weight
;
emit
weightChanged
();
}
}
void
NemoThemeFont
::
setWeightDefault
()
{
if
(
m_weight
!=
25
)
{
m_weight
=
25
;
emit
weightChanged
();
}
}
src/styles/autogenerated/nemothemefont.h
deleted
100644 → 0
View file @
d20c0321
/*
* Copyright (C) 2013 Lucien Xu <sfietkonstantin@free.fr>
*
* This library 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 of the License, or (at your option) any later version.
*
* 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.
*/
// This class is autogenerated using themehelper.py
// Any modification done in this file will be overridden
#ifndef NEMOTHEMEFONT_H
#define NEMOTHEMEFONT_H
#include <QtCore/QObject>
class
NemoThemeFont
:
public
QObject
{
Q_OBJECT
Q_PROPERTY
(
int
pointSize
READ
pointSize
NOTIFY
pointSizeChanged
)
Q_PROPERTY
(
int
weight
READ
weight
NOTIFY
weightChanged
)
public:
explicit
NemoThemeFont
(
QObject
*
parent
=
0
);
int
pointSize
()
const
;
void
setPointSize
(
int
pointSize
);
void
setPointSizeDefault
();
int
weight
()
const
;
void
setWeight
(
int
weight
);
void
setWeightDefault
();
Q_SIGNALS:
void
pointSizeChanged
();
void
weightChanged
();
private:
int
m_pointSize
;
int
m_weight
;
};
#endif //NEMOTHEMEFONT_H
src/styles/autogenerated/nemothemegroove.cpp
deleted
100644 → 0
View file @
d20c0321
/*
* Copyright (C) 2013 Lucien Xu <sfietkonstantin@free.fr>
*
* This library 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 of the License, or (at your option) any later version.
*
* 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.
*/
// This class is autogenerated using themehelper.py
// Any modification done in this file will be overridden
#include "nemothemegroove.h"
NemoThemeGroove
::
NemoThemeGroove
(
QObject
*
parent
)
:
QObject
(
parent
)
{
}
QColor
NemoThemeGroove
::
background
()
const
{
return
m_background
;
}
void
NemoThemeGroove
::
setBackground
(
const
QColor
&
background
)
{
if
(
m_background
!=
background
)
{
m_background
=
background
;
emit
backgroundChanged
();
}
}
QColor
NemoThemeGroove
::
foreground
()
const
{
return
m_foreground
;
}
void
NemoThemeGroove
::
setForeground
(
const
QColor
&
foreground
)
{
if
(
m_foreground
!=
foreground
)
{
m_foreground
=
foreground
;
emit
foregroundChanged
();
}
}
src/styles/autogenerated/nemothemegroove.h
deleted
100644 → 0
View file @
d20c0321
/*
* Copyright (C) 2013 Lucien Xu <sfietkonstantin@free.fr>
*
* This library 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 of the License, or (at your option) any later version.
*
* 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.
*/
// This class is autogenerated using themehelper.py
// Any modification done in this file will be overridden
#ifndef NEMOTHEMEGROOVE_H
#define NEMOTHEMEGROOVE_H
#include <QtCore/QObject>
#include <QtGui/QColor>
class
NemoThemeGroove
:
public
QObject
{
Q_OBJECT
Q_PROPERTY
(
QColor
background
READ
background
NOTIFY
backgroundChanged
)
Q_PROPERTY
(
QColor
foreground
READ
foreground
NOTIFY
foregroundChanged
)
public:
explicit
NemoThemeGroove
(
QObject
*
parent
=
0
);
QColor
background
()
const
;
void
setBackground
(
const
QColor
&
background
);
QColor
foreground
()
const
;
void
setForeground
(
const
QColor
&
foreground
);
Q_SIGNALS:
void
backgroundChanged
();
void
foregroundChanged
();
private:
QColor
m_background
;
QColor
m_foreground
;
};
#endif //NEMOTHEMEGROOVE_H
src/styles/autogenerated/nemothemeheader.cpp
deleted
100644 → 0
View file @
d20c0321
/*
* Copyright (C) 2013 Lucien Xu <sfietkonstantin@free.fr>
*
* This library 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 of the License, or (at your option) any later version.
*
* 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.
*/
// This class is autogenerated using themehelper.py
// Any modification done in this file will be overridden
#include "nemothemeheader.h"
NemoThemeHeader
::
NemoThemeHeader
(
QObject
*
parent
)
:
QObject
(
parent
)
,
m_dimmer
(
new
NemoThemeHeaderDimmer
(
this
))
{
}
QColor
NemoThemeHeader
::
background
()
const
{
return
m_background
;
}
void
NemoThemeHeader
::
setBackground
(
const
QColor
&
background
)
{
if
(
m_background
!=
background
)
{
m_background
=
background
;
emit
backgroundChanged
();
}
}
NemoThemeHeaderDimmer
*
NemoThemeHeader
::
dimmer
()
const
{
return
m_dimmer
;
}
src/styles/autogenerated/nemothemeheader.h
deleted
100644 → 0
View file @
d20c0321
/*
* Copyright (C) 2013 Lucien Xu <sfietkonstantin@free.fr>
*
* This library 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 of the License, or (at your option) any later version.
*
* 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.
*/
// This class is autogenerated using themehelper.py
// Any modification done in this file will be overridden
#ifndef NEMOTHEMEHEADER_H
#define NEMOTHEMEHEADER_H
#include <QtCore/QObject>
#include <QtGui/QColor>
#include "nemothemeheaderdimmer.h"
class
NemoThemeHeader
:
public
QObject
{
Q_OBJECT
Q_PROPERTY
(
QColor
background
READ
background
NOTIFY
backgroundChanged
)
Q_PROPERTY
(
NemoThemeHeaderDimmer
*
dimmer
READ
dimmer
CONSTANT
)
public:
explicit
NemoThemeHeader
(
QObject
*
parent
=
0
);
QColor
background
()
const
;
void
setBackground
(
const
QColor
&
background
);
NemoThemeHeaderDimmer
*
dimmer
()
const
;
Q_SIGNALS:
void
backgroundChanged
();
private:
QColor
m_background
;
NemoThemeHeaderDimmer
*
m_dimmer
;
};
#endif //NEMOTHEMEHEADER_H
src/styles/autogenerated/nemothemeheaderdimmer.cpp
deleted
100644 → 0
View file @
d20c0321
/*
* Copyright (C) 2013 Lucien Xu <sfietkonstantin@free.fr>
*
* This library 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 of the License, or (at your option) any later version.
*
* 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.
*/
// This class is autogenerated using themehelper.py
// Any modification done in this file will be overridden
#include "nemothemeheaderdimmer.h"
NemoThemeHeaderDimmer
::
NemoThemeHeaderDimmer
(
QObject
*
parent
)
:
QObject
(
parent
)
,
m_height
(
16
)
,
m_startPosition
(
0
)
,
m_endPosition
(
1.0
)
{
}
QColor
NemoThemeHeaderDimmer
::
startColor
()
const
{
return
m_startColor
;
}
void
NemoThemeHeaderDimmer
::
setStartColor
(
const
QColor
&
startColor
)
{
if
(
m_startColor
!=
startColor
)
{
m_startColor
=
startColor
;
emit
startColorChanged
();
}
}
QColor
NemoThemeHeaderDimmer
::
endColor
()
const
{
return
m_endColor
;
}
void
NemoThemeHeaderDimmer
::
setEndColor
(
const
QColor
&
endColor
)
{
if
(
m_endColor
!=
endColor
)
{
m_endColor
=
endColor
;
emit
endColorChanged
();
}
}
int
NemoThemeHeaderDimmer
::
height
()
const
{
return
m_height
;
}
void
NemoThemeHeaderDimmer
::
setHeight
(
int
height
)
{
if
(
m_height
!=
height
)
{
m_height
=
height
;
emit
heightChanged
();
}
}
void
NemoThemeHeaderDimmer
::
setHeightDefault
()
{
if
(
m_height
!=
16
)
{
m_height
=
16
;
emit
heightChanged
();
}
}
double
NemoThemeHeaderDimmer
::
startPosition
()
const
{
return
m_startPosition
;
}
void
NemoThemeHeaderDimmer
::
setStartPosition
(
double
startPosition
)
{
if
(
m_startPosition
!=
startPosition
)
{
m_startPosition
=
startPosition
;
emit
startPositionChanged
();
}
}
void
NemoThemeHeaderDimmer
::
setStartPositionDefault
()
{
if
(
m_startPosition
!=
0
)
{
m_startPosition
=
0
;
emit
startPositionChanged
();
}
}
double
NemoThemeHeaderDimmer
::
endPosition
()
const
{
return
m_endPosition
;
}
void
NemoThemeHeaderDimmer
::
setEndPosition
(
double
endPosition
)
{
if
(
m_endPosition
!=
endPosition
)
{
m_endPosition
=
endPosition
;
emit
endPositionChanged
();
}
}
void
NemoThemeHeaderDimmer
::
setEndPositionDefault
()
{
if
(
m_endPosition
!=
1.0
)
{
m_endPosition
=
1.0
;
emit
endPositionChanged
();
}
}
src/styles/autogenerated/nemothemeheaderdimmer.h
deleted
100644 → 0
View file @
d20c0321
/*
* Copyright (C) 2013 Lucien Xu <sfietkonstantin@free.fr>
*
* This library 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 of the License, or (at your option) any later version.
*
* 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.
*/
// This class is autogenerated using themehelper.py
// Any modification done in this file will be overridden
#ifndef NEMOTHEMEHEADERDIMMER_H
#define NEMOTHEMEHEADERDIMMER_H
#include <QtCore/QObject>
#include <QtGui/QColor>
class
NemoThemeHeaderDimmer
:
public
QObject
{
Q_OBJECT
Q_PROPERTY
(
QColor
startColor
READ
startColor
NOTIFY
startColorChanged
)
Q_PROPERTY
(
QColor
endColor
READ
endColor
NOTIFY
endColorChanged
)
Q_PROPERTY
(
int
height
READ
height
NOTIFY
heightChanged
)
Q_PROPERTY
(
double
startPosition
READ
startPosition
NOTIFY
startPositionChanged
)
Q_PROPERTY
(
double
endPosition
READ
endPosition
NOTIFY
endPositionChanged
)
public:
explicit
NemoThemeHeaderDimmer
(
QObject
*
parent
=
0
);
QColor
startColor
()
const
;
void
setStartColor
(
const
QColor
&
startColor
);
QColor
endColor
()
const
;
void
setEndColor
(
const
QColor
&
endColor
);
int
height
()
const
;
void
setHeight
(
int
height
);
void
setHeightDefault
();
double
startPosition
()
const
;
void
setStartPosition
(
double
startPosition
);
void
setStartPositionDefault
();
double
endPosition
()
const
;
void
setEndPosition
(
double
endPosition
);
void
setEndPositionDefault
();
Q_SIGNALS:
void
startColorChanged
();
void
endColorChanged
();
void
heightChanged
();
void
startPositionChanged
();
void
endPositionChanged
();
private:
QColor
m_startColor
;
QColor
m_endColor
;
int
m_height
;
double
m_startPosition
;
double
m_endPosition
;
};
#endif //NEMOTHEMEHEADERDIMMER_H
src/styles/autogenerated/nemothemelabel.cpp
deleted
100644 → 0
View file @
d20c0321
/*
* Copyright (C) 2013 Lucien Xu <sfietkonstantin@free.fr>
*
* This library 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 of the License, or (at your option) any later version.
*
* 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.
*/
// This class is autogenerated using themehelper.py
// Any modification done in this file will be overridden
#include "nemothemelabel.h"
NemoThemeLabel
::
NemoThemeLabel
(
QObject
*
parent
)
:
QObject
(
parent
)
,
m_pointSize
(
24
)
{
}
QColor
NemoThemeLabel
::
color
()
const
{
return
m_color
;
}
void
NemoThemeLabel
::
setColor
(
const
QColor
&
color
)
{
if
(
m_color
!=
color
)
{
m_color
=
color
;
emit
colorChanged
();
}
}
int
NemoThemeLabel
::
pointSize
()
const
{
return
m_pointSize
;
}
void
NemoThemeLabel
::
setPointSize
(
int
pointSize
)
{
if
(
m_pointSize
!=
pointSize
)
{
m_pointSize
=
pointSize
;
emit
pointSizeChanged
();
}
}
void
NemoThemeLabel
::
setPointSizeDefault
()
{
if
(
m_pointSize
!=
24
)
{
m_pointSize
=
24
;
emit
pointSizeChanged
();
}
}
src/styles/autogenerated/nemothemelabel.h
deleted
100644 → 0
View file @
d20c0321
/*
* Copyright (C) 2013 Lucien Xu <sfietkonstantin@free.fr>
*
* This library 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 of the License, or (at your option) any later version.
*
* 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.
*/
// This class is autogenerated using themehelper.py
// Any modification done in this file will be overridden
#ifndef NEMOTHEMELABEL_H
#define NEMOTHEMELABEL_H
#include <QtCore/QObject>
#include <QtGui/QColor>
class
NemoThemeLabel
:
public
QObject
{
Q_OBJECT
Q_PROPERTY
(
QColor
color
READ
color
NOTIFY
colorChanged
)
Q_PROPERTY
(
int
pointSize
READ
pointSize
NOTIFY
pointSizeChanged
)
public:
explicit
NemoThemeLabel
(
QObject
*
parent
=
0
);
QColor
color
()
const
;
void
setColor
(
const
QColor
&
color
);
int
pointSize
()
const
;
void
setPointSize
(
int
pointSize
);
void
setPointSizeDefault
();
Q_SIGNALS:
void
colorChanged
();
void
pointSizeChanged
();
private:
QColor
m_color
;
int
m_pointSize
;
};
#endif //NEMOTHEMELABEL_H
src/styles/autogenerated/nemothemepage.cpp
deleted
100644 → 0
View file @
d20c0321
/*
* Copyright (C) 2013 Lucien Xu <sfietkonstantin@free.fr>
*
* This library 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 of the License, or (at your option) any later version.
*
* 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.
*/
// This class is autogenerated using themehelper.py
// Any modification done in this file will be overridden
#include "nemothemepage.h"
NemoThemePage
::
NemoThemePage
(
QObject
*
parent
)
:
QObject
(
parent
)
{
}
QColor
NemoThemePage
::
background
()
const
{
return
m_background
;
}
void
NemoThemePage
::
setBackground
(
const
QColor
&
background
)
{
if
(
m_background
!=
background
)
{
m_background
=
background
;
emit
backgroundChanged
();
}
}
src/styles/autogenerated/nemothemepage.h
deleted
100644 → 0
View file @
d20c0321
/*
* Copyright (C) 2013 Lucien Xu <sfietkonstantin@free.fr>
*
* This library 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 of the License, or (at your option) any later version.
*
* 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.
*/
// This class is autogenerated using themehelper.py
// Any modification done in this file will be overridden
#ifndef NEMOTHEMEPAGE_H
#define NEMOTHEMEPAGE_H
#include <QtCore/QObject>
#include <QtGui/QColor>
class
NemoThemePage
:
public
QObject
{
Q_OBJECT
Q_PROPERTY
(
QColor
background
READ
background
NOTIFY
backgroundChanged
)
public:
explicit
NemoThemePage
(
QObject
*
parent
=
0
);
QColor
background
()
const
;
void
setBackground
(
const
QColor
&
background
);
Q_SIGNALS:
void
backgroundChanged
();
private:
QColor
m_background
;
};
#endif //NEMOTHEMEPAGE_H
src/styles/autogenerated/nemothemepagedimmer.cpp
deleted
100644 → 0
View file @
d20c0321
/*
* Copyright (C) 2013 Lucien Xu <sfietkonstantin@free.fr>
*
* This library 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 of the License, or (at your option) any later version.
*
* 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.
*/
// This class is autogenerated using themehelper.py
// Any modification done in this file will be overridden
#include "nemothemepagedimmer.h"
NemoThemePageDimmer
::
NemoThemePageDimmer
(
QObject
*
parent
)
:
QObject
(
parent
)
,
m_height
(
16
)
,
m_startPosition
(
0
)
,
m_endPosition
(
1.0
)
{
}
QColor
NemoThemePageDimmer
::
startColor
()
const
{
return
m_startColor
;
}
void
NemoThemePageDimmer
::
setStartColor
(
const
QColor
&
startColor
)
{
if
(
m_startColor
!=
startColor
)
{
m_startColor
=
startColor
;
emit
startColorChanged
();
}
}
QColor
NemoThemePageDimmer
::
endColor
()
const
{
return
m_endColor
;
}
void
NemoThemePageDimmer
::
setEndColor
(
const
QColor
&
endColor
)
{
if
(
m_endColor
!=
endColor
)
{
m_endColor
=
endColor
;
emit
endColorChanged
();
}
}
int
NemoThemePageDimmer
::
height
()
const
{
return
m_height
;
}
void
NemoThemePageDimmer
::
setHeight
(
int
height
)
{
if
(
m_height
!=
height
)
{
m_height
=
height
;
emit
heightChanged
();
}
}
void
NemoThemePageDimmer
::
setHeightDefault
()
{
if
(
m_height
!=
16
)
{
m_height
=
16
;
emit
heightChanged
();
}
}
double
NemoThemePageDimmer
::
startPosition
()
const
{
return
m_startPosition
;
}
void
NemoThemePageDimmer
::
setStartPosition
(
double
startPosition
)
{
if
(
m_startPosition
!=
startPosition
)
{
m_startPosition
=
startPosition
;
emit
startPositionChanged
();
}
}
void
NemoThemePageDimmer
::
setStartPositionDefault
()
{
if
(
m_startPosition
!=
0
)
{
m_startPosition
=
0
;
emit
startPositionChanged
();
}
}
double
NemoThemePageDimmer
::
endPosition
()
const
{
return
m_endPosition
;
}
void
NemoThemePageDimmer
::
setEndPosition
(
double
endPosition
)
{
if
(
m_endPosition
!=
endPosition
)
{
m_endPosition
=
endPosition
;
emit
endPositionChanged
();
}
}
void
NemoThemePageDimmer
::
setEndPositionDefault
()
{
if
(
m_endPosition
!=
1.0
)
{
m_endPosition
=
1.0
;
emit
endPositionChanged
();
}
}
src/styles/autogenerated/nemothemepagedimmer.h
deleted
100644 → 0
View file @
d20c0321
/*
* Copyright (C) 2013 Lucien Xu <sfietkonstantin@free.fr>
*
* This library 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 of the License, or (at your option) any later version.
*
* 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.
*/
// This class is autogenerated using themehelper.py
// Any modification done in this file will be overridden
#ifndef NEMOTHEMEPAGEDIMMER_H
#define NEMOTHEMEPAGEDIMMER_H
#include <QtCore/QObject>
#include <QtGui/QColor>
class
NemoThemePageDimmer
:
public
QObject
{
Q_OBJECT
Q_PROPERTY
(
QColor
startColor
READ
startColor
NOTIFY
startColorChanged
)
Q_PROPERTY
(
QColor
endColor
READ
endColor
NOTIFY
endColorChanged
)
Q_PROPERTY
(
int
height
READ
height
NOTIFY
heightChanged
)
Q_PROPERTY
(
double
startPosition
READ
startPosition
NOTIFY
startPositionChanged
)
Q_PROPERTY
(
double
endPosition
READ
endPosition
NOTIFY
endPositionChanged
)
public:
explicit
NemoThemePageDimmer
(
QObject
*
parent
=
0
);
QColor
startColor
()
const
;
void
setStartColor
(
const
QColor
&
startColor
);
QColor
endColor
()
const
;
void
setEndColor
(
const
QColor
&
endColor
);
int
height
()
const
;
void
setHeight
(
int
height
);
void
setHeightDefault
();
double
startPosition
()
const
;
void
setStartPosition
(
double
startPosition
);
void
setStartPositionDefault
();
double
endPosition
()
const
;
void
setEndPosition
(
double
endPosition
);
void
setEndPositionDefault
();
Q_SIGNALS:
void
startColorChanged
();
void
endColorChanged
();
void
heightChanged
();
void
startPositionChanged
();
void
endPositionChanged
();
private:
QColor
m_startColor
;
QColor
m_endColor
;
int
m_height
;
double
m_startPosition
;
double
m_endPosition
;
};
#endif //NEMOTHEMEPAGEDIMMER_H
src/styles/autogenerated/nemothemepagestack.cpp
deleted
100644 → 0
View file @
d20c0321
/*
* Copyright (C) 2013 Lucien Xu <sfietkonstantin@free.fr>
*
* This library 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 of the License, or (at your option) any later version.
*
* 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.
*/
// This class is autogenerated using themehelper.py
// Any modification done in this file will be overridden
#include "nemothemepagestack.h"
NemoThemePageStack
::
NemoThemePageStack
(
QObject
*
parent
)
:
QObject
(
parent
)
,
m_transitionDuration
(
500
)
{
}
int
NemoThemePageStack
::
transitionDuration
()
const
{
return
m_transitionDuration
;
}
void
NemoThemePageStack
::
setTransitionDuration
(
int
transitionDuration
)
{
if
(
m_transitionDuration
!=
transitionDuration
)
{
m_transitionDuration
=
transitionDuration
;
emit
transitionDurationChanged
();
}
}
void
NemoThemePageStack
::
setTransitionDurationDefault
()
{
if
(
m_transitionDuration
!=
500
)
{
m_transitionDuration
=
500
;
emit
transitionDurationChanged
();
}
}
src/styles/autogenerated/nemothemepagestack.h
deleted
100644 → 0
View file @
d20c0321
/*
* Copyright (C) 2013 Lucien Xu <sfietkonstantin@free.fr>
*
* This library 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 of the License, or (at your option) any later version.
*
* 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.
*/
// This class is autogenerated using themehelper.py
// Any modification done in this file will be overridden
#ifndef NEMOTHEMEPAGESTACK_H
#define NEMOTHEMEPAGESTACK_H
#include <QtCore/QObject>
class
NemoThemePageStack
:
public
QObject
{
Q_OBJECT
Q_PROPERTY
(
int
transitionDuration
READ
transitionDuration
NOTIFY
transitionDurationChanged
)
public:
explicit
NemoThemePageStack
(
QObject
*
parent
=
0
);
int
transitionDuration
()
const
;
void
setTransitionDuration
(
int
transitionDuration
);
void
setTransitionDurationDefault
();
Q_SIGNALS:
void
transitionDurationChanged
();
private:
int
m_transitionDuration
;
};
#endif //NEMOTHEMEPAGESTACK_H
src/styles/autogenerated/nemothemespinner.cpp
deleted
100644 → 0
View file @
d20c0321
/*
* Copyright (C) 2013 Lucien Xu <sfietkonstantin@free.fr>
*
* This library 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 of the License, or (at your option) any later version.
*
* 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.
*/
// This class is autogenerated using themehelper.py
// Any modification done in this file will be overridden
#include "nemothemespinner.h"
NemoThemeSpinner
::
NemoThemeSpinner
(
QObject
*
parent
)
:
QObject
(
parent
)
,
m_radius
(
32
)
,
m_horizontalSpacing
(
15
)
,
m_verticalSpacing
(
15
)
,
m_initialStateDuration
(
1500
)
,
m_transitionDuration
(
500
)
{
}
int
NemoThemeSpinner
::
radius
()
const
{
return
m_radius
;
}
void
NemoThemeSpinner
::
setRadius
(
int
radius
)
{
if
(
m_radius
!=
radius
)
{
m_radius
=
radius
;
emit
radiusChanged
();
}
}
void
NemoThemeSpinner
::
setRadiusDefault
()
{
if
(
m_radius
!=
32
)
{
m_radius
=
32
;
emit
radiusChanged
();
}
}
QColor
NemoThemeSpinner
::
primaryColor
()
const
{
return
m_primaryColor
;
}
void
NemoThemeSpinner
::
setPrimaryColor
(
const
QColor
&
primaryColor
)
{
if
(
m_primaryColor
!=
primaryColor
)
{
m_primaryColor
=
primaryColor
;
emit
primaryColorChanged
();
}
}
QColor
NemoThemeSpinner
::
secondaryColor
()
const
{
return
m_secondaryColor
;
}
void
NemoThemeSpinner
::
setSecondaryColor
(
const
QColor
&
secondaryColor
)
{
if
(
m_secondaryColor
!=
secondaryColor
)
{
m_secondaryColor
=
secondaryColor
;
emit
secondaryColorChanged
();
}
}
int
NemoThemeSpinner
::
horizontalSpacing
()
const
{
return
m_horizontalSpacing
;
}
void
NemoThemeSpinner
::
setHorizontalSpacing
(
int
horizontalSpacing
)
{
if
(
m_horizontalSpacing
!=
horizontalSpacing
)
{
m_horizontalSpacing
=
horizontalSpacing
;
emit
horizontalSpacingChanged
();
}
}
void
NemoThemeSpinner
::
setHorizontalSpacingDefault
()
{
if
(
m_horizontalSpacing
!=
15
)
{
m_horizontalSpacing
=
15
;
emit
horizontalSpacingChanged
();
}
}
int
NemoThemeSpinner
::
verticalSpacing
()
const
{
return
m_verticalSpacing
;
}
void
NemoThemeSpinner
::
setVerticalSpacing
(
int
verticalSpacing
)
{
if
(
m_verticalSpacing
!=
verticalSpacing
)
{
m_verticalSpacing
=
verticalSpacing
;
emit
verticalSpacingChanged
();
}
}
void
NemoThemeSpinner
::
setVerticalSpacingDefault
()
{
if
(
m_verticalSpacing
!=
15
)
{
m_verticalSpacing
=
15
;
emit
verticalSpacingChanged
();
}
}
int
NemoThemeSpinner
::
initialStateDuration
()
const
{
return
m_initialStateDuration
;
}
void
NemoThemeSpinner
::
setInitialStateDuration
(
int
initialStateDuration
)
{
if
(
m_initialStateDuration
!=
initialStateDuration
)
{
m_initialStateDuration
=
initialStateDuration
;
emit
initialStateDurationChanged
();
}
}
void
NemoThemeSpinner
::
setInitialStateDurationDefault
()
{
if
(
m_initialStateDuration
!=
1500
)
{
m_initialStateDuration
=
1500
;
emit
initialStateDurationChanged
();
}
}
int
NemoThemeSpinner
::
transitionDuration
()
const
{
return
m_transitionDuration
;
}
void
NemoThemeSpinner
::
setTransitionDuration
(
int
transitionDuration
)
{
if
(
m_transitionDuration
!=
transitionDuration
)
{
m_transitionDuration
=
transitionDuration
;
emit
transitionDurationChanged
();
}
}
void
NemoThemeSpinner
::
setTransitionDurationDefault
()
{
if
(
m_transitionDuration
!=
500
)
{
m_transitionDuration
=
500
;
emit
transitionDurationChanged
();
}
}
src/styles/autogenerated/nemothemespinner.h
deleted
100644 → 0
View file @
d20c0321
/*
* Copyright (C) 2013 Lucien Xu <sfietkonstantin@free.fr>
*
* This library 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 of the License, or (at your option) any later version.
*
* 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.
*/
// This class is autogenerated using themehelper.py
// Any modification done in this file will be overridden
#ifndef NEMOTHEMESPINNER_H
#define NEMOTHEMESPINNER_H
#include <QtCore/QObject>
#include <QtGui/QColor>
class
NemoThemeSpinner
:
public
QObject
{
Q_OBJECT
Q_PROPERTY
(
int
radius
READ
radius
NOTIFY
radiusChanged
)
Q_PROPERTY
(
QColor
primaryColor
READ
primaryColor
NOTIFY
primaryColorChanged
)
Q_PROPERTY
(
QColor
secondaryColor
READ
secondaryColor
NOTIFY
secondaryColorChanged
)
Q_PROPERTY
(
int
horizontalSpacing
READ
horizontalSpacing
NOTIFY
horizontalSpacingChanged
)
Q_PROPERTY
(
int
verticalSpacing
READ
verticalSpacing
NOTIFY
verticalSpacingChanged
)
Q_PROPERTY
(
int
initialStateDuration
READ
initialStateDuration
NOTIFY
initialStateDurationChanged
)
Q_PROPERTY
(
int
transitionDuration
READ
transitionDuration
NOTIFY
transitionDurationChanged
)
public:
explicit
NemoThemeSpinner
(
QObject
*
parent
=
0
);
int
radius
()
const
;
void
setRadius
(
int
radius
);
void
setRadiusDefault
();
QColor
primaryColor
()
const
;
void
setPrimaryColor
(
const
QColor
&
primaryColor
);
QColor
secondaryColor
()
const
;
void
setSecondaryColor
(
const
QColor
&
secondaryColor
);
int
horizontalSpacing
()
const
;
void
setHorizontalSpacing
(
int
horizontalSpacing
);
void
setHorizontalSpacingDefault
();
int
verticalSpacing
()
const
;
void
setVerticalSpacing
(
int
verticalSpacing
);
void
setVerticalSpacingDefault
();
int
initialStateDuration
()
const
;
void
setInitialStateDuration
(
int
initialStateDuration
);
void
setInitialStateDurationDefault
();
int
transitionDuration
()
const
;
void
setTransitionDuration
(
int
transitionDuration
);
void
setTransitionDurationDefault
();
Q_SIGNALS:
void
radiusChanged
();
void
primaryColorChanged
();
void
secondaryColorChanged
();
void
horizontalSpacingChanged
();
void
verticalSpacingChanged
();
void
initialStateDurationChanged
();
void
transitionDurationChanged
();
private:
int
m_radius
;
QColor
m_primaryColor
;
QColor
m_secondaryColor
;
int
m_horizontalSpacing
;
int
m_verticalSpacing
;
int
m_initialStateDuration
;
int
m_transitionDuration
;
};
#endif //NEMOTHEMESPINNER_H
src/styles/autogenerated/nemothemetextfield.cpp
deleted
100644 → 0
View file @
d20c0321
/*
* Copyright (C) 2013 Lucien Xu <sfietkonstantin@free.fr>
*
* This library 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 of the License, or (at your option) any later version.
*
* 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.
*/
// This class is autogenerated using themehelper.py
// Any modification done in this file will be overridden
#include "nemothemetextfield.h"
NemoThemeTextField
::
NemoThemeTextField
(
QObject
*
parent
)
:
QObject
(
parent
)
,
m_pointSize
(
24
)
,
m_font
(
"Open Sans"
)
{
}
QColor
NemoThemeTextField
::
selectedTextColor
()
const
{
return
m_selectedTextColor
;
}
void
NemoThemeTextField
::
setSelectedTextColor
(
const
QColor
&
selectedTextColor
)
{
if
(
m_selectedTextColor
!=
selectedTextColor
)
{
m_selectedTextColor
=
selectedTextColor
;
emit
selectedTextColorChanged
();
}
}
QColor
NemoThemeTextField
::
selectionColor
()
const
{
return
m_selectionColor
;
}
void
NemoThemeTextField
::
setSelectionColor
(
const
QColor
&
selectionColor
)
{
if
(
m_selectionColor
!=
selectionColor
)
{
m_selectionColor
=
selectionColor
;
emit
selectionColorChanged
();
}
}
int
NemoThemeTextField
::
pointSize
()
const
{
return
m_pointSize
;
}
void
NemoThemeTextField
::
setPointSize
(
int
pointSize
)
{
if
(
m_pointSize
!=
pointSize
)
{
m_pointSize
=
pointSize
;
emit
pointSizeChanged
();
}
}
void
NemoThemeTextField
::
setPointSizeDefault
()
{
if
(
m_pointSize
!=
24
)
{
m_pointSize
=
24
;
emit
pointSizeChanged
();
}
}
QString
NemoThemeTextField
::
font
()
const
{
return
m_font
;
}
void
NemoThemeTextField
::
setFont
(
const
QString
&
font
)
{
if
(
m_font
!=
font
)
{
m_font
=
font
;
emit
fontChanged
();
}
}
void
NemoThemeTextField
::
setFontDefault
()
{
if
(
m_font
!=
"Open Sans"
)
{
m_font
=
"Open Sans"
;
emit
fontChanged
();
}
}
src/styles/autogenerated/nemothemetextfield.h
deleted
100644 → 0
View file @
d20c0321
/*
* Copyright (C) 2013 Lucien Xu <sfietkonstantin@free.fr>
*
* This library 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 of the License, or (at your option) any later version.
*
* 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.
*/
// This class is autogenerated using themehelper.py
// Any modification done in this file will be overridden
#ifndef NEMOTHEMETEXTFIELD_H
#define NEMOTHEMETEXTFIELD_H
#include <QtCore/QObject>
#include <QtGui/QColor>
#include <QtCore/QString>
class
NemoThemeTextField
:
public
QObject
{
Q_OBJECT
Q_PROPERTY
(
QColor
selectedTextColor
READ
selectedTextColor
NOTIFY
selectedTextColorChanged
)
Q_PROPERTY
(
QColor
selectionColor
READ
selectionColor
NOTIFY
selectionColorChanged
)
Q_PROPERTY
(
int
pointSize
READ
pointSize
NOTIFY
pointSizeChanged
)
Q_PROPERTY
(
QString
font
READ
font
NOTIFY
fontChanged
)
public:
explicit
NemoThemeTextField
(
QObject
*
parent
=
0
);
QColor
selectedTextColor
()
const
;
void
setSelectedTextColor
(
const
QColor
&
selectedTextColor
);
QColor
selectionColor
()
const
;
void
setSelectionColor
(
const
QColor
&
selectionColor
);
int
pointSize
()
const
;
void
setPointSize
(
int
pointSize
);
void
setPointSizeDefault
();
QString
font
()
const
;
void
setFont
(
const
QString
&
font
);
void
setFontDefault
();
Q_SIGNALS:
void
selectedTextColorChanged
();
void
selectionColorChanged
();
void
pointSizeChanged
();
void
fontChanged
();
private:
QColor
m_selectedTextColor
;
QColor
m_selectionColor
;
int
m_pointSize
;
QString
m_font
;
};
#endif //NEMOTHEMETEXTFIELD_H
src/styles/autogenerated/nemothemetoolbar.cpp
deleted
100644 → 0
View file @
d20c0321
/*
* Copyright (C) 2013 Lucien Xu <sfietkonstantin@free.fr>
*
* This library 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 of the License, or (at your option) any later version.
*
* 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.
*/
// This class is autogenerated using themehelper.py
// Any modification done in this file will be overridden
#include "nemothemetoolbar.h"
NemoThemeToolBar
::
NemoThemeToolBar
(
QObject
*
parent
)
:
QObject
(
parent
)
{
}
QColor
NemoThemeToolBar
::
background
()
const
{
return
m_background
;
}
void
NemoThemeToolBar
::
setBackground
(
const
QColor
&
background
)
{
if
(
m_background
!=
background
)
{
m_background
=
background
;
emit
backgroundChanged
();
}
}
src/styles/autogenerated/nemothemetoolbar.h
deleted
100644 → 0
View file @
d20c0321
/*
* Copyright (C) 2013 Lucien Xu <sfietkonstantin@free.fr>
*
* This library 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 of the License, or (at your option) any later version.
*
* 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.
*/
// This class is autogenerated using themehelper.py
// Any modification done in this file will be overridden
#ifndef NEMOTHEMETOOLBAR_H
#define NEMOTHEMETOOLBAR_H
#include <QtCore/QObject>
#include <QtGui/QColor>
class
NemoThemeToolBar
:
public
QObject
{
Q_OBJECT
Q_PROPERTY
(
QColor
background
READ
background
NOTIFY
backgroundChanged
)
public:
explicit
NemoThemeToolBar
(
QObject
*
parent
=
0
);
QColor
background
()
const
;
void
setBackground
(
const
QColor
&
background
);
Q_SIGNALS:
void
backgroundChanged
();
private:
QColor
m_background
;
};
#endif //NEMOTHEMETOOLBAR_H
src/styles/autogenerated/nemothemewindow.cpp
deleted
100644 → 0
View file @
d20c0321
/*
* Copyright (C) 2013 Lucien Xu <sfietkonstantin@free.fr>
*
* This library 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 of the License, or (at your option) any later version.
*
* 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.
*/
// This class is autogenerated using themehelper.py
// Any modification done in this file will be overridden
#include "nemothemewindow.h"
NemoThemeWindow
::
NemoThemeWindow
(
QObject
*
parent
)
:
QObject
(
parent
)
{
}
QColor
NemoThemeWindow
::
background
()
const
{
return
m_background
;
}
void
NemoThemeWindow
::
setBackground
(
const
QColor
&
background
)
{
if
(
m_background
!=
background
)
{
m_background
=
background
;
emit
backgroundChanged
();
}
}
src/styles/autogenerated/nemothemewindow.h
deleted
100644 → 0
View file @
d20c0321
/*
* Copyright (C) 2013 Lucien Xu <sfietkonstantin@free.fr>
*
* This library 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 of the License, or (at your option) any later version.
*
* 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.
*/
// This class is autogenerated using themehelper.py
// Any modification done in this file will be overridden
#ifndef NEMOTHEMEWINDOW_H
#define NEMOTHEMEWINDOW_H
#include <QtCore/QObject>
#include <QtGui/QColor>
class
NemoThemeWindow
:
public
QObject
{
Q_OBJECT
Q_PROPERTY
(
QColor
background
READ
background
NOTIFY
backgroundChanged
)
public:
explicit
NemoThemeWindow
(
QObject
*
parent
=
0
);
QColor
background
()
const
;
void
setBackground
(
const
QColor
&
background
);
Q_SIGNALS:
void
backgroundChanged
();
private:
QColor
m_background
;
};
#endif //NEMOTHEMEWINDOW_H
src/styles/internal_resources.qrc
deleted
100644 → 0
View file @
d20c0321
<RCC>
<qresource prefix="/QtQuick/Controls/Styles/Nemo">
<file>themes/Colors.js</file>
<file>Images.js</file>
</qresource>
</RCC>
src/styles/qquicknemostyleextensionplugin.cpp
View file @
3858cd52
...
...
@@ -20,42 +20,15 @@
#include "qquicknemostyleextensionplugin.h"
#include <QtQml>
#include "autogenerated/nemotheme.h"
QQuickNemoStyleExtensionPlugin
::
QQuickNemoStyleExtensionPlugin
(
QObject
*
parent
)
:
QQmlExtensionPlugin
(
parent
)
{
}
static
QObject
*
nemo_theme_provider
(
QQmlEngine
*
engine
,
QJSEngine
*
scriptEngine
)
{
Q_UNUSED
(
engine
)
Q_UNUSED
(
scriptEngine
)
return
new
NemoTheme
();
}
void
QQuickNemoStyleExtensionPlugin
::
registerTypes
(
const
char
*
uri
)
{
Q_ASSERT
(
uri
==
QLatin1String
(
"QtQuick.Controls.Styles.Nemo"
));
QString
reason
=
QString
(
"Cannot be created"
);
qmlRegisterUncreatableType
<
NemoTheme
>
(
uri
,
1
,
0
,
"NemoTheme"
,
reason
);
qmlRegisterUncreatableType
<
NemoThemeButton
>
(
uri
,
1
,
0
,
"NemoThemeButton"
,
reason
);
qmlRegisterUncreatableType
<
NemoThemeButtonPressedGradient
>
(
uri
,
1
,
0
,
"NemoThemeButtonPressedGradient"
,
reason
);
qmlRegisterUncreatableType
<
NemoThemeButtonText
>
(
uri
,
1
,
0
,
"NemoThemeButtonText"
,
reason
);
qmlRegisterUncreatableType
<
NemoThemeFont
>
(
uri
,
1
,
0
,
"NemoThemeFont"
,
reason
);
qmlRegisterUncreatableType
<
NemoThemeGroove
>
(
uri
,
1
,
0
,
"NemoThemeGroove"
,
reason
);
qmlRegisterUncreatableType
<
NemoThemeTextField
>
(
uri
,
1
,
0
,
"NemoThemeTextField"
,
reason
);
qmlRegisterUncreatableType
<
NemoThemeToolBar
>
(
uri
,
1
,
0
,
"NemoThemeToolBar"
,
reason
);
qmlRegisterUncreatableType
<
NemoThemeWindow
>
(
uri
,
1
,
0
,
"NemoThemeWindow"
,
reason
);
qmlRegisterUncreatableType
<
NemoThemePage
>
(
uri
,
1
,
0
,
"NemoThemePage"
,
reason
);
qmlRegisterUncreatableType
<
NemoThemeSpinner
>
(
uri
,
1
,
0
,
"NemoThemeSpinner"
,
reason
);
qmlRegisterUncreatableType
<
NemoThemeLabel
>
(
uri
,
1
,
0
,
"NemoThemeLabel"
,
reason
);
qmlRegisterUncreatableType
<
NemoThemeCheckbox
>
(
uri
,
1
,
0
,
"NemoThemeCheckbox"
,
reason
);
qmlRegisterUncreatableType
<
NemoThemePageStack
>
(
uri
,
1
,
0
,
"NemoThemePageStack"
,
reason
);
qmlRegisterUncreatableType
<
NemoThemeHeader
>
(
uri
,
1
,
0
,
"NemoThemeHeader"
,
reason
);
qmlRegisterUncreatableType
<
NemoThemeHeaderDimmer
>
(
uri
,
1
,
0
,
"NemoThemeHeaderDimmer"
,
reason
);
qmlRegisterSingletonType
<
QObject
>
(
uri
,
1
,
0
,
"Theme"
,
nemo_theme_provider
);
}
void
QQuickNemoStyleExtensionPlugin
::
initializeEngine
(
QQmlEngine
*
engine
,
const
char
*
uri
)
...
...
src/styles/styles.pro
View file @
3858cd52
...
...
@@ -76,44 +76,10 @@ images.files = $$_PRO_FILE_PWD_/images/*.svg\
images.path = $$[QT_INSTALL_QML]/$$PLUGIN_IMPORT_PATH/images/
HEADERS += \
qquicknemostyleextensionplugin.h \
autogenerated/nemotheme.h \
autogenerated/nemothemebutton.h \
autogenerated/nemothemebuttonpressedgradient.h \
autogenerated/nemothemebuttontext.h \
autogenerated/nemothemefont.h \
autogenerated/nemothemegroove.h \
autogenerated/nemothemetextfield.h \
autogenerated/nemothemetoolbar.h \
autogenerated/nemothemewindow.h \
autogenerated/nemothemepage.h \
autogenerated/nemothemespinner.h \
autogenerated/nemothemelabel.h \
autogenerated/nemothemecheckbox.h \
autogenerated/nemothemepagestack.h \
autogenerated/nemothemebuttonrow.h \
autogenerated/nemothemeheader.h \
autogenerated/nemothemeheaderdimmer.h
qquicknemostyleextensionplugin.h
SOURCES += \
qquicknemostyleextensionplugin.cpp \
autogenerated/nemotheme.cpp \
autogenerated/nemothemebutton.cpp \
autogenerated/nemothemebuttonpressedgradient.cpp \
autogenerated/nemothemebuttontext.cpp \
autogenerated/nemothemefont.cpp \
autogenerated/nemothemegroove.cpp \
autogenerated/nemothemetextfield.cpp \
autogenerated/nemothemetoolbar.cpp \
autogenerated/nemothemewindow.cpp \
autogenerated/nemothemepage.cpp \
autogenerated/nemothemespinner.cpp \
autogenerated/nemothemelabel.cpp \
autogenerated/nemothemecheckbox.cpp \
autogenerated/nemothemepagestack.cpp \
autogenerated/nemothemebuttonrow.cpp \
autogenerated/nemothemeheader.cpp \
autogenerated/nemothemeheaderdimmer.cpp
qquicknemostyleextensionplugin.cpp
INSTALLS += target images qmlfiles themes
...
...
tools/themehelper/README
deleted
100644 → 0
View file @
d20c0321
How to use the components generator
1. Have python 2 installed (the script don't work with Python 3 yet)
2. Add the components in "components.json"
3. call "./themehelper.py components.json"
4. copy all the generated files to the style folder in src
5. qmlRegisterUncreatableType the new created components in qquicknemostyleextensionplugin.cpp and
adds them in the style.pro file
6. update theme files if needed
You can also run ./generate.sh in the tools folder instead of doing 3 and 4.
tools/themehelper/classgenerator.py
deleted
100644 → 0
View file @
d20c0321
#!/usr/bin/python
# Copyright (C) 2013 Lucien Xu. <sfietkonstantin@free.fr>
#
# You may use this file under the terms of the BSD license as follows:
#
# "Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are
# met:
# * Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in
# the documentation and/or other materials provided with the
# distribution.
# * Neither the name of Nemo Mobile nor the names of its contributors
# may be used to endorse or promote products derived from this
# software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
import
json
license
=
"""/*
* Copyright (C) 2013 Lucien Xu <sfietkonstantin@free.fr>
*
* This library 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 of the License, or (at your option) any later version.
*
* 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.
*/
// This class is autogenerated using themehelper.py
// Any modification done in this file will be overridden
"""
# Used by formatting functions
basicTypes
=
[
"int"
,
"float"
,
"double"
]
# Formatting functions
def
_getType
(
property
):
if
"type"
in
property
:
return
property
[
"type"
]
if
"object"
in
property
:
return
"NemoTheme"
+
_getUpper
(
property
[
"object"
])
+
" *"
return
None
def
_getArgumentType
(
property
):
if
"type"
in
property
:
type
=
property
[
"type"
]
if
type
not
in
basicTypes
:
return
"const "
+
type
+
" &"
return
type
+
" "
if
"object"
in
property
:
return
"NemoTheme"
+
_getUpper
(
property
[
"object"
])
+
" *"
return
None
def
_getUpper
(
name
):
return
name
[
0
]
.
upper
()
+
name
[
1
:]
# Generates some basic entries
# (includes, Q_PROPERTY macro, getter or setters etc)
def
_getInclude
(
property
):
if
"type"
in
property
:
type
=
property
[
"type"
]
if
type
in
basicTypes
:
return
None
if
type
in
[
"QString"
,
"QVariant"
,
"QUrl"
,
"QVariantMap"
,
"QDateTime"
]:
return
"<QtCore/"
+
type
+
">"
if
type
in
[
"QColor"
]:
return
"<QtGui/"
+
type
+
">"
if
"object"
in
property
:
return
"
\"
nemotheme"
+
property
[
"object"
]
.
lower
()
+
".h
\"
"
return
None
def
_getProperty
(
property
):
propertyName
=
property
[
"name"
]
header
=
" Q_PROPERTY("
+
_getType
(
property
)
+
" "
+
propertyName
header
+=
" READ "
+
propertyName
if
"type"
in
property
:
return
header
+
" NOTIFY "
+
propertyName
+
"Changed)
\n
"
if
"object"
in
property
:
return
header
+
" CONSTANT)
\n
"
def
_getGetterSetter
(
property
):
propertyName
=
property
[
"name"
]
header
=
" "
+
_getType
(
property
)
+
" "
+
propertyName
+
"() const;
\n
"
if
"type"
in
property
:
header
+=
" void set"
+
_getUpper
(
propertyName
)
header
+=
"("
+
_getArgumentType
(
property
)
+
propertyName
+
");
\n
"
if
"default"
in
property
:
header
+=
" void set"
+
_getUpper
(
propertyName
)
+
"Default"
header
+=
"();
\n
"
return
header
def
_getGetterSetterImpl
(
name
,
property
):
propertyName
=
property
[
"name"
]
source
=
_getType
(
property
)
+
" "
+
name
+
"::"
+
propertyName
+
"() const
\n
"
source
+=
"{
\n
"
source
+=
" return m_"
+
propertyName
+
";
\n
"
source
+=
"}
\n
"
source
+=
"
\n
"
if
"type"
in
property
:
source
+=
"void "
+
name
+
"::set"
+
_getUpper
(
propertyName
)
source
+=
"("
+
_getArgumentType
(
property
)
+
propertyName
+
")
\n
"
source
+=
"{
\n
"
source
+=
" if (m_"
+
propertyName
+
" != "
+
propertyName
+
") {
\n
"
source
+=
" m_"
+
propertyName
+
" = "
+
propertyName
+
";
\n
"
source
+=
" emit "
+
propertyName
+
"Changed();
\n
"
source
+=
" }
\n
"
source
+=
"}
\n
"
source
+=
"
\n
"
if
"default"
in
property
:
default
=
str
(
property
[
"default"
])
if
isinstance
(
property
[
"default"
],
str
)
or
isinstance
(
property
[
"default"
],
unicode
):
default
=
"
\"
"
+
default
+
"
\"
"
source
+=
"void "
+
name
+
"::set"
+
_getUpper
(
propertyName
)
+
"Default"
source
+=
"()
\n
"
source
+=
"{
\n
"
source
+=
" if (m_"
+
propertyName
+
" != "
+
default
+
") {
\n
"
source
+=
" m_"
+
propertyName
+
" = "
+
default
+
";
\n
"
source
+=
" emit "
+
propertyName
+
"Changed();
\n
"
source
+=
" }
\n
"
source
+=
"}
\n
"
source
+=
"
\n
"
return
source
def
_getSignal
(
property
):
if
"object"
in
property
:
return
""
return
" void "
+
property
[
"name"
]
+
"Changed();
\n
"
def
_getLoadFromFile
(
name
,
data
):
# Write helper methods that are used to parse theme file
source
=
"""
static inline QJsonValue jsonValue(const QJsonObject &object, const QString &key,
const QString &objectName = QString())
{
if (!object.contains(key)) {
if (objectName.isEmpty()) {
qWarning() << "W" << "Root JSON object does not have value" << key;
} else {
qWarning() << "W" << "JSON Object" << objectName << "does not have value" << key;
}
return QJsonValue();
}
return object.value(key);
}
static inline QString jsonToString(const QJsonValue &value,
const QMap<QString, QJsonValue> &defines)
{
QString valueString = value.toString();
if (defines.contains(valueString)) {
return defines.value(valueString).toString();
}
return value.toString();
}
static inline QColor jsonToColor(const QJsonValue &value,
const QMap<QString, QJsonValue> &defines)
{
QString color = value.toString();
if (defines.contains(color)) {
color = defines.value(color).toString();
}
// We need to skip the warning caused by a null value,
// so we check if the color is not empty
if (!QColor::isValidColor(color) && !color.isEmpty()) {
qWarning() << "W" << color << "is not a valid color";
return QColor();
}
return QColor(color);
}
static inline int jsonToInt(const QJsonValue &value,
const QMap<QString, QJsonValue> &defines)
{
QJsonValue trueValue = value;
if (value.isString()) {
QString valueString = value.toString();
if (defines.contains(valueString)) {
trueValue = defines.value(valueString);
}
}
double doubleValue = trueValue.toDouble();
return (int) doubleValue;
}
static inline int jsonToDouble(const QJsonValue &value,
const QMap<QString, QJsonValue> &defines)
{
QJsonValue trueValue = value;
if (value.isString()) {
QString valueString = value.toString();
if (defines.contains(valueString)) {
trueValue = defines.value(valueString);
}
}
return trueValue.toDouble();
}
"""
# Generate the method that loads from file
source
+=
"void "
+
name
+
"::loadFromFile(const QString &fileName)
\n
"
source
+=
"""{
QDir dir (THEME_DIR);
if (!dir.exists(fileName)) {
qWarning() << "E" << Q_FUNC_INFO << "Theme file" << fileName << "does not exists.";
return;
}
QFile themeFile (dir.absoluteFilePath(fileName));
if (!themeFile.open(QIODevice::ReadOnly)) {
qWarning() << "E" << Q_FUNC_INFO << "Theme file" << fileName << "could not be read.";
return;
}
QJsonParseError error;
QJsonDocument themeDocument = QJsonDocument::fromJson(themeFile.readAll(), &error);
themeFile.close();
if (error.error != QJsonParseError::NoError) {
qWarning() << "E" << Q_FUNC_INFO << "Cannot parse theme file:" << error.errorString();
return;
}
// Fetch all the defines
QMap<QString, QJsonValue> defines;
if (!themeDocument.isObject()) {
qWarning() << "E" << Q_FUNC_INFO << "Theme file has an invalid format";
return;
}
QJsonObject themeObject = themeDocument.object();
if (themeObject.contains(THEME_DEFINES_KEY)) {
QJsonValue definesJson = themeObject.value(THEME_DEFINES_KEY);
if (!definesJson.isObject()) {
qWarning() << "W" << Q_FUNC_INFO << "
\\
"defines
\\
" is not defined as an object";
} else {
QJsonObject definesObject = definesJson.toObject();
foreach (const QString key, definesObject.keys()) {
defines.insert(key, definesObject.value(key));
}
}
} else {
qWarning() << "W" << Q_FUNC_INFO
<< "Theme file does not contain a
\\
"defines
\\
" object. "
\\
"Please add an empty
\\
"defines
\\
" object instead";
}
// Set the global values (name, description etc.)
setName(jsonValue(themeObject, THEME_NAME_KEY).toString());
setDescription(jsonValue(themeObject, THEME_DESCRIPTION_KEY).toString());
// Parse the defined objects
QJsonObject styles = jsonValue(themeObject, THEME_STYLES_KEY).toObject();
if (styles.isEmpty()) {
return;
}
"""
# We create a map of components that can be used
# to quickly retrieve a component based on the name
components
=
{}
for
component
in
data
[
"components"
]:
components
[
component
[
"name"
]]
=
component
[
"properties"
]
for
property
in
data
[
"properties"
]:
if
"object"
in
property
:
name
=
property
[
"name"
]
type
=
property
[
"object"
]
source
+=
_getSetObject
(
"styles"
,
"m_"
+
name
,
name
,
components
[
type
],
components
)
source
+=
"}
\n
"
return
source
def
_getCasted
(
property
,
jsonObject
,
name
,
cppObject
):
type
=
property
[
"type"
]
castedValue
=
None
value
=
"jsonValue("
+
jsonObject
+
_getUpper
(
name
)
+
",
\"
"
value
+=
property
[
"name"
]
+
"
\"
,
\"
"
+
name
+
"
\"
)"
if
"default"
in
property
:
value
=
jsonObject
+
_getUpper
(
name
)
+
".value(
\"
"
+
property
[
"name"
]
+
"
\"
)"
if
type
==
"QString"
:
castedValue
=
"jsonToString("
+
value
+
", defines)"
elif
type
==
"QColor"
:
castedValue
=
"jsonToColor("
+
value
+
", defines)"
elif
type
==
"int"
:
castedValue
=
"jsonToInt("
+
value
+
", defines)"
elif
type
==
"double"
:
castedValue
=
"jsonToDouble("
+
value
+
", defines)"
else
:
print
"
\"
"
+
type
+
"
\"
is not a known type. TODO !"
if
castedValue
==
None
:
return
""
if
"default"
in
property
:
data
=
" if ("
+
jsonObject
+
_getUpper
(
name
)
+
".contains(
\"
"
data
+=
property
[
"name"
]
+
"
\"
)) {
\n
"
data
+=
" "
+
cppObject
+
"->set"
+
_getUpper
(
property
[
"name"
])
data
+=
"("
+
castedValue
+
");
\n
"
data
+=
" } else {
\n
"
data
+=
" "
+
cppObject
+
"->set"
+
_getUpper
(
property
[
"name"
])
+
"Default();
\n
"
data
+=
" }
\n
"
return
data
else
:
data
=
" "
+
cppObject
+
"->set"
+
_getUpper
(
property
[
"name"
])
data
+=
"("
+
castedValue
+
");
\n
"
return
data
# This method is used to generate the tree of components and set calls
# it will start with a root component property, try to load all properties
# from theme file (and ignore those already defined), and continue
# with children components.
def
_getSetObject
(
jsonObject
,
cppObject
,
name
,
properties
,
components
):
data
=
" // Setting properties for "
+
name
+
"
\n
"
data
+=
" QJsonObject "
+
jsonObject
+
_getUpper
(
name
)
+
" = "
+
jsonObject
data
+=
".value(
\"
"
+
name
+
"
\"
).toObject();
\n
"
for
property
in
properties
:
if
"object"
in
property
:
type
=
property
[
"object"
]
data
+=
_getSetObject
(
jsonObject
+
_getUpper
(
name
),
cppObject
+
"->"
+
property
[
"name"
]
+
"()"
,
property
[
"name"
],
components
[
type
],
components
)
if
"type"
in
property
:
data
+=
_getCasted
(
property
,
jsonObject
,
name
,
cppObject
)
return
data
def
generate
(
data
,
writeThemeObject
=
False
):
# If we have a name, we are generating a component,
# otherwise, we are generating the global theme object
if
"name"
in
data
:
name
=
"NemoTheme"
+
_getUpper
(
data
[
"name"
])
else
:
name
=
"NemoTheme"
properties
=
[]
if
writeThemeObject
:
properties
.
append
({
"name"
:
"name"
,
"type"
:
"QString"
})
properties
.
append
({
"name"
:
"description"
,
"type"
:
"QString"
})
for
property
in
data
[
"properties"
]:
properties
.
append
(
property
)
header
=
license
header
+=
"#ifndef "
+
name
.
upper
()
+
"_H
\n
"
header
+=
"#define "
+
name
.
upper
()
+
"_H
\n
"
header
+=
"
\n
"
header
+=
"#include <QtCore/QObject>
\n
"
includes
=
[]
for
property
in
properties
:
include
=
_getInclude
(
property
)
if
include
!=
None
and
not
include
in
includes
:
includes
.
append
(
include
)
for
include
in
includes
:
header
+=
"#include "
+
include
+
"
\n
"
header
+=
"
\n
"
header
+=
"class "
+
name
+
": public QObject
\n
"
header
+=
"{
\n
"
header
+=
" Q_OBJECT
\n
"
# Generate properties
for
property
in
properties
:
header
+=
_getProperty
(
property
)
if
writeThemeObject
:
header
+=
" Q_PROPERTY(QString fontFamily READ fontFamily CONSTANT)
\n
"
header
+=
"public:
\n
"
# Constructor
header
+=
" explicit "
+
name
+
"(QObject *parent = 0);
\n
"
# Generates getters and setters
for
property
in
properties
:
header
+=
_getGetterSetter
(
property
)
if
writeThemeObject
:
header
+=
" QString fontFamily() const;
\n
"
header
+=
"public Q_SLOTS:
\n
"
header
+=
" void loadFromFile(const QString &fileName);
\n
"
header
+=
"Q_SIGNALS:
\n
"
# Generate signals
for
property
in
properties
:
header
+=
_getSignal
(
property
)
header
+=
"private:
\n
"
# Generate private members
for
property
in
properties
:
header
+=
" "
+
_getType
(
property
)
+
" m_"
+
property
[
"name"
]
+
";
\n
"
if
writeThemeObject
:
header
+=
" QString m_fontFamily;
\n
"
header
+=
"};
\n
"
header
+=
"
\n
"
header
+=
"#endif //"
+
name
.
upper
()
+
"_H
\n
"
try
:
f
=
open
(
name
.
lower
()
+
".h"
,
"w"
)
f
.
write
(
header
)
f
.
close
()
except
:
print
"Failed to write to "
+
name
.
lower
()
+
".h"
return
source
=
license
source
+=
"#include
\"
"
+
name
.
lower
()
+
".h
\"\n
"
if
writeThemeObject
:
# Adds the additional includes
source
+=
"#include <QtCore/QDebug>
\n
#include <QtCore/QDir>
\n
#include <QtCore/QFile>
\n
"
source
+=
"#include <QtCore/QJsonDocument>
\n
#include <QtCore/QJsonArray>
\n
"
source
+=
"#include <QtCore/QJsonObject>
\n
#include <QtCore/QJsonValue>
\n
"
source
+=
"#include <QtGui/QFontDatabase>
\n
"
source
+=
"
\n
"
if
writeThemeObject
:
# Adds the additional defines
source
+=
"static const char *GLACIER_THEME =
\"
glacier.json
\"
;
\n
"
source
+=
"static const char *THEME_NAME_KEY =
\"
name
\"
;
\n
"
source
+=
"static const char *THEME_DESCRIPTION_KEY =
\"
description
\"
;
\n
"
source
+=
"static const char *THEME_DEFINES_KEY =
\"
defines
\"
;
\n
"
source
+=
"static const char *THEME_STYLES_KEY =
\"
styles
\"
;
\n
"
source
+=
"
\n
"
# Generate constructor
source
+=
name
+
"::"
+
name
+
"(QObject *parent)
\n
"
source
+=
" : QObject(parent)
\n
"
# Init members if needed
for
property
in
properties
:
if
"type"
in
property
:
if
"default"
in
property
:
default
=
str
(
property
[
"default"
])
if
isinstance
(
property
[
"default"
],
str
)
or
isinstance
(
property
[
"default"
],
unicode
):
default
=
"
\"
"
+
default
+
"
\"
"
source
+=
" , m_"
+
property
[
"name"
]
+
"("
+
default
+
")
\n
"
else
:
if
property
[
"type"
]
in
basicTypes
:
if
property
[
"type"
]
==
"int"
:
source
+=
" , m_"
+
property
[
"name"
]
+
"(0)
\n
"
else
:
source
+=
" , m_"
+
property
[
"name"
]
+
"(0.)
\n
"
elif
"object"
in
property
:
source
+=
" , m_"
+
property
[
"name"
]
+
"(new NemoTheme"
+
_getUpper
(
property
[
"object"
])
source
+=
"(this))
\n
"
source
+=
"{
\n
"
if
writeThemeObject
:
source
+=
""" loadFromFile(GLACIER_THEME);
int id = QFontDatabase::addApplicationFont(
\"
"""
+
data
[
"font"
]
+
"""
\"
);
QStringList families = QFontDatabase::applicationFontFamilies(id);
if (families.isEmpty()) {
qWarning() << "W" << "Failed to load font" << QString(
\"
"""
+
data
[
"font"
]
+
"""
\"
);
return;
}
m_fontFamily = families.first();
"""
source
+=
"}
\n
"
source
+=
"
\n
"
# Generate getters and setters
for
property
in
properties
:
source
+=
_getGetterSetterImpl
(
name
,
property
)
source
=
source
[:
-
1
]
if
writeThemeObject
:
source
+=
"
\n
"
source
+=
"QString "
+
name
+
"::fontFamily() const
\n
"
source
+=
"{
\n
"
source
+=
" return m_fontFamily;
\n
"
source
+=
"}
\n
"
source
+=
_getLoadFromFile
(
name
,
data
)
try
:
f
=
open
(
name
.
lower
()
+
".cpp"
,
"w"
)
f
.
write
(
source
)
f
.
close
()
except
:
print
"Failed to write to "
+
name
.
lower
()
+
".cpp"
return
tools/themehelper/components.json
deleted
100644 → 0
View file @
d20c0321
{
"components"
:
[
{
"name"
:
"Button"
,
"properties"
:
[
{
"name"
:
"background"
,
"type"
:
"QColor"
},
{
"name"
:
"text"
,
"object"
:
"ButtonText"
},
{
"name"
:
"pressedGradient"
,
"object"
:
"ButtonPressedGradient"
}
]
},
{
"name"
:
"Groove"
,
"properties"
:
[
{
"name"
:
"background"
,
"type"
:
"QColor"
},
{
"name"
:
"foreground"
,
"type"
:
"QColor"
}
]
},
{
"name"
:
"TextField"
,
"properties"
:
[
{
"name"
:
"selectedTextColor"
,
"type"
:
"QColor"
},
{
"name"
:
"selectionColor"
,
"type"
:
"QColor"
},
{
"name"
:
"pointSize"
,
"type"
:
"int"
,
"default"
:
24
},
{
"name"
:
"font"
,
"type"
:
"QString"
,
"default"
:
"Open Sans"
}
]
},
{
"name"
:
"ToolBar"
,
"properties"
:
[
{
"name"
:
"background"
,
"type"
:
"QColor"
}
]
},
{
"name"
:
"Window"
,
"properties"
:
[
{
"name"
:
"background"
,
"type"
:
"QColor"
}
]
},
{
"name"
:
"Page"
,
"properties"
:
[
{
"name"
:
"background"
,
"type"
:
"QColor"
}
]
},
{
"name"
:
"ButtonPressedGradient"
,
"properties"
:
[
{
"name"
:
"centerColor"
,
"type"
:
"QColor"
},
{
"name"
:
"edgeColor"
,
"type"
:
"QColor"
},
{
"name"
:
"width"
,
"type"
:
"int"
,
"default"
:
240
},
{
"name"
:
"height"
,
"type"
:
"int"
,
"default"
:
240
},
{
"name"
:
"center"
,
"type"
:
"double"
,
"default"
:
0.29
},
{
"name"
:
"edge"
,
"type"
:
"double"
,
"default"
:
0.5
}
]
},
{
"name"
:
"ButtonText"
,
"properties"
:
[
{
"name"
:
"color"
,
"type"
:
"QColor"
},
{
"name"
:
"font"
,
"object"
:
"Font"
}
]
},
{
"name"
:
"Font"
,
"properties"
:
[
{
"name"
:
"pointSize"
,
"type"
:
"int"
,
"default"
:
24
},
{
"name"
:
"weight"
,
"type"
:
"int"
,
"default"
:
25
}
]
},
{
"name"
:
"Spinner"
,
"properties"
:
[
{
"name"
:
"radius"
,
"type"
:
"int"
,
"default"
:
32
},
{
"name"
:
"primaryColor"
,
"type"
:
"QColor"
},
{
"name"
:
"secondaryColor"
,
"type"
:
"QColor"
},
{
"name"
:
"horizontalSpacing"
,
"type"
:
"int"
,
"default"
:
15
},
{
"name"
:
"verticalSpacing"
,
"type"
:
"int"
,
"default"
:
15
},
{
"name"
:
"initialStateDuration"
,
"type"
:
"int"
,
"default"
:
1500
},
{
"name"
:
"transitionDuration"
,
"type"
:
"int"
,
"default"
:
500
}
]
},
{
"name"
:
"Label"
,
"properties"
:
[
{
"name"
:
"color"
,
"type"
:
"QColor"
},
{
"name"
:
"pointSize"
,
"type"
:
"int"
,
"default"
:
24
}
]
},
{
"name"
:
"Checkbox"
,
"properties"
:
[
{
"name"
:
"back1"
,
"type"
:
"QColor"
},
{
"name"
:
"back2"
,
"type"
:
"QColor"
}
]
},
{
"name"
:
"PageStack"
,
"properties"
:
[
{
"name"
:
"transitionDuration"
,
"type"
:
"int"
,
"default"
:
500
}
]
},
{
"name"
:
"ButtonRow"
,
"properties"
:
[
{
"name"
:
"background"
,
"type"
:
"QColor"
},
{
"name"
:
"buttonColor"
,
"type"
:
"QColor"
}
]
},
{
"name"
:
"Header"
,
"properties"
:
[
{
"name"
:
"background"
,
"type"
:
"QColor"
},
{
"name"
:
"dimmer"
,
"object"
:
"HeaderDimmer"
}
]
},
{
"name"
:
"HeaderDimmer"
,
"properties"
:
[
{
"name"
:
"startColor"
,
"type"
:
"QColor"
},
{
"name"
:
"endColor"
,
"type"
:
"QColor"
},
{
"name"
:
"height"
,
"type"
:
"int"
,
"default"
:
16
},
{
"name"
:
"startPosition"
,
"type"
:
"double"
,
"default"
:
0
},
{
"name"
:
"endPosition"
,
"type"
:
"double"
,
"default"
:
1.0
}
]
}
],
"properties"
:
[
{
"name"
:
"button"
,
"object"
:
"Button"
},
{
"name"
:
"primaryButton"
,
"object"
:
"Button"
},
{
"name"
:
"groove"
,
"object"
:
"Groove"
},
{
"name"
:
"textField"
,
"object"
:
"TextField"
},
{
"name"
:
"toolBar"
,
"object"
:
"ToolBar"
},
{
"name"
:
"window"
,
"object"
:
"Window"
},
{
"name"
:
"page"
,
"object"
:
"Page"
},
{
"name"
:
"pageStack"
,
"object"
:
"PageStack"
},
{
"name"
:
"spinner"
,
"object"
:
"Spinner"
},
{
"name"
:
"label"
,
"object"
:
"Label"
},
{
"name"
:
"checkbox"
,
"object"
:
"Checkbox"
},
{
"name"
:
"buttonRow"
,
"object"
:
"ButtonRow"
},
{
"name"
:
"header"
,
"object"
:
"Header"
}
],
"font"
:
"/usr/share/fonts/google-opensans/OpenSans-Regular.ttf"
}
tools/themehelper/formattingtools.py
deleted
100644 → 0
View file @
d20c0321
# Copyright (C) 2013 Jolla Ltd. <chris.adams@jollamobile.com>
#
# You may use this file under the terms of the BSD license as follows:
#
# "Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are
# met:
# * Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in
# the documentation and/or other materials provided with the
# distribution.
# * Neither the name of Nemo Mobile nor the names of its contributors
# may be used to endorse or promote products derived from this
# software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
def
includeGuard
(
name
):
return
name
.
replace
(
"_"
,
""
)
.
upper
()
+
"_H"
def
upperCamelCase
(
name
):
camelCased
=
camelCase
(
split
(
name
))
return
camelCased
[
0
]
.
upper
()
+
camelCased
[
1
:]
def
camelCase
(
name
):
splitted
=
split
(
name
)
newSplitted
=
[]
for
splittedWord
in
splitted
:
splittedWord
=
splittedWord
.
lower
()
splittedWord
=
splittedWord
[
0
]
.
upper
()
+
splittedWord
[
1
:]
newSplitted
.
append
(
splittedWord
)
camelCase
=
""
.
join
(
newSplitted
)
camelCase
=
camelCase
[
0
]
.
lower
()
+
camelCase
[
1
:]
return
camelCase
def
split
(
name
):
return
name
.
split
(
"_"
)
def
addSpaces
(
string
,
size
):
spacesToAdd
=
max
(
size
-
len
(
string
),
0
)
return
string
+
(
" "
*
spacesToAdd
)
tools/themehelper/generate.sh
deleted
100755 → 0
View file @
d20c0321
#!/bin/sh
./themehelper.py components.json
mv
*
.h ../../src/styles/autogenerated/
mv
*
.cpp ../../src/styles/autogenerated/
tools/themehelper/themehelper.py
deleted
100755 → 0
View file @
d20c0321
#!/usr/bin/python
# Copyright (C) 2013 Lucien Xu. <sfietkonstantin@free.fr>
#
# You may use this file under the terms of the BSD license as follows:
#
# "Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are
# met:
# * Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in
# the documentation and/or other materials provided with the
# distribution.
# * Neither the name of Nemo Mobile nor the names of its contributors
# may be used to endorse or promote products derived from this
# software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
# Generates components from a JSON description file
#
# This script generates components from a JSON description file.
# The JSON description file have the following organization
# {
# "components": [
# list of components
# ],
# "properties": [ list of properties ],
# "font": "/path/to/some_font.ttf"
# }
#
# The "components" is the list of components that should be generated.
# Each component have a "name", and a list of "properties". A property
# is a list of objects defined this way:
# {
# "name": "someName",
# "type": "some_type",
# ["default": some_value]
# }
# or
# {
# "name": "someName",
# "object": "some_object"
# }
#
# The first variation defines a simple property. "type" field should
# contain the name of either a basic type, like int, or float, or
# a Qt object, like QColor and QString. The optional "default" field
# contains a default value that is embedded in the component.
# Properties with default values don't need to be defined in the
# theme file.
#
# The second variation contains an object definition. Usually, an
# object defines a complex type, that needs several basic types to be
# defined, like a gradient, that needs 2 colors, and maybe a radius.
#
# The "properties" field of the root object behave the same, and
# describes the properties that the Theme object have. Note that
# "name" and "description" are automatically provided by the
# script, and don't need to be defined in the properties.
#
# The last field is the font. It provides the default font that
# is available from the Theme object.
import
json
import
classgenerator
import
argparse
def
generate
(
descriptionFile
):
# First, we try to open JSON description file
try
:
f
=
open
(
descriptionFile
)
except
:
print
"Failed to open "
+
descriptionFile
return
data
=
json
.
load
(
f
)
classgenerator
.
generate
(
data
,
True
)
for
componentData
in
data
[
"components"
]:
classgenerator
.
generate
(
componentData
)
# Main
if
__name__
==
"__main__"
:
parser
=
argparse
.
ArgumentParser
(
description
=
'Theme helper'
)
parser
.
add_argument
(
'description_file'
,
metavar
=
'description_file'
,
type
=
str
,
help
=
"""Input description file (JSON)"""
)
args
=
parser
.
parse_args
()
description_file
=
args
.
description_file
generate
(
description_file
)
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment