Jonas Kvinge
f379ad84d4
Fix use of emit
...
Adds missing emits.
QTreeView::collapse and QTreeView::expand are slots, not signals. So
remove emit.
2021-07-14 10:18:47 +01:00
Lukas Prediger
83b6bf28f3
No exceptions for error handling! ConnectedDevice::Init now returns bool, indicating success or failure.
...
As decreed by @hatstand.
2021-06-21 12:51:44 +01:00
Lukas Prediger
2dd566653f
Dealing with cdio_open failures in CddaDevice constructor
2021-06-21 12:51:44 +01:00
Lukas Prediger
95799a911d
Removing ConnectedDevice::Refresh altogether
2021-06-21 12:51:44 +01:00
Lukas Prediger
9ca75ae357
RipCDDialog now relies on CddaDevice to be notified about disc changes
2021-06-21 12:51:44 +01:00
Jim Broadus
d798c76e06
devices: Remove obsolete DeviceKit.
...
DeviceKit-disks, renamed udisks, was superseded by udisks2 in 2012.
2021-05-06 20:52:33 +01:00
John Maguire
341dc7326f
Reformat all C++
2020-09-22 14:56:06 +01:00
Jim Broadus
0d25a1b39c
Properly delete ignored DeviceInfo object
...
Since the SimpleTreeItem constructor variant used from LoadAllDevices adds the
object to the parent's children list, use the parent's Delete method to destroy
it.
2020-06-19 00:10:54 +01:00
Jim Broadus
8a88a0a57e
Properly handle connect errors when initiated from properties dialog.
...
If connection fails when initiated from the device properties dialog, the
connected page is shown after the update formats worker thread completes.
2020-01-07 23:20:04 -08:00
Jim Broadus
d041da18cc
Handle case where a lister adds a device before loaded from database.
...
There is a small chance that a device lister is able to discover and add a
previously known device before it is added by the database loader thread.
In this case, copy the data that is user-settable to the existing DeviceInfo
object and destroy the object created from the database query.
This adds and utilizes a new FindEquivalentDevice method that compares the
device unique IDs. This could probably be made more robust as the unique
IDs for some listers may change. However, this is a problem with the database
storage implementation in general.
2019-02-24 00:05:18 -08:00
Jim Broadus
a62062127e
Fix thread-safety issues when initially loading devices from the database.
...
When DeviceManager initializes, it creates a thread to load device information
from the database. Part of this process includes use of QPixMap for icons which
produced a warning message:
22:32:53.763 WARN unknown QPixmap: It is not safe to use pixmaps outside the GUI thread
In addition, the device is added to the view using beginInsertRows and
endInsertRows. This could contend with a device added by a lister signaling
PhysicalDeviceAdded.
To solve these problems, this change moves the icon loading and insertion to the
main thread. LoadAllDevices reads the data from the database and creates the
DeviceInfo object, then sends a signal to the main thread. In the signal
handler, the icon is loaded and the device is added to the master list and view.
2019-02-24 00:03:45 -08:00
Jonas Kvinge
ed3d462674
Fix memory leak and use ItemToIndex / IndexToItem ( #6262 )
2019-01-21 21:38:46 +00:00
Jonas Kvinge
7e25a7c7e4
Convert devices manager(model) to QAbstractItemModel ( #6260 )
2019-01-21 09:06:48 +00:00
Jim Broadus
6c159481ed
Handle MTP connection failures more gracefully. ( #6256 )
...
Currently, the failure to connect to an MTP device results in the UI displaying
an open device that appears empty. This change introduces a method
ConnectedDevice::ConnectAsync() that is expected to handle any connecting tasks
that could block asynchronously. Upon completion, this emits a ConnectFinished
signal that indicates success or failure. The row in the UI is only updated
after the successful response is received. Upon failure, DeviceManager will
clean up and the row in UI is left in the pre-connect state.
Currently, only the MtpDevice utilizes this mechanism. All other devices use a
default implementation that immediately reports success.
2019-01-15 21:10:05 +00:00
John Maguire
6f356592a5
Fixes for cross compiling for mac.
2016-12-15 11:36:05 +00:00
Valeriy
d4e932db9a
udisks2 support for devicemanager (refs #3264 )
2016-05-17 22:56:16 +03:00
narunlifescience
dd953fd86c
check custom icon location, then system theme & then fallback theme
...
icons added & replaced
2015-10-13 22:35:49 -05:00
John Maguire
3323c2d094
Convert all instances of foreach() to a C++11 for
...
find ext src -name '*.cpp' -exec \
sed -i -e 's/foreach(\([^,]\+\),/for (\1 :/' {} \;
2014-02-10 14:43:32 +01:00
Krzysztof A. Sobiecki
0ecf1e76a6
Reformat done with clang-3.5 svn200967
2014-02-07 17:08:31 +01:00
John Maguire
bebd781fdf
Reformat all non-3rd-party C/C++/Objective-C++.
...
Command line:
find src ext -regex '.*\.\(h\|cpp\|mm\)' -exec clang-format -i
-style='{BasedOnStyle: Google, DerivePointerBinding: false}' {} \;
2014-02-07 16:34:20 +01:00
John Maguire
71893e4847
Use nullptr instead of NULL everywhere.
2014-02-06 17:29:59 +01:00
John Maguire
d309d4ab27
Use c++11 instead of boost where possible.
2014-02-06 16:51:39 +01:00
David Sansome
eb20fb5945
Remove all the soruce for WMDM devices. Fixes issue 3748
2013-06-30 08:25:12 +00:00
John Maguire
3d434f1c88
Remove iDevice support as it doesn't work well for modern devices and libgpod shows no signs of updating to support them.
...
Fixes issue #3683
2013-05-17 15:30:56 +02:00
John Maguire
42e7e4ff6f
Use boost::bind in DeviceManager.
2012-11-21 17:21:20 +01:00
John Maguire
543a6bf2fa
Remove use of linked SAC shim and depend on DLL version (which doesn't exist yet)
2012-11-13 17:04:54 +01:00
Arnaud Bienner
0e3dc5a8be
Add new ConcurrentRun templates for void functions, and functions with 3 arguments + corresponding test cases.
...
+ SongLoader now has its own QThreadPool to load folders/playlist in background.
Update issue 2598
This should fix slowliness problems reported.
2012-07-16 00:06:55 +02:00
John Maguire
905ef90882
Add missing header.
2012-06-29 17:06:47 +02:00
John Maguire
20b11961f9
Set the max size of the DeviceManager thread pool to 1.
2012-06-29 16:58:30 +02:00
John Maguire
58a3a6831a
Move loading of devices from the database onto a different thread.
2012-06-29 16:56:17 +02:00
David Sansome
526a9d9960
Fix compilation of the WMDM device lister on windows
2012-02-26 16:00:00 +00:00
David Sansome
48f15c9fc7
Refactoring: instead of passing individual pointers to useful core classes (like TaskManager or LibraryBackend) to each class that uses them, pass one singleton-like Application instance everywhere.
2012-02-26 14:40:51 +00:00
Руслан Ижбулатов
5c45e22e28
Make SAC and WMDM optional
2012-01-22 14:35:22 +00:00
John Maguire
50824cafe9
Make AskForScan() per-device rather than per device lister and fix cddadevice to use the url rather than the unique id.
2011-08-11 22:10:14 +02:00
John Maguire
b458c9d24c
Merge branch 'master' of https://code.google.com/p/clementine-player
...
Conflicts:
src/devices/devicemanager.cpp
2011-08-11 21:46:48 +02:00
John Maguire
47a171fca7
Detect cd insertion on mac.
2011-08-11 21:37:09 +02:00
Arnaud Bienner
1a4aa8f641
Make the 'dont ask on first connect' more generic
2011-08-11 00:59:34 +02:00
David Sansome
082716e9c9
Don't try to compile audio CD support if libcdio isn't installed.
2011-08-10 16:30:36 +01:00
David Sansome
cbc05354ee
Merge branch 'master' of https://code.google.com/p/clementine-player
2011-08-05 08:33:42 +01:00
Black Jack
3de111d84f
Fix a crash that occurs when mounting a device with an empty backends container. Fixes issue 2121
2011-08-05 08:20:04 +01:00
Arnaud Bienner
c3c4e87827
Remove now useless debug message
2011-08-05 02:35:38 +02:00
Arnaud Bienner
f7859f591c
Adding CD devices in devices tab. Fixes issue 701.
2011-08-05 02:15:16 +02:00
David Sansome
9fadf57acc
Revert "Move TaskManager::Task and UrlHandler::LoadResult structs out of their parent classes - PythonQt doesn't understand nested structs."
...
This reverts commit 5234798a7f
.
2011-07-23 15:32:12 +01:00
David Sansome
5234798a7f
Move TaskManager::Task and UrlHandler::LoadResult structs out of their parent classes - PythonQt doesn't understand nested structs.
2011-05-21 10:43:25 +00:00
David Sansome
3eedc916ad
Add a new logging system
2011-04-22 16:50:29 +00:00
David Sansome
e3a9bd7b26
Make DBUS bits optional on Linux. Thanks Nickollai. Fixes issue #1177
2010-12-26 13:38:35 +00:00
David Sansome
ed1a25693c
Add missing licenses to debian/copyright, and add copyright information to each source file
2010-11-20 13:27:10 +00:00
David Sansome
44f0934fed
Don't crash when physically removing a device
2010-09-18 13:54:23 +00:00
David Sansome
c2ac3f8f32
Don't mount GIO devices automatically, instead put them in a "not mounted" state in the GUI and mount them when double-clicked on. Fixes issue #719 . Probably fixes issue #723 .
2010-09-11 12:29:44 +00:00
David Sansome
28a7039977
Show a warning when the user tries to connect a MTP device or iPod when they've compiled out support for libmtp or libgpod
2010-09-04 12:57:34 +00:00