File: helpers.h

package info (click to toggle)
syncthingtray 2.0.9-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 13,124 kB
  • sloc: cpp: 34,081; xml: 1,705; java: 1,258; sh: 97; javascript: 54; makefile: 25
file content (28 lines) | stat: -rw-r--r-- 1,757 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#ifndef SYNCTHINGWIDGETS_QUICK_HELPERS_H
#define SYNCTHINGWIDGETS_QUICK_HELPERS_H

#include <syncthingconnector/syncthingconnection.h>

namespace QtGui {

template <typename App, typename AppService> void connectAppAndService(App &quickApp, AppService &appService)
{
    QObject::connect(&quickApp, &App::syncthingTerminationRequested, &appService, &AppService::terminateSyncthing);
    QObject::connect(&quickApp, &App::syncthingRestartRequested, &appService, &AppService::restartSyncthing);
    QObject::connect(&quickApp, &App::syncthingShutdownRequested, &appService, &AppService::shutdownSyncthing);
    QObject::connect(&quickApp, &App::syncthingConnectRequested, appService.connection(),
        static_cast<void (Data::SyncthingConnection::*)()>(&Data::SyncthingConnection::connect));
    QObject::connect(&quickApp, &App::syncthingReconnectRequested, appService.connection(),
        static_cast<void (Data::SyncthingConnection::*)()>(&Data::SyncthingConnection::reconnect));
    QObject::connect(&quickApp, &App::settingsReloadRequested, &appService, &AppService::reloadSettings);
    QObject::connect(&quickApp, &App::launcherStatusRequested, &appService, &AppService::broadcastLauncherStatus);
    QObject::connect(&quickApp, &App::clearLogRequested, &appService, &AppService::clearLog);
    QObject::connect(&quickApp, &App::replayLogRequested, &appService, &AppService::replayLog);
    QObject::connect(&appService, &AppService::launcherStatusChanged, &quickApp, &App::handleLauncherStatusBroadcast);
    QObject::connect(&appService, &AppService::logsAvailable, &quickApp, &App::logsAvailable);
    QObject::connect(&appService, &AppService::error, &quickApp, &App::error);
}

} // namespace QtGui

#endif // SYNCTHINGWIDGETS_QUICK_HELPERS_H