Codebase list ktp-contact-runner / d98ccb5
Imported Upstream version 15.04.0 Maximiliano Curia 8 years ago
6 changed file(s) with 56 addition(s) and 50 deletion(s). Raw diff Collapse all Expand all
0 *.kdev4
1 *~
2 build
0 REVIEWBOARD_URL = "https://git.reviewboard.kde.org"
1 REPOSITORY = 'git://anongit.kde.org/ktp-contact-runner'
00 project(KTPContactRunner)
11
2 set(KTP_CONTACT_RUNNER_VERSION "0.8.80")
2 cmake_minimum_required(VERSION 2.8.12)
3
4 set(KTP_CONTACT_RUNNER_VERSION "15.04.0")
35 set(IS_KTP_INTERNAL_MODULE TRUE)
46
5 set(CMAKE_MODULE_PATH
6 ${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules
7 ${CMAKE_MODULE_PATH})
7 find_package(ECM 1.0.0 REQUIRED NO_MODULE)
8 set (CMAKE_MODULE_PATH
9 ${ECM_MODULE_PATH} ${ECM_KDE_MODULE_DIR} ${CMAKE_MODULE_PATH}
10 )
811 cmake_policy(SET CMP0002 OLD)
912
1013 # Find the required Libaries
11 find_package(KDE4 REQUIRED)
12 find_package(TelepathyQt4 0.9.1 REQUIRED)
13 find_package(KTp REQUIRED)
14 include(KDE4Defaults)
14 find_package (Qt5 REQUIRED CONFIG COMPONENTS Widgets Core DBus Network)
15 find_package (KF5 REQUIRED COMPONENTS I18n Service Runner)
16 find_package (KTp REQUIRED)
1517
18 include(KDEInstallDirs)
19 include(KDECMakeSettings)
20 include(KDECompilerSettings)
21 include(FeatureSummary)
1622
17 add_definitions (${QT_DEFINITIONS} ${KDE4_DEFINITIONS})
1823 include_directories(
1924 ${CMAKE_SOURCE_DIR}
2025 ${CMAKE_BINARY_DIR}
21 ${KDE4_INCLUDES}
22 ${TELEPATHY_QT4_INCLUDE_DIR}
23 ${KTP_INCLUDE_DIR}
2426 )
2527
2628 # We add our source code here
2729 set(runner_SRCS src/contactrunner.cpp)
2830
29 kde4_add_plugin(krunner_ktp_contacts ${runner_SRCS})
31 add_library(krunner_ktp_contacts MODULE ${runner_SRCS})
3032 target_link_libraries(krunner_ktp_contacts
31 ${KDE4_PLASMA_LIBS}
32 ${KDE4_KIO_LIBS}
33 ${TELEPATHY_QT4_LIBRARIES}
34 ${KTP_MODELS_LIBRARIES}
35 ${KTP_LIBRARIES})
33 Qt5::Widgets
34 KF5::I18n
35 KF5::Service
36 KF5::Runner
37 KTp::Models
38 KTp::CommonInternals)
3639
3740 install(TARGETS krunner_ktp_contacts
3841 DESTINATION ${PLUGIN_INSTALL_DIR})
4548 DESTINATION ${SERVICES_INSTALL_DIR}
4649 )
4750
48 find_package(Msgfmt REQUIRED)
49 find_package(Gettext REQUIRED)
50 add_subdirectory( po )
00 [Desktop Entry]
11 Name=Instant Messaging
2 Name[ast]=Mensaxería nel intre
23 Name[bs]=Brze poruke
34 Name[ca]=Missatgeria instantània
45 Name[ca@valencia]=Missatgeria instantània
5253 Comment[es]=Iniciar una conversación con cualquiera de sus contactos de MI o cambiar su estado de MI
5354 Comment[et]=Vestluse alustamine mõne oma kiirsuhtluskontaktiga või enda kiirsuhtlusoleku muutmine
5455 Comment[fi]=Aloita keskustelu muun pikaviestinkäyttäjän kanssa tai vaihda pikaviestintilaasi
55 Comment[fr]=Démarre une discussion avec n'importe lequel de vos contacts de messagerie instantanée ou change l'état de celle-ci
56 Comment[fr]=Démarre une conversation avec n'importe lequel de vos contacts de messagerie instantanée ou change l'état de celle-ci
5657 Comment[gl]=Inicie unha conversa con calquera dos seus contactos ou cambie seu estado na IM
5758 Comment[hu]=Csevegés indítása az azonnali üzenetküldési partnerei valamelyikével vagy az azonnali üzenetküldési állapotának módosítása
5859 Comment[ia]=Initia conversation con qualcunque de tu contactos de IM o modifica tu status de IM
1818
1919 #include "contactrunner.h"
2020
21 #include <KDebug>
22 #include <KFileDialog>
23 #include <KMimeType>
24 #include <KToolInvocation>
25 #include <KStandardDirs>
21 #include <QDebug>
22 #include <QFileDialog>
23 #include <QStandardPaths>
24
25 #include <KLocalizedString>
2626
2727 #include <TelepathyQt/ContactManager>
2828 #include <TelepathyQt/Contact>
4343 #include <KTp/contact-factory.h>
4444 #include <KTp/contact.h>
4545
46 Q_LOGGING_CATEGORY(KTP_CONTACT_RUNNER, "ktp-contact-runner")
47
4648 struct MatchInfo {
4749 Tp::AccountPtr account;
4850 Tp::ContactPtr contact;
6062
6163 setObjectName(QLatin1String("IM Contacts Runner"));
6264
63 m_loggerDisabled = KStandardDirs::findExe(QLatin1String("ktp-log-viewer")).isEmpty();
65 m_loggerDisabled = QStandardPaths::findExecutable(QLatin1String("ktp-log-viewer")).isEmpty();
6466
6567 addSyntax(Plasma::RunnerSyntax(QLatin1String(":q:"), i18n("Finds all IM contacts matching :q:.")));
6668 addSyntax(Plasma::RunnerSyntax(QLatin1String("chat :q:"), i18n("Finds all contacts matching :q: that are capable of text chats (default behavior)")));
134136 void ContactRunner::accountManagerReady(Tp::PendingOperation *operation)
135137 {
136138 if (operation->isError()) {
137 kWarning() << operation->errorMessage();
139 qCWarning(KTP_CONTACT_RUNNER) << operation->errorMessage();
138140 return;
139141 }
140142
141 kDebug() << "Accounts manager is ready!";
142
143143 m_globalPresence->setAccountManager(m_accountManager);
144144 }
145145
146 QList< QAction* > ContactRunner::actionsForMatch(const Plasma::QueryMatch &match)
147 {
148 QList< QAction* > actions;
149
150 MatchInfo data = match.data().value< MatchInfo >();
146 QList<QAction*> ContactRunner::actionsForMatch(const Plasma::QueryMatch &match)
147 {
148 QList<QAction*> actions;
149
150 MatchInfo data = match.data().value<MatchInfo>();
151151 if (!data.contact) {
152152 return actions;
153153 }
215215 }
216216
217217 if (!data.account || !data.contact) {
218 kWarning() << "Running invalid contact info";
218 qCWarning(KTP_CONTACT_RUNNER) << "Running invalid contact info";
219219 return;
220220 }
221221
231231 KTp::Actions::startAudioVideoCall(account, contact);
232232 } else if (match.selectedAction() == action("start-file-transfer")) {
233233
234 QStringList filenames = KFileDialog::getOpenFileNames(
235 KUrl("kfiledialog:///FileTransferLastDirectory"),
236 QString(),
237 0,
238 i18n("Choose files to send to %1", contact->alias()));
234 QStringList filenames = QFileDialog::getOpenFileNames(0,
235 i18n("Choose files to send to %1", contact->alias()),
236 QStringLiteral("kfiledialog:///FileTransferLastDirectory"));
239237
240238 if (filenames.isEmpty()) { // User hit cancel button
241239 return;
404402 match.setSelectedAction(defaultAction);
405403 match.setRelevance(relevance);
406404
407 context.addMatch(term, match);
405 context.addMatch(match);
408406 }
409407 }
410408 }
507505
508506 match.setData(qVariantFromValue(data));
509507
510 context.addMatch(context.query(), match);
511 }
508 context.addMatch(match);
509 }
510
511 K_EXPORT_PLASMA_RUNNER(ktp_contacts, ContactRunner)
512512
513513 #include "contactrunner.moc"
1919 #ifndef KTPCONTACTRUNNER_H
2020 #define KTPCONTACTRUNNER_H
2121
22 #include <QtCore/QModelIndex>
22 #include <QModelIndex>
23 #include <QLoggingCategory>
2324
24 #include <Plasma/AbstractRunner>
25 #include <KIcon>
25 #include <KRunner/AbstractRunner>
2626
2727 #include <TelepathyQt/AccountManager>
28
29 Q_DECLARE_LOGGING_CATEGORY(KTP_CONTACT_RUNNER)
2830
2931 namespace KTp
3032 {
7880 bool m_loggerDisabled;
7981 };
8082
81 K_EXPORT_PLASMA_RUNNER(ktp_contacts, ContactRunner)
82
8383 #endif /* KTPCONTACTRUNNER_H */