on xenial help sign in
3rd review changes set.
commitfa0ad6079d12bda6110157b1734376746c625399 authorNick Dedekind <nicholas.dedekind@gmail.com> dateMon 17 Jun 2013, 13:27 (13 years ago) parentc025230
9 files changed+57−86
Panel/Indicators/client/indicatorsclient.cpp+2−1 main.cpp+3−2 modules/Unity/Indicators/CMakeLists.txt+2−20 modules/Unity/Indicators/Network/CMakeLists.txt+30−23 modules/Unity/Indicators/indicator.cpp+1−13 modules/Unity/Indicators/indicator.h+1−5 modules/Unity/Indicators/indicatorsmanager.cpp+5−8 modules/Unity/Indicators/indicatorsmodel.cpp+4−4 tests/modules/Unity/Indicators/indicatorsmanagertest.cpp+9−10
Panel/Indicators/client/indicatorsclient.cpp+2−1
@@ -29,8 +29,9 @@
2929void prependImportPaths(QQmlEngine *engine, const QStringList &paths)
3030{
3131 QStringList importPathList = engine->importPathList();
32− for (int i = paths.count()-1; i >= 0; i--)
32+ for (int i = paths.count()-1; i >= 0; i--) {
3333 importPathList.prepend(paths[i]);
34+ }
3435 engine->setImportPathList(importPathList);
3536}
3637
main.cpp+3−2
@@ -28,16 +28,17 @@
2828#include <libintl.h>
2929
3030// local
31−#include "MouseTouchAdaptor.h"
3231#include "paths.h"
32+#include "MouseTouchAdaptor.h"
3333
3434namespace {
3535
3636void prependImportPaths(QQmlEngine *engine, const QStringList &paths)
3737{
3838 QStringList importPathList = engine->importPathList();
39− for (int i = paths.count() -1; i >= 0; i--)
39+ for (int i = paths.count() -1; i >= 0; i--) {
4040 importPathList.prepend(paths[i]);
41+ }
4142 engine->setImportPathList(importPathList);
4243}
4344
modules/Unity/Indicators/CMakeLists.txt+2−20
@@ -1,32 +1,16 @@
11project(IndicatorsQml)
22
33pkg_check_modules(GLIB glib-2.0>=2.32)
4−pkg_check_modules(LIBNM_GLIB libnm-glib>=0.9.6)
5−pkg_check_modules(LIBNM_UTIL libnm-util>=0.9.6)
64pkg_check_modules(QMENUMODEL REQUIRED qmenumodel)
75find_package(Qt5Core REQUIRED)
86find_package(Qt5Quick REQUIRED)
97
10−if(LIBNM_GLIB_FOUND AND LIBNM_UTIL_FOUND AND GLIB_FOUND)
11− set(NETWORK_PLUGIN_ENABLED 1)
12−else()
13− set(NETWORK_PLUGIN_ENABLED 0)
14− message(WARNING "Missing glib or libnm dependency for the network plugin, not building")
15−endif()
16−
178add_subdirectory(qml)
18−
19−if(NETWORK_PLUGIN_ENABLED)
20− set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DNETWORK_PLUGIN_ENABLED" )
21−
22− add_subdirectory(Network)
23−endif()
9+add_subdirectory(Network)
2410
2511include_directories(
2612 ${CMAKE_CURRENT_SOURCE_DIR}
2713 ${CMAKE_CURRENT_BINARY_DIR}
28− ${Qt5Core_INCLUDE_DIRS}
29− ${Qt5Quick_INCLUDE_DIRS}
3014 ${GLIB_INCLUDE_DIRS}
3115 ${QMENUMODEL_INCLUDE_DIRS}
3216)
@@ -59,13 +43,11 @@ add_library(IndicatorsQml SHARED
5943set_target_properties(IndicatorsQml PROPERTIES COMPILE_FLAGS -fvisibility=default)
6044
6145target_link_libraries(IndicatorsQml
62− ${Qt5Core_LIBRARIES}
63− ${Qt5Quick_LIBRARIES}
6446 ${GOBJECT_LDFLAGS}
6547 ${QMENUMODEL_LDFLAGS}
6648)
6749
68−qt5_use_modules(IndicatorsQml Qml)
50+qt5_use_modules(IndicatorsQml Core Qml Quick)
6951
7052install(TARGETS IndicatorsQml
7153 DESTINATION ${SHELL_APP_DIR}/modules/Unity/Indicators
modules/Unity/Indicators/Network/CMakeLists.txt+30−23
@@ -1,30 +1,37 @@
11project(IndicatorsNetworkQml)
22
3−set(INDICATORS_NETWORK_SRC
4− networkagent.cpp
5− plugin.cpp
6− secret-agent.c
7−)
3+pkg_check_modules(LIBNM_GLIB libnm-glib>=0.9.6)
4+pkg_check_modules(LIBNM_UTIL libnm-util>=0.9.6)
85
9−add_library(IndicatorsNetworkQml MODULE
10− ${INDICATORS_NETWORK_SRC}
11−)
6+if(LIBNM_GLIB_FOUND AND LIBNM_UTIL_FOUND AND GLIB_FOUND)
7+ set(INDICATORS_NETWORK_SRC
8+ networkagent.cpp
9+ plugin.cpp
10+ secret-agent.c
11+ )
1212
13−qt5_use_modules(IndicatorsNetworkQml Core Qml Widgets)
13+ add_library(IndicatorsNetworkQml MODULE
14+ ${INDICATORS_NETWORK_SRC}
15+ )
1416
15−set_target_properties(IndicatorsNetworkQml PROPERTIES COMPILE_FLAGS -fPIC)
17+ qt5_use_modules(IndicatorsNetworkQml Core Qml Widgets)
1618
17−include_directories(
18− ${CMAKE_CURRENT_SOURCE_DIR}
19− ${GLIB_INCLUDE_DIRS}
20− ${QMENUMODEL_INCLUDE_DIRS}
21− ${LIBNM_GLIB_INCLUDE_DIRS}
22− ${LIBNM_UTIL_INCLUDE_DIRS}
23−)
19+ set_target_properties(IndicatorsNetworkQml PROPERTIES COMPILE_FLAGS -fPIC)
2420
25−target_link_libraries(IndicatorsNetworkQml
26− ${GLIB_LIBRARIES}
27− ${QMENUMODEL_LDFLAGS}
28− ${LIBNM_GLIB_LIBRARIES}
29− ${LIBNM_UTIL_LIBRARIES}
30−)
21+ include_directories(
22+ ${CMAKE_CURRENT_SOURCE_DIR}
23+ ${GLIB_INCLUDE_DIRS}
24+ ${QMENUMODEL_INCLUDE_DIRS}
25+ ${LIBNM_GLIB_INCLUDE_DIRS}
26+ ${LIBNM_UTIL_INCLUDE_DIRS}
27+ )
28+
29+ target_link_libraries(IndicatorsNetworkQml
30+ ${GLIB_LIBRARIES}
31+ ${QMENUMODEL_LDFLAGS}
32+ ${LIBNM_GLIB_LIBRARIES}
33+ ${LIBNM_UTIL_LIBRARIES}
34+ )
35+else()
36+ message(WARNING "Missing glib or libnm dependency for the network plugin, not building")
37+endif()
modules/Unity/Indicators/indicator.cpp+1−13
@@ -19,19 +19,7 @@
1919
2020#include "indicator.h"
2121
22−#include <QUrl>
23−#include <QtPlugin>
24−#include <QResource>
25−#include <QDebug>
26−#include <QFileInfo>
27−#include <QDir>
28−#include <QQmlEngine>
29−#include <QQmlContext>
30−#include <QJsonObject>
31−
32−#include <qdbusmenumodel.h>
33−#include <qdbusactiongroup.h>
34−#include <qstateaction.h>
22+#include <QStringList>
3523
3624Indicator::Indicator(QObject *parent)
3725 : QObject(parent)
modules/Unity/Indicators/indicator.h+1−5
@@ -25,10 +25,6 @@
2525#include <QSettings>
2626#include <memory>
2727
28−class QDBusActionGroup;
29−class QDBusMenuModel;
30−class QStateAction;
31−
3228class Indicator : public QObject
3329{
3430 Q_OBJECT
@@ -36,7 +32,7 @@ class Indicator : public QObject
3632 Q_PROPERTY(QVariant indicatorProperties READ indicatorProperties NOTIFY indicatorPropertiesChanged)
3733
3834public:
39− typedef std::shared_ptr<Indicator> Ptr;
35+ typedef QSharedPointer<Indicator> Ptr;
4036
4137 Indicator(QObject *parent = 0);
4238 virtual ~Indicator();
modules/Unity/Indicators/indicatorsmanager.cpp+5−8
@@ -244,20 +244,17 @@ Indicator::Ptr IndicatorsManager::indicator(const QString& indicator)
244244 if (!m_indicatorsData.contains(indicator))
245245 {
246246 qWarning() << Q_FUNC_INFO << "Invalid plugin name: " << indicator;
247− return 0;
247+ return Indicator::Ptr();
248248 }
249249
250250 IndicatorData *data = m_indicatorsData[indicator];
251251 if (data->m_indicator)
252252 return data->m_indicator;
253253
254− Indicator::Ptr plugin = std::make_shared<Indicator>(this);
255− if (plugin)
256− {
257− data->m_indicator = plugin;
258− QSettings settings(data->m_fileInfo.absoluteFilePath(), QSettings::IniFormat, this);
259− plugin->init(data->m_fileInfo.fileName(), settings);
260− }
254+ Indicator::Ptr plugin(new Indicator(this));
255+ data->m_indicator = plugin;
256+ QSettings settings(data->m_fileInfo.absoluteFilePath(), QSettings::IniFormat, this);
257+ plugin->init(data->m_fileInfo.fileName(), settings);
261258 return plugin;
262259}
263260
modules/Unity/Indicators/indicatorsmodel.cpp+4−4
@@ -139,8 +139,8 @@ void IndicatorsModel::onIndicatorLoaded(const QString& indicator)
139139 pos++;
140140 }
141141
142− QObject::connect(plugin.get(), SIGNAL(identifierChanged(const QString&)), this, SLOT(onIdentifierChanged()));
143− QObject::connect(plugin.get(), SIGNAL(indicatorPropertiesChanged(const QVariant&)), this, SLOT(onIndicatorPropertiesChanged()));
142+ QObject::connect(plugin.data(), SIGNAL(identifierChanged(const QString&)), this, SLOT(onIdentifierChanged()));
143+ QObject::connect(plugin.data(), SIGNAL(indicatorPropertiesChanged(const QVariant&)), this, SLOT(onIndicatorPropertiesChanged()));
144144
145145 beginInsertRows(QModelIndex(), pos, pos);
146146
@@ -193,7 +193,7 @@ void IndicatorsModel::notifyDataChanged(QObject *sender, int role)
193193 QMutableListIterator<Indicator::Ptr> iter(m_plugins);
194194 while(iter.hasNext())
195195 {
196− if (iter.next().get() == plugin)
196+ if (iter.next().data() == plugin)
197197 {
198198 QModelIndex changedIndex = this->index(index);
199199 dataChanged(changedIndex, changedIndex, QVector<int>() << role);
@@ -269,7 +269,7 @@ QVariant IndicatorsModel::data(const QModelIndex &index, int role) const
269269 }
270270 break;
271271 case IsValid:
272− return (plugin.get() ? true : false);
272+ return (plugin ? true : false);
273273 case Priority:
274274 case Title:
275275 case Description:
tests/modules/Unity/Indicators/indicatorsmanagertest.cpp+9−10
@@ -69,7 +69,7 @@ private Q_SLOTS:
6969 manager.load();
7070
7171 Indicator::Ptr indicator = manager.indicator("indicator-fake1");
72− QVERIFY(indicator.get());
72+ QVERIFY(indicator ? true : false);
7373
7474 QCOMPARE(indicator->identifier(), QString("indicator-fake1"));
7575
@@ -113,25 +113,24 @@ private Q_SLOTS:
113113 IndicatorsManager manager;
114114 manager.load();
115115
116− QPointer<QObject> pi0;
117− QPointer<QObject> pi1;
116+ QWeakPointer<Indicator> wp0;
117+ QWeakPointer<Indicator> wp1;
118118 {
119119 Indicator::Ptr i0 = manager.indicator("indicator-fake1");
120− pi0 = dynamic_cast<QObject*>(i0.get());
120+ wp0 = i0.toWeakRef();
121121
122122 Indicator::Ptr i1 = manager.indicator("indicator-fake1");
123− pi1 = dynamic_cast<QObject*>(i1.get());
123+ wp1 = i1.toWeakRef();
124124
125125 manager.unload();
126126 // still alive while we have the shared pointers.
127− QVERIFY(!pi0.isNull());
128− QVERIFY(!pi1.isNull());
129−
127+ QVERIFY(!wp0.isNull());
128+ QVERIFY(!wp1.isNull());
130129 }
131130
132131 // no more smart pointers. should have been released.
133− QVERIFY(pi0.isNull());
134− QVERIFY(pi1.isNull());
132+ QVERIFY(wp0.isNull());
133+ QVERIFY(wp1.isNull());
135134 }
136135};
137136