Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
What's new
7
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Open sidebar
Plasma
Plasma Phone Components
Commits
0e5ce58b
Commit
0e5ce58b
authored
Jun 19, 2015
by
Sebastian Kügler
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Remove old wifi module
It's connman-based, not ported, doesn't work.
parent
ae4a2c78
Changes
7
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
0 additions
and
1481 deletions
+0
-1481
CMakeLists.txt
CMakeLists.txt
+0
-1
settingsmodules/CMakeLists.txt
settingsmodules/CMakeLists.txt
+0
-4
settingsmodules/wireless/contents/ui/NetworkSettingsSheet.qml
...ingsmodules/wireless/contents/ui/NetworkSettingsSheet.qml
+0
-162
settingsmodules/wireless/contents/ui/SettingsSheet.qml
settingsmodules/wireless/contents/ui/SettingsSheet.qml
+0
-539
settingsmodules/wireless/contents/ui/WirelessSettings.qml
settingsmodules/wireless/contents/ui/WirelessSettings.qml
+0
-221
settingsmodules/wireless/contents/ui/mustache.js
settingsmodules/wireless/contents/ui/mustache.js
+0
-536
settingsmodules/wireless/metadata.desktop
settingsmodules/wireless/metadata.desktop
+0
-18
No files found.
CMakeLists.txt
View file @
0e5ce58b
...
...
@@ -50,7 +50,6 @@ install( FILES kwinmultitasking/metadata.desktop DESTINATION ${SERVICES_INSTALL_
add_subdirectory
(
bin
)
#add_subdirectory(services)
add_subdirectory
(
settingsmodules
)
add_subdirectory
(
applets
)
add_subdirectory
(
containments
)
add_subdirectory
(
dialer
)
settingsmodules/CMakeLists.txt
deleted
100644 → 0
View file @
ae4a2c78
plasma_install_package
(
wireless org.kde.plasma.phone.settings.wifi packages package
)
settingsmodules/wireless/contents/ui/NetworkSettingsSheet.qml
deleted
100644 → 0
View file @
ae4a2c78
/*
* Copyright (C) 2013 Robin Burchell <robin+mer@viroteck.net>
* Copyright (C) 2012 Jolla Ltd. <dmitry.rozhkov@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."
*/
import
QtQuick
2.0
import
org
.
kde
.
plasma
.
components
2.0
import
QtQuick
.
Layouts
1.1
import
MeeGo
.
Connman
0.2
import
"
mustache.js
"
as
M
Item
{
id
:
networkPage
property
variant
mustacheView
property
UserAgent
userAgent
property
Timer
scanTimer
property
var
netfields
:
{}
function
handleInput
(
key
,
value
)
{
var
dict
=
{};
var
isDoneEnabled
=
false
;
console
.
log
(
"
Received from TextField
"
+
key
+
"
"
+
value
);
dict
[
key
]
=
value
;
networkPage
.
netfields
=
dict
;
for
(
var
id
in
networkPage
.
netfields
)
{
console
.
log
(
id
+
"
->
"
+
networkPage
.
netfields
[
id
]);
isDoneEnabled
=
isDoneEnabled
||
networkPage
.
netfields
[
id
].
length
;
}
networkPage
.
acceptButtonEnabled
=
isDoneEnabled
;
}
Connections
{
target
:
userAgent
onUserInputCanceled
:
{
console
.
log
(
"
qmlsettings: UserAgent cancelled user input request
"
);
networkPage
.
reject
()
}
}
RowLayout
{
anchors
{
horizontalCenter
:
parent
.
horizontalCenter
bottom
:
parent
.
bottom
bottomMargin
:
Qt
.
inputMethod
.
keyboardRectangle
.
height
}
Button
{
text
:
"
Reject
"
onClicked
:
{
userAgent
.
sendUserReply
({});
scanTimer
.
running
=
true
;
stackView
.
pop
();
}
}
Button
{
text
:
"
Accept
"
onClicked
:
{
console
.
log
(
'
clicked Done
'
+
'
x:
'
+
x
+
'
y:
'
+
y
);
var
fields
=
networkPage
.
netfields
;
for
(
var
key
in
fields
)
{
console
.
log
(
key
+
"
-->
"
+
fields
[
key
]);
}
scanTimer
.
running
=
true
;
userAgent
.
sendUserReply
(
fields
);
stackView
.
pop
();
}
}
}
Column
{
spacing
:
10
anchors.fill
:
parent
Label
{
anchors
{
left
:
parent
.
left
;
leftMargin
:
10
}
text
:
"
Sign in to secure Wi-Fi network
"
}
Label
{
id
:
networkName
anchors
{
left
:
parent
.
left
;
leftMargin
:
10
}
}
Item
{
height
:
30
}
Item
{
id
:
dynFields
width
:
parent
.
width
height
:
200
property
string
form_tpl
:
"
import QtQuick 2.0
import QtQuick.Controls 1.2
Item {
id: form
anchors { fill: parent; margins: 10 }
Column {
spacing: 5
anchors { fill: parent }
{{#fields}}
Text {
text: '{{name}}'
color: 'white'
font.pointSize: 14
}
TextField {
id: {{id}}
signal send (string key, string value)
anchors { left: parent.left; right: parent.right }
placeholderText: 'enter {{name}}'
Component.onCompleted: {
{{id}}.send.connect(handleInput);
}
onTextChanged: {
console.log('Sending from TextField {{id}}' + {{id}}.text);
{{id}}.send('{{name}}', {{id}}.text);
}
}
{{/fields}}
}
}
"
Component.onCompleted
:
{
console
.
log
(
mustacheView
)
console
.
log
(
form_tpl
)
// TODO: can we replace mustache with just regular old bindings?
var
output
=
M
.
Mustache
.
render
(
form_tpl
,
mustacheView
);
console
.
log
(
"
Creating
"
+
output
)
var
form
=
Qt
.
createQmlObject
(
output
,
dynFields
,
"
dynamicForm1
"
);
console
.
log
(
"
Created
"
+
form
)
}
}
}
}
settingsmodules/wireless/contents/ui/SettingsSheet.qml
deleted
100644 → 0
View file @
ae4a2c78
This diff is collapsed.
Click to expand it.
settingsmodules/wireless/contents/ui/WirelessSettings.qml
deleted
100644 → 0
View file @
ae4a2c78
/*
* Copyright (C) 2013 Robin Burchell <robin+mer@viroteck.net>
* Copyright (C) 2012 Jolla Ltd. <dmitry.rozhkov@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."
*/
import
QtQuick
2.0
import
QtQuick
.
Layouts
1.1
import
org
.
kde
.
plasma
.
core
2.0
as
PlasmaCore
import
org
.
kde
.
plasma
.
components
2.0
as
PlasmaComponents
import
org
.
kde
.
plasma
.
extras
2.0
as
PlasmaExtras
import
MeeGo
.
Connman
0.2
import
QtQuick
.
Controls
1.2
StackView
{
id
:
stackView
initialItem
:
mainView
Component
{
id
:
mainView
Item
{
id
:
mainWindow
property
Item
tools
//: commonTools
Timer
{
id
:
scanTimer
interval
:
25000
running
:
networkingModel
.
powered
repeat
:
true
triggeredOnStart
:
true
onTriggered
:
networkingModel
.
requestScan
();
}
TechnologyModel
{
id
:
networkingModel
name
:
"
wifi
"
property
bool
sheetOpened
property
string
networkName
onTechnologiesChanged
:
{
scanTimer
.
running
=
networkingModel
.
powered
;
}
onPoweredChanged
:
{
scanTimer
.
running
=
networkingModel
.
powered
;
}
}
UserAgent
{
id
:
userAgent
onUserInputRequested
:
{
scanTimer
.
running
=
false
;
scanTimer
.
triggeredOnStart
=
false
;
console
.
log
(
"
USER INPUT REQUESTED
"
);
var
view
=
{
"
fields
"
:
[]
};
for
(
var
key
in
fields
)
{
view
.
fields
.
push
({
"
name
"
:
key
,
"
id
"
:
key
.
toLowerCase
(),
"
type
"
:
fields
[
key
][
"
Type
"
],
"
requirement
"
:
fields
[
key
][
"
Requirement
"
]
});
console
.
log
(
key
+
"
:
"
);
for
(
var
inkey
in
fields
[
key
])
{
console
.
log
(
"
"
+
inkey
+
"
:
"
+
fields
[
key
][
inkey
]);
}
}
if
(
!
networkingModel
.
sheetOpened
)
{
networkingModel
.
sheetOpened
=
true
var
sheet
=
stackView
.
push
({
item
:
Qt
.
resolvedUrl
(
"
NetworkSettingsSheet.qml
"
),
properties
:{
mustacheView
:
view
,
networkName
:
networkingModel
.
networkName
,
userAgent
:
userAgent
,
scanTimer
:
scanTimer
}})
// sheet.accepted.connect(function() { networkingModel.sheetOpened = false })
//sheet.rejected.connect(function() { networkingModel.sheetOpened = false })
// TODO: there was code that checked for stackView.busy and
// didn't open if it was true. What was that about?
}
}
onErrorReported
:
{
console
.
log
(
"
Got error from model:
"
+
error
);
if
(
error
==
"
invalid-key
"
)
{
mainpageNotificationBanner
.
text
=
"
Incorrect value entered. Try again.
"
}
else
{
mainpageNotificationBanner
.
text
=
"
Connect failed
"
}
mainpageNotificationBanner
.
show
()
}
}
PlasmaExtras.Heading
{
visible
:
!
networkingModel
.
available
||
networkList
.
count
==
0
text
:
!
networkingModel
.
available
?
"
Wireless networking unavailable
"
:
"
No wireless networks in range
"
}
PlasmaExtras.ScrollArea
{
anchors.fill
:
parent
anchors.bottomMargin
:
Qt
.
inputMethod
.
keyboardRectangle
.
height
ListView
{
id
:
networkList
//header: WirelessApplet { }
anchors.margins
:
4
//UiConstants.DefaultMargin
anchors.fill
:
parent
model
:
networkingModel
delegate
:
PlasmaComponents.ListItem
{
enabled
:
true
PlasmaCore.IconItem
{
id
:
icon
anchors
{
left
:
parent
.
left
top
:
parent
.
top
bottom
:
parent
.
bototm
}
height
:
units
.
iconSizes
.
large
width
:
height
source
:
{
var
strength
=
modelData
.
strength
;
var
str_id
=
0
;
if
(
strength
>=
100
)
{
str_id
=
100
;
}
else
if
(
strength
>=
80
)
{
str_id
=
80
;
}
else
if
(
strength
>=
60
)
{
str_id
=
60
;
}
else
if
(
strength
>=
40
)
{
str_id
=
40
;
}
else
if
(
strength
>=
20
)
{
str_id
=
20
;
}
return
"
network-wireless-
"
+
str_id
;
}
}
ColumnLayout
{
anchors
{
left
:
icon
.
right
top
:
parent
.
top
right
:
parent
.
right
bottom
:
parent
.
bottom
leftMargin
:
units
.
smallSpacing
}
PlasmaExtras.Heading
{
level
:
2
text
:
modelData
.
name
?
modelData
.
name
:
"
(hidden network)
"
}
PlasmaComponents.Label
{
text
:
{
var
state
=
modelData
.
state
;
var
security
=
modelData
.
security
[
0
];
if
((
state
==
"
online
"
)
||
(
state
==
"
ready
"
))
{
return
"
connected
"
;
}
else
if
(
state
==
"
association
"
||
state
==
"
configuration
"
)
{
return
"
connecting...
"
;
}
else
{
if
(
security
==
"
none
"
)
{
return
"
open
"
;
}
else
{
return
"
secure
"
;
}
}
}
}
}
// TODO: subtitleColor / subtitleColorPressed bindings
// depending on state like in old delegate?
onClicked
:
{
console
.
log
(
"
clicked
"
+
modelData
.
name
);
if
(
modelData
.
state
==
"
idle
"
||
modelData
.
state
==
"
failure
"
)
{
modelData
.
requestConnect
();
networkingModel
.
networkName
.
text
=
modelData
.
name
;
}
else
{
console
.
log
(
"
Show network status page
"
);
for
(
var
key
in
modelData
.
ipv4
)
{
console
.
log
(
key
+
"
->
"
+
modelData
.
ipv4
[
key
]);
}
stackView
.
push
({
item
:
Qt
.
resolvedUrl
(
"
SettingsSheet.qml
"
),
properties
:
{
network
:
modelData
}})
}
}
}
}
}
}
}
}
settingsmodules/wireless/contents/ui/mustache.js
deleted
100644 → 0
View file @
ae4a2c78
/*!
* mustache.js - Logic-less {{mustache}} templates with JavaScript
* http://github.com/janl/mustache.js
*/
var
Mustache
=
(
typeof
module
!==
"
undefined
"
&&
module
.
exports
)
||
{};
(
function
(
exports
)
{
exports
.
name
=
"
mustache.js
"
;
exports
.
version
=
"
0.5.0-dev
"
;
exports
.
tags
=
[
"
{{
"
,
"
}}
"
];
exports
.
parse
=
parse
;
exports
.
compile
=
compile
;
exports
.
render
=
render
;
exports
.
clearCache
=
clearCache
;
// This is here for backwards compatibility with 0.4.x.
exports
.
to_html
=
function
(
template
,
view
,
partials
,
send
)
{
var
result
=
render
(
template
,
view
,
partials
);
if
(
typeof
send
===
"
function
"
)
{
send
(
result
);
}
else
{
return
result
;
}
};
var
_toString
=
Object
.
prototype
.
toString
;
var
_isArray
=
Array
.
isArray
;
var
_forEach
=
Array
.
prototype
.
forEach
;
var
_trim
=
String
.
prototype
.
trim
;
var
isArray
;
if
(
_isArray
)
{
isArray
=
_isArray
;
}
else
{
isArray
=
function
(
obj
)
{
return
_toString
.
call
(
obj
)
===
"
[object Array]
"
;
};
}
var
forEach
;
if
(
_forEach
)
{
forEach
=
function
(
obj
,
callback
,
scope
)
{
return
_forEach
.
call
(
obj
,
callback
,
scope
);
};
}
else
{
forEach
=
function
(
obj
,
callback
,
scope
)
{
for
(
var
i
=
0
,
len
=
obj
.
length
;
i
<
len
;
++
i
)
{
callback
.
call
(
scope
,
obj
[
i
],
i
,
obj
);
}
};
}
var
spaceRe
=
/^
\s
*$/
;
function
isWhitespace
(
string
)
{
return
spaceRe
.
test
(
string
);
}
var
trim
;
if
(
_trim
)
{
trim
=
function
(
string
)
{
return
string
==
null
?
""
:
_trim
.
call
(
string
);
};
}
else
{
var
trimLeft
,
trimRight
;
if
(
isWhitespace
(
"
\
xA0
"
))
{
trimLeft
=
/^
\s
+/
;
trimRight
=
/
\s
+$/
;
}
else
{
// IE doesn't match non-breaking spaces with \s, thanks jQuery.
trimLeft
=
/^
[\s\x
A0
]
+/
;
trimRight
=
/
[\s\x
A0
]
+$/
;
}
trim
=
function
(
string
)
{
return
string
==
null
?
""
:
String
(
string
).
replace
(
trimLeft
,
""
).
replace
(
trimRight
,
""
);
};
}
var
escapeMap
=
{
"
&
"
:
"
&
"
,
"
<
"
:
"
<
"
,
"
>
"
:
"
>
"
,
'
"
'
:
'
"
'
,
"
'
"
:
'
'
'
};
function
escapeHTML
(
string
)
{
return
String
(
string
).
replace
(
/&
(?!\w
+;
)
|
[
<>"'
]
/g
,
function
(
s
)
{
return
escapeMap
[
s
]
||
s
;
});
}
/**
* Adds the `template`, `line`, and `file` properties to the given error
* object and alters the message to provide more useful debugging information.
*/
function
debug
(
e
,
template
,
line
,
file
)
{
file
=
file
||
"
<template>
"
;
var
lines
=
template
.
split
(
"
\n
"
),
start
=
Math
.
max
(
line
-
3
,
0
),
end
=
Math
.
min
(
lines
.
length
,
line
+
3
),
context
=
lines
.
slice
(
start
,
end
);
var
c
;
for
(
var
i
=
0
,
len
=
context
.
length
;
i
<
len
;
++
i
)
{
c
=
i
+
start
+
1
;
context
[
i
]
=
(
c
===
line
?
"
>>
"
:
"
"
)
+
context
[
i
];
}
e
.
template
=
template
;
e
.
line
=
line
;
e
.
file
=
file
;
e
.
message
=
[
file
+
"
:
"
+
line
,
context
.
join
(
"
\n
"
),
""
,
e
.
message
].
join
(
"
\n
"
);
return
e
;
}
/**
* Looks up the value of the given `name` in the given context `stack`.
*/
function
lookup
(
name
,
stack
,
defaultValue
)
{
if
(
name
===
"
.
"
)
{
return
stack
[
stack
.
length
-
1
];
}
var
names
=
name
.
split
(
"
.
"
);
var
lastIndex
=
names
.
length
-
1
;
var
target
=
names
[
lastIndex
];
var
value
,
context
,
i
=
stack
.
length
,
j
,
localStack
;
while
(
i
)
{
localStack
=
stack
.
slice
(
0
);
context
=
stack
[
--
i
];
j
=
0
;
while
(
j
<
lastIndex
)
{
context
=
context
[
names
[
j
++
]];
if
(
context
==
null
)
{
break
;
}
localStack
.
push
(
context
);
}
if
(
context
&&
typeof
context
===
"
object
"
&&
target
in
context
)
{
value
=
context
[
target
];
break
;
}
}
// If the value is a function, call it in the current context.
if
(
typeof
value
===
"
function
"
)
{
value
=
value
.
call
(
localStack
[
localStack
.
length
-
1
]);
}
if
(
value
==
null
)
{
return
defaultValue
;
}
return
value
;
}
function
renderSection
(
name
,
stack
,
callback
,
inverted
)
{
var
buffer
=
""
;
var
value
=
lookup
(
name
,
stack
);
if
(
inverted
)
{
// From the spec: inverted sections may render text once based on the
// inverse value of the key. That is, they will be rendered if the key
// doesn't exist, is false, or is an empty list.
if
(
value
==
null
||
value
===
false
||
(
isArray
(
value
)
&&
value
.
length
===
0
))
{
buffer
+=
callback
();
}
}
else
if
(
isArray
(
value
))
{
forEach
(
value
,
function
(
value
)
{
stack
.
push
(
value
);
buffer
+=
callback
();
stack
.
pop
();
});
}
else
if
(
typeof
value
===
"
object
"
)
{
stack
.
push
(
value
);
buffer
+=
callback
();
stack
.
pop
();
}
else
if
(
typeof
value
===
"
function
"
)
{
var
scope
=
stack
[
stack
.
length
-
1