1 /* 2 SPDX-FileCopyrightText: 2008 Michael Jansen <kde@michael-jansen.biz> 3 4 SPDX-License-Identifier: LGPL-2.0-or-later 5 */ 6 7 #include "kglobalshortcutinfo.h" 8 #include "kglobalshortcutinfo_p.h" 9 operator <<(QDBusArgument & argument,const KGlobalShortcutInfo & shortcut)10QDBusArgument &operator<<(QDBusArgument &argument, const KGlobalShortcutInfo &shortcut) 11 { 12 argument.beginStructure(); 13 /* clang-format off */ 14 argument << shortcut.uniqueName() 15 << shortcut.friendlyName() 16 << shortcut.componentUniqueName() 17 << shortcut.componentFriendlyName() 18 << shortcut.contextUniqueName() 19 << shortcut.contextFriendlyName(); 20 /* clang-format on */ 21 argument.beginArray(qMetaTypeId<int>()); 22 23 const QList<QKeySequence> keys = shortcut.keys(); 24 for (const QKeySequence &key : keys) { 25 argument << key[0]; 26 } 27 argument.endArray(); 28 argument.beginArray(qMetaTypeId<int>()); 29 30 const QList<QKeySequence> defaultKeys = shortcut.defaultKeys(); 31 for (const QKeySequence &key : defaultKeys) { 32 argument << key[0]; 33 } 34 argument.endArray(); 35 argument.endStructure(); 36 return argument; 37 } 38 operator >>(const QDBusArgument & argument,KGlobalShortcutInfo & shortcut)39const QDBusArgument &operator>>(const QDBusArgument &argument, KGlobalShortcutInfo &shortcut) 40 { 41 argument.beginStructure(); 42 /* clang-format off */ 43 argument >> shortcut.d->uniqueName 44 >> shortcut.d->friendlyName 45 >> shortcut.d->componentUniqueName 46 >> shortcut.d->componentFriendlyName 47 >> shortcut.d->contextUniqueName 48 >> shortcut.d->contextFriendlyName; 49 /* clang-format on */ 50 51 argument.beginArray(); 52 while (!argument.atEnd()) { 53 int key; 54 argument >> key; 55 shortcut.d->keys.append(QKeySequence(key)); 56 } 57 argument.endArray(); 58 argument.beginArray(); 59 while (!argument.atEnd()) { 60 int key; 61 argument >> key; 62 shortcut.d->defaultKeys.append(QKeySequence(key)); 63 } 64 argument.endArray(); 65 argument.endStructure(); 66 return argument; 67 } 68