Skip to content

Commit 4b3f74f

Browse files
committed
Do not start on DBus error.
1 parent 0df1214 commit 4b3f74f

5 files changed

Lines changed: 96 additions & 56 deletions

File tree

src/diskmanager.cpp

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ namespace {
8585
}
8686

8787
DiskManager::DiskManager(QObject *parent) :
88-
QObject(parent)
88+
QObject(parent), ready(false)
8989
{
9090
udisks = new UDisksInterface(UDISKS_SERVICE,
9191
UDISKS_PATH,
@@ -102,10 +102,11 @@ DiskManager::DiskManager(QObject *parent) :
102102

103103
if (devs.isError())
104104
{
105-
qDebug() << devs.error();
105+
qCritical() << devs.error();
106106
}
107107
else
108108
{
109+
ready = true;
109110
foreach(const QDBusObjectPath& d, devs.value())
110111
{
111112
DeviceInfoPtr info = deviceForPath(d);

src/diskmanager.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,8 @@ class DiskManager : public QObject
6969

7070
explicit DiskManager(QObject *parent = 0);
7171

72+
bool isReady() const { return ready; }
73+
7274
typedef QList<DeviceInfoPtr> Devices;
7375
typedef QMap<QString, DeviceInfoPtr> DeviceMap;
7476

@@ -101,6 +103,7 @@ private slots:
101103
private:
102104
UDisksInterface* udisks;
103105
DeviceMap deviceCache;
106+
bool ready;
104107
};
105108

106109
#endif // DISKMANAGER_H

src/tinymounttray.cpp

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -138,6 +138,12 @@ TinyMountTray::~TinyMountTray()
138138

139139
void TinyMountTray::reloadDevices()
140140
{
141+
if (!manager->isReady()) {
142+
QMessageBox::critical(0, tr("TinyMount statup error"),
143+
tr("TinyMount cannot be started. Possible DBus daemon is not running or UDisks is not installed."));
144+
QApplication::quit();
145+
}
146+
141147
trayMenu->clear();
142148

143149
bool showSystem = SettingsManager::instance().getSettings().showSystemDisks;
@@ -286,7 +292,7 @@ void TinyMountTray::onUnmountDone(const DeviceInfo &device, int status)
286292
void TinyMountTray::showAbout()
287293
{
288294
QMessageBox::about(0, tr("TinyMount, version %1").arg(TINYMOUNT_VERSION),
289-
tr("Copyright (c) 2012 Mike Limansky\n\n"
295+
tr("Copyright (c) 2012-2014 Mike Limansky\n\n"
290296
"Use and redistribute under terms of the GNU General Public License Version 2."));
291297
}
292298

src/translations/tinymount_ru.ts

Lines changed: 42 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
<message>
2525
<location filename="../tinymounttray.cpp" line="78"/>
2626
<source>DBus error</source>
27-
<translation type="unfinished">Ошибка DBus</translation>
27+
<translation>Ошибка DBus</translation>
2828
</message>
2929
<message>
3030
<location filename="../tinymounttray.cpp" line="81"/>
@@ -143,6 +143,11 @@ p, li { white-space: pre-wrap; }
143143
<source>Detach devices after unmount</source>
144144
<translation>Отключать устройство</translation>
145145
</message>
146+
<message>
147+
<location filename="../settingsdialog.ui" line="124"/>
148+
<source>Force unmount if device is busy</source>
149+
<translation type="unfinished"></translation>
150+
</message>
146151
<message>
147152
<location filename="../settingsdialog.cpp" line="19"/>
148153
<source>Use system notifications</source>
@@ -152,94 +157,104 @@ p, li { white-space: pre-wrap; }
152157
<context>
153158
<name>TinyMountTray</name>
154159
<message>
155-
<location filename="../main.cpp" line="156"/>
156-
<location filename="../tinymounttray.cpp" line="282"/>
160+
<location filename="../main.cpp" line="158"/>
161+
<location filename="../tinymounttray.cpp" line="294"/>
157162
<source>TinyMount, version %1</source>
158163
<translation>TinyMount, версия %1</translation>
159164
</message>
160165
<message>
161-
<location filename="../tinymounttray.cpp" line="184"/>
166+
<location filename="../tinymounttray.cpp" line="190"/>
162167
<source>About...</source>
163168
<translation>О программе...</translation>
164169
</message>
165170
<message>
166-
<location filename="../tinymounttray.cpp" line="185"/>
171+
<location filename="../tinymounttray.cpp" line="191"/>
167172
<source>Quit</source>
168173
<translation>Выход</translation>
169174
</message>
170175
<message>
171-
<location filename="../tinymounttray.cpp" line="195"/>
176+
<location filename="../tinymounttray.cpp" line="201"/>
172177
<source>Device is added</source>
173178
<translation>Устройство добавлено</translation>
174179
</message>
175180
<message>
176-
<location filename="../tinymounttray.cpp" line="196"/>
181+
<location filename="../tinymounttray.cpp" line="202"/>
177182
<source>Device %1 is added</source>
178183
<translation>Добавлено устройство %1</translation>
179184
</message>
180185
<message>
181-
<location filename="../tinymounttray.cpp" line="210"/>
186+
<location filename="../tinymounttray.cpp" line="216"/>
182187
<source>Device is removed</source>
183188
<translation>Устройство удалено</translation>
184189
</message>
185190
<message>
186-
<location filename="../tinymounttray.cpp" line="211"/>
191+
<location filename="../tinymounttray.cpp" line="217"/>
187192
<source>Device %1 is removed</source>
188193
<translation>Устройство %1 удалено</translation>
189194
</message>
190195
<message>
191-
<location filename="../tinymounttray.cpp" line="244"/>
196+
<location filename="../tinymounttray.cpp" line="250"/>
192197
<source>Device is mounted</source>
193198
<translation>Устройство смонтировано</translation>
194199
</message>
195200
<message>
196-
<location filename="../tinymounttray.cpp" line="245"/>
201+
<location filename="../tinymounttray.cpp" line="251"/>
197202
<source>%1 is mounted to %2.</source>
198203
<translation>%1 смонтирован в %2.</translation>
199204
</message>
200205
<message>
201-
<location filename="../tinymounttray.cpp" line="251"/>
206+
<location filename="../tinymounttray.cpp" line="257"/>
202207
<source>%1 mounting error. %2.</source>
203208
<translation>Не могу смонтировать %1. %2.</translation>
204209
</message>
205210
<message>
206-
<location filename="../tinymounttray.cpp" line="265"/>
211+
<location filename="../tinymounttray.cpp" line="272"/>
207212
<source>%1 is unmounted successfuly.</source>
208213
<translation>%1 успешно отмонтирован.</translation>
209214
</message>
210215
<message>
211-
<location filename="../tinymounttray.cpp" line="275"/>
216+
<location filename="../tinymounttray.cpp" line="287"/>
212217
<source>Failed to unmount %1. %2.</source>
213218
<translation>Не могу отмонтировать %1. %2.</translation>
214219
</message>
215220
<message>
216-
<location filename="../tinymounttray.cpp" line="250"/>
221+
<location filename="../tinymounttray.cpp" line="295"/>
222+
<source>Copyright (c) 2012-2014 Mike Limansky
223+
224+
Use and redistribute under terms of the GNU General Public License Version 2.</source>
225+
<translation>Copyright (c) 2012-2014 Mike Limansky
226+
227+
Использование и распространение на условиях GNU General Public License версия 2.</translation>
228+
</message>
229+
<message>
230+
<location filename="../tinymounttray.cpp" line="256"/>
217231
<source>Mount failed</source>
218232
<translation>Ошибка монтирования</translation>
219233
</message>
220234
<message>
221-
<location filename="../tinymounttray.cpp" line="183"/>
235+
<location filename="../tinymounttray.cpp" line="142"/>
236+
<source>TinyMount statup error</source>
237+
<translation>Ошибка запуска TinyMount</translation>
238+
</message>
239+
<message>
240+
<location filename="../tinymounttray.cpp" line="143"/>
241+
<source>TinyMount cannot be started. Possible DBus daemon is not running or UDisks is not installed.</source>
242+
<translation>TinyMount не может быть запущен. Возможно, не запущен демон DBus или не установлен сервис UDisks.</translation>
243+
</message>
244+
<message>
245+
<location filename="../tinymounttray.cpp" line="189"/>
222246
<source>Settings</source>
223247
<translation>Настройки</translation>
224248
</message>
225249
<message>
226-
<location filename="../tinymounttray.cpp" line="264"/>
250+
<location filename="../tinymounttray.cpp" line="271"/>
227251
<source>Device is unmounted</source>
228252
<translation>Устройство отмонтировано</translation>
229253
</message>
230254
<message>
231-
<location filename="../tinymounttray.cpp" line="274"/>
255+
<location filename="../tinymounttray.cpp" line="286"/>
232256
<source>Unmount failed</source>
233257
<translation>Ошибка размонтирования</translation>
234258
</message>
235-
<message>
236-
<location filename="../tinymounttray.cpp" line="283"/>
237-
<source>Copyright (c) 2012 Mike Limansky
238-
239-
Use and redistribute under terms of the GNU General Public License Version 2.</source>
240-
<translation>Copyright (c) 2012 Mike Limansky
241-
242-
Использование и распространение на условиях GNU General Public License версия 2.</translation>
243-
</message>
244259
</context>
245260
</TS>

src/translations/tinymount_uk.ts

Lines changed: 41 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -143,6 +143,11 @@ p, li { white-space: pre-wrap; }
143143
<source>Detach devices after unmount</source>
144144
<translation>Відключити пристрій</translation>
145145
</message>
146+
<message>
147+
<location filename="../settingsdialog.ui" line="124"/>
148+
<source>Force unmount if device is busy</source>
149+
<translation type="unfinished"></translation>
150+
</message>
146151
<message>
147152
<location filename="../settingsdialog.cpp" line="19"/>
148153
<source>Use system notifications</source>
@@ -152,94 +157,104 @@ p, li { white-space: pre-wrap; }
152157
<context>
153158
<name>TinyMountTray</name>
154159
<message>
155-
<location filename="../main.cpp" line="156"/>
156-
<location filename="../tinymounttray.cpp" line="282"/>
160+
<location filename="../main.cpp" line="158"/>
161+
<location filename="../tinymounttray.cpp" line="294"/>
157162
<source>TinyMount, version %1</source>
158163
<translation>TinyMount, версія %1</translation>
159164
</message>
160165
<message>
161-
<location filename="../tinymounttray.cpp" line="184"/>
166+
<location filename="../tinymounttray.cpp" line="190"/>
162167
<source>About...</source>
163168
<translation>Про програму...</translation>
164169
</message>
165170
<message>
166-
<location filename="../tinymounttray.cpp" line="185"/>
171+
<location filename="../tinymounttray.cpp" line="191"/>
167172
<source>Quit</source>
168173
<translation>Вийти</translation>
169174
</message>
170175
<message>
171-
<location filename="../tinymounttray.cpp" line="195"/>
176+
<location filename="../tinymounttray.cpp" line="201"/>
172177
<source>Device is added</source>
173178
<translation>Пристрій додано</translation>
174179
</message>
175180
<message>
176-
<location filename="../tinymounttray.cpp" line="196"/>
181+
<location filename="../tinymounttray.cpp" line="202"/>
177182
<source>Device %1 is added</source>
178183
<translation>Додано пристрій %1</translation>
179184
</message>
180185
<message>
181-
<location filename="../tinymounttray.cpp" line="210"/>
186+
<location filename="../tinymounttray.cpp" line="216"/>
182187
<source>Device is removed</source>
183188
<translation>Пристрій видалено</translation>
184189
</message>
185190
<message>
186-
<location filename="../tinymounttray.cpp" line="211"/>
191+
<location filename="../tinymounttray.cpp" line="217"/>
187192
<source>Device %1 is removed</source>
188193
<translation>Пристрій %1 видалено</translation>
189194
</message>
190195
<message>
191-
<location filename="../tinymounttray.cpp" line="244"/>
196+
<location filename="../tinymounttray.cpp" line="250"/>
192197
<source>Device is mounted</source>
193198
<translation>Пристрій змонтовано</translation>
194199
</message>
195200
<message>
196-
<location filename="../tinymounttray.cpp" line="245"/>
201+
<location filename="../tinymounttray.cpp" line="251"/>
197202
<source>%1 is mounted to %2.</source>
198203
<translation>%1 змонтовано в %2.</translation>
199204
</message>
200205
<message>
201-
<location filename="../tinymounttray.cpp" line="251"/>
206+
<location filename="../tinymounttray.cpp" line="257"/>
202207
<source>%1 mounting error. %2.</source>
203208
<translation>Не вдається змонтувати %1. %2.</translation>
204209
</message>
205210
<message>
206-
<location filename="../tinymounttray.cpp" line="265"/>
211+
<location filename="../tinymounttray.cpp" line="272"/>
207212
<source>%1 is unmounted successfuly.</source>
208213
<translation>%1 вдало відмонтовано.</translation>
209214
</message>
210215
<message>
211-
<location filename="../tinymounttray.cpp" line="275"/>
216+
<location filename="../tinymounttray.cpp" line="287"/>
212217
<source>Failed to unmount %1. %2.</source>
213218
<translation>Не вдається відмонтувати %1. %2.</translation>
214219
</message>
215220
<message>
216-
<location filename="../tinymounttray.cpp" line="250"/>
221+
<location filename="../tinymounttray.cpp" line="295"/>
222+
<source>Copyright (c) 2012-2014 Mike Limansky
223+
224+
Use and redistribute under terms of the GNU General Public License Version 2.</source>
225+
<translation type="unfinished">Copyright (c) 2012-2014 Mike Limansky
226+
227+
Використання та розповсюдження на умовах GNU General Public License версия 2.</translation>
228+
</message>
229+
<message>
230+
<location filename="../tinymounttray.cpp" line="256"/>
217231
<source>Mount failed</source>
218232
<translation>Помилка монтування</translation>
219233
</message>
220234
<message>
221-
<location filename="../tinymounttray.cpp" line="183"/>
235+
<location filename="../tinymounttray.cpp" line="142"/>
236+
<source>TinyMount statup error</source>
237+
<translation type="unfinished"></translation>
238+
</message>
239+
<message>
240+
<location filename="../tinymounttray.cpp" line="143"/>
241+
<source>TinyMount cannot be started. Possible DBus daemon is not running or UDisks is not installed.</source>
242+
<translation type="unfinished"></translation>
243+
</message>
244+
<message>
245+
<location filename="../tinymounttray.cpp" line="189"/>
222246
<source>Settings</source>
223247
<translation>Налаштування</translation>
224248
</message>
225249
<message>
226-
<location filename="../tinymounttray.cpp" line="264"/>
250+
<location filename="../tinymounttray.cpp" line="271"/>
227251
<source>Device is unmounted</source>
228252
<translation>Пристрій відмонтовано</translation>
229253
</message>
230254
<message>
231-
<location filename="../tinymounttray.cpp" line="274"/>
255+
<location filename="../tinymounttray.cpp" line="286"/>
232256
<source>Unmount failed</source>
233257
<translation>Помилка відмонтування</translation>
234258
</message>
235-
<message>
236-
<location filename="../tinymounttray.cpp" line="283"/>
237-
<source>Copyright (c) 2012 Mike Limansky
238-
239-
Use and redistribute under terms of the GNU General Public License Version 2.</source>
240-
<translation>Copyright (c) 2012 Mike Limansky
241-
242-
Використання та розповсюдження на умовах GNU General Public License версия 2.</translation>
243-
</message>
244259
</context>
245260
</TS>

0 commit comments

Comments
 (0)