17
17
18
18
#include " qgslinuxnative.h"
19
19
20
+ #include < QCoreApplication>
20
21
#include < QUrl>
21
22
#include < QString>
22
23
#include < QtDBus/QtDBus>
@@ -28,6 +29,12 @@ QgsNative::Capabilities QgsLinuxNative::capabilities() const
28
29
return NativeDesktopNotifications;
29
30
}
30
31
32
+ void QgsLinuxNative::initializeMainWindow ( QWindow * )
33
+ {
34
+ // Hardcoded desktop file value matching our official .deb packages
35
+ mDesktopFile = QStringLiteral ( " qgis.desktop" );
36
+ }
37
+
31
38
void QgsLinuxNative::openFileExplorerAndSelectFile ( const QString &path )
32
39
{
33
40
if ( !QDBusConnection::sessionBus ().isConnected () )
@@ -48,6 +55,50 @@ void QgsLinuxNative::openFileExplorerAndSelectFile( const QString &path )
48
55
}
49
56
}
50
57
58
+ void QgsLinuxNative::showUndefinedApplicationProgress ()
59
+ {
60
+ const QVariantMap properties
61
+ {
62
+ { QStringLiteral ( " progress-visible" ), true },
63
+ { QStringLiteral ( " progress" ), 0.0 }
64
+ };
65
+
66
+ QDBusMessage message = QDBusMessage::createSignal ( QStringLiteral ( " /org/qgis/UnityLauncher" ),
67
+ QStringLiteral ( " com.canonical.Unity.LauncherEntry" ),
68
+ QStringLiteral ( " Update" ) );
69
+ message.setArguments ( {mDesktopFile , properties} );
70
+ QDBusConnection::sessionBus ().send ( message );
71
+ }
72
+
73
+ void QgsLinuxNative::setApplicationProgress ( double progress )
74
+ {
75
+ const QVariantMap properties
76
+ {
77
+ { QStringLiteral ( " progress-visible" ), true },
78
+ { QStringLiteral ( " progress" ), progress / 100.0 }
79
+ };
80
+
81
+ QDBusMessage message = QDBusMessage::createSignal ( QStringLiteral ( " /org/qgis/UnityLauncher" ),
82
+ QStringLiteral ( " com.canonical.Unity.LauncherEntry" ),
83
+ QStringLiteral ( " Update" ) );
84
+ message.setArguments ( {mDesktopFile , properties} );
85
+ QDBusConnection::sessionBus ().send ( message );
86
+ }
87
+
88
+ void QgsLinuxNative::hideApplicationProgress ()
89
+ {
90
+ const QVariantMap properties
91
+ {
92
+ { QStringLiteral ( " progress-visible" ), false },
93
+ };
94
+
95
+ QDBusMessage message = QDBusMessage::createSignal ( QStringLiteral ( " /org/qgis/UnityLauncher" ),
96
+ QStringLiteral ( " com.canonical.Unity.LauncherEntry" ),
97
+ QStringLiteral ( " Update" ) );
98
+ message.setArguments ( {mDesktopFile , properties} );
99
+ QDBusConnection::sessionBus ().send ( message );
100
+ }
101
+
51
102
/* *
52
103
* Automatic marshaling of a QImage for org.freedesktop.Notifications.Notify
53
104
*
1 commit comments
nirvn commentedon Aug 8, 2018
Build broken due to qgsnative initializeMainWindow change in an earlier commit, fixing now.