Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
What's new
10
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Open sidebar
Weixuan Xiao
kdeconnect-kde
Commits
669edf8e
Commit
669edf8e
authored
Jul 02, 2013
by
Albert Vaca Cintora
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
It even works now
parent
5fbd33e8
Changes
8
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
50 additions
and
21 deletions
+50
-21
daemon/announcers/avahiannouncer.cpp
daemon/announcers/avahiannouncer.cpp
+7
-3
daemon/daemon.cpp
daemon/daemon.cpp
+20
-9
daemon/daemon.h
daemon/daemon.h
+7
-4
daemon/devicelinks/udpdevicelink.cpp
daemon/devicelinks/udpdevicelink.cpp
+2
-0
daemon/networkpackage.cpp
daemon/networkpackage.cpp
+3
-1
kcm/devicesmodel.cpp
kcm/devicesmodel.cpp
+1
-0
kcm/kcm.cpp
kcm/kcm.cpp
+5
-1
kcm/wizard.cpp
kcm/wizard.cpp
+5
-3
No files found.
daemon/announcers/avahiannouncer.cpp
View file @
669edf8e
...
...
@@ -35,14 +35,14 @@ AvahiAnnouncer::AvahiAnnouncer()
connect
(
mUdpSocket
,
SIGNAL
(
readyRead
()),
this
,
SLOT
(
readPendingNotifications
()));
qDebug
()
<<
"
l
istening to udp messages"
;
qDebug
()
<<
"
L
istening to udp messages"
;
}
void
AvahiAnnouncer
::
readPendingNotifications
()
{
qDebug
()
<<
"readPendingNotifications"
;
qDebug
()
<<
"
AvahiAnnouncer
readPendingNotifications"
;
while
(
mUdpSocket
->
hasPendingDatagrams
())
{
...
...
@@ -53,17 +53,21 @@ void AvahiAnnouncer::readPendingNotifications()
mUdpSocket
->
readDatagram
(
datagram
.
data
(),
datagram
.
size
(),
&
sender
,
&
senderPort
);
//log.write(datagram);
qDebug
()
<<
(
"AvahiAnnouncer incomming udp datagram: "
+
datagram
)
;
qDebug
()
<<
"AvahiAnnouncer incomming udp datagram: "
<<
datagram
;
NetworkPackage
np
=
NetworkPackage
::
fromString
(
datagram
);
QString
id
=
np
.
deviceId
();
QString
name
=
np
.
body
();
qDebug
()
<<
"AvahiAnnouncer creating link to device"
<<
name
;
Device
*
device
=
new
Device
(
id
,
name
);
DeviceLink
*
dl
=
new
UdpDeviceLink
(
device
,
sender
,
10600
);
links
.
append
(
dl
);
qDebug
()
<<
"Emitting link"
<<
name
;
emit
deviceConnection
(
dl
);
}
...
...
daemon/daemon.cpp
View file @
669edf8e
...
...
@@ -28,9 +28,10 @@
#include <QtNetwork/QUdpSocket>
#include <QFile>
#include <QDBusConnection>
#include <KDE/KIcon>
#include <KIcon>
#include <KConfigGroup>
#include <sstream>
#include <iomanip>
...
...
@@ -53,6 +54,7 @@ void Daemon::linkTo(DeviceLink* dl)
Daemon
::
Daemon
(
QObject
*
parent
,
const
QList
<
QVariant
>&
)
:
KDEDModule
(
parent
)
,
config
(
KSharedConfig
::
openConfig
(
"kdeconnectrc"
))
{
qDebug
()
<<
"GO GO GO!"
;
...
...
@@ -69,8 +71,16 @@ Daemon::Daemon(QObject *parent, const QList<QVariant>&)
//TODO: Add package emitters
//TODO: Read paired devices from config
//pairedDevices.push_back(new Device("MyAndroid","MyAndroid"));
//Read remebered paired devices
const
KConfigGroup
&
known
=
config
->
group
(
"devices"
).
group
(
"paired"
);
const
QStringList
&
list
=
known
.
groupList
();
const
QString
defaultName
(
"unnamed"
);
Q_FOREACH
(
QString
id
,
list
)
{
const
KConfigGroup
&
data
=
known
.
group
(
id
);
const
QString
&
name
=
data
.
readEntry
<
QString
>
(
"name"
,
defaultName
);
pairedDevices
.
push_back
(
new
Device
(
id
,
name
));
}
QDBusConnection
::
sessionBus
().
registerService
(
"org.kde.kdeconnect"
);
...
...
@@ -116,6 +126,8 @@ bool Daemon::pairDevice(QString id)
{
if
(
!
visibleDevices
.
contains
(
id
))
return
false
;
config
->
group
(
"devices"
).
group
(
"paired"
).
group
(
id
).
writeEntry
(
"name"
,
visibleDevices
[
id
]
->
device
()
->
name
());
linkTo
(
visibleDevices
[
id
]);
return
true
;
...
...
@@ -139,6 +151,8 @@ QString Daemon::listLinkedDevices()
void
Daemon
::
deviceConnection
(
DeviceLink
*
dl
)
{
qDebug
()
<<
"deviceConnection"
;
QString
id
=
dl
->
device
()
->
id
();
bool
paired
=
false
;
Q_FOREACH
(
Device
*
d
,
pairedDevices
)
{
...
...
@@ -151,15 +165,12 @@ void Daemon::deviceConnection(DeviceLink* dl)
visibleDevices
[
dl
->
device
()
->
id
()]
=
dl
;
if
(
paired
)
{
qDebug
()
<<
"Known device connected"
+
dl
->
device
()
->
name
();
qDebug
()
<<
"Known device connected"
<<
dl
->
device
()
->
name
();
linkTo
(
dl
);
}
else
{
qDebug
()
<<
"Unknown device connected"
+
dl
->
device
()
->
name
();
qDebug
()
<<
"Unknown device connected"
<<
dl
->
device
()
->
name
();
emit
deviceDiscovered
(
dl
->
device
()
->
id
(),
dl
->
device
()
->
name
());
//linkTo(dl);
}
}
...
...
daemon/daemon.h
View file @
669edf8e
...
...
@@ -26,8 +26,8 @@
#include <QRegExp>
#include <map>
#include <
KDE/
KDEDModule>
#include <
KDE/
KNotification>
#include <KDEDModule>
#include <KNotification>
#include "networkpackage.h"
#include <KDE/KPluginFactory>
...
...
@@ -36,6 +36,8 @@
#include <QSet>
#include <KConfig>
#include "device.h"
#include "packagereceivers/packagereceiver.h"
#include "devicelinks/devicelink.h"
...
...
@@ -65,8 +67,6 @@ public Q_SLOTS:
Q_SCRIPTABLE
bool
pairDevice
(
QString
id
);
/*
Q_SCRIPTABLE QString listPairedDevices(QString id);
...
...
@@ -82,8 +82,11 @@ Q_SIGNALS:
private:
void
linkTo
(
DeviceLink
*
dl
);
KSharedConfigPtr
config
;
//(Non paired?) visible devices
QMap
<
QString
,
DeviceLink
*>
visibleDevices
;
...
...
daemon/devicelinks/udpdevicelink.cpp
View file @
669edf8e
...
...
@@ -37,6 +37,8 @@ UdpDeviceLink::UdpDeviceLink(Device* d, QHostAddress ip, quint16 port)
void
UdpDeviceLink
::
readPendingNotifications
()
{
qDebug
()
<<
"UdpDeviceLink readPendingNotifications"
;
while
(
mUdpSocket
->
hasPendingDatagrams
())
{
QByteArray
datagram
;
...
...
daemon/networkpackage.cpp
View file @
669edf8e
...
...
@@ -36,7 +36,7 @@ NetworkPackage NetworkPackage::fromString(QByteArray s)
long
id
;
ss
>>
id
;
qDebug
()
<<
"
R
ec
eiv
ing package with id:
"
<<
id
;
//
qDebug() << "
D
ec
od
ing package with id:" << id;
NetworkPackage
pp
(
id
);
...
...
@@ -59,6 +59,8 @@ NetworkPackage NetworkPackage::fromString(QByteArray s)
ss
>>
pp
.
mIsCancel
;
qDebug
()
<<
"Decoded package with id:"
<<
id
;
return
pp
;
}
...
...
kcm/devicesmodel.cpp
View file @
669edf8e
...
...
@@ -69,6 +69,7 @@ void DevicesModel::addDevice(QString id, QString name, DevicesModel::DeviceStatu
setData
(
index
(
rown
,
0
),
QVariant
(
id
),
IdModelRole
);
setData
(
index
(
rown
,
0
),
QVariant
(
name
),
NameModelRole
);
setData
(
index
(
rown
,
0
),
QVariant
(
PairedConnected
),
StatusModelRole
);
qDebug
()
<<
"Add device"
<<
name
;
emit
dataChanged
(
index
(
rown
,
0
),
index
(
rown
,
0
));
}
...
...
kcm/kcm.cpp
View file @
669edf8e
...
...
@@ -82,7 +82,11 @@ void KdeConnectKcm::removeButtonClicked()
void
KdeConnectKcm
::
deviceAdded
(
QString
id
,
QString
name
)
{
qDebug
()
<<
"Succesfully paired: "
+
id
;
pairedDevicesList
.
addDevice
(
id
,
name
,
DevicesModel
::
PairedConnected
);
//TODO: Do not use kconf directly but talk to daemon
dbusInterface
.
pairDevice
(
id
);
pairedDevicesList
.
loadPaired
();
}
void
KdeConnectKcm
::
currentChanged
(
const
QModelIndex
&
current
,
const
QModelIndex
&
previous
)
...
...
kcm/wizard.cpp
View file @
669edf8e
...
...
@@ -54,10 +54,11 @@ AddDeviceWizard::AddDeviceWizard(QWidget* parent)
void
AddDeviceWizard
::
wizardFinished
()
{
if
(
selectedIndex
.
row
()
>
0
&&
selectedIndex
.
row
()
<
discoveredDevicesList
->
rowCount
())
{
if
(
selectedIndex
.
isValid
()
&&
selectedIndex
.
row
()
>=
0
&&
selectedIndex
.
row
()
<
discoveredDevicesList
->
rowCount
())
{
QString
name
=
discoveredDevicesList
->
data
(
selectedIndex
,
DevicesModel
::
NameModelRole
).
toString
();
QString
id
=
discoveredDevicesList
->
data
(
selectedIndex
,
DevicesModel
::
IdModelRole
).
toString
();
emit
deviceAdded
(
name
,
id
);
emit
deviceAdded
(
id
,
name
);
}
}
...
...
@@ -72,6 +73,7 @@ void AddDeviceWizard::pageChanged(int id)
void
AddDeviceWizard
::
deviceDiscovered
(
QString
id
,
QString
name
)
{
qDebug
()
<<
"Discovered"
<<
name
;
discoveredDevicesList
->
addDevice
(
id
,
name
,
DevicesModel
::
Visible
);
}
/*
...
...
@@ -100,7 +102,7 @@ void AddDeviceWizard::show()
void
AddDeviceWizard
::
deviceSelected
(
const
QModelIndex
&
index
)
{
qDebug
()
<<
"Selected:
"
+
index
.
row
();
qDebug
()
<<
"Selected:"
<<
index
.
row
();
selectedIndex
=
index
;
next
();
}
...
...
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