Commit Graph

27 Commits

Author SHA1 Message Date
John Maguire 341dc7326f Reformat all C++ 2020-09-22 14:56:06 +01:00
Jim Broadus bb736d1156 Prevent accidental usage of /usr/bin/data
Clementine detects a data directory in the same directory as the executable to
determine portable configuration. But there are some packages that create
/usr/bin/data, causing Clementine to run in portable mode.

Use a more unique data directory name, clementine-data, as the portable data
directory. For backwards compatibility, use the legacy data directory if the
already exists there.
2020-02-23 16:04:42 +00:00
Jim Broadus 18a08e87c2 Add a directory_model accessor to Application class. 2020-02-11 08:09:22 +00:00
Antonio Russo e66fdd86da Periodically save settings
Instead of immediately saving, which leads to poor performance,
and possible hardware damage (see #6057), limit saves to once
per second (similar to how KDE does it).  It also guarantees
that only one save is required per second, by sharing a QSettings
object, and establishes a signaling framework to put other
setting save events into (but only uses this for the two major
offenders: playlist tab switching and window resizing).

This is in contrast to 6a312e7, which simply deferred the save
until program exit, and caused problems for some people (see #6217
and #6209).

Signed-off-by: Antonio Russo <antonio.e.russo@gmail.com>
2019-09-10 18:41:18 -06:00
John Maguire b0322e7e7d Cleanup ApplicationImpl 2016-02-15 17:41:39 +00:00
John Maguire 20bfade965 Hide Application classes behind pimpl.
This should also fix the build on windows where gcc gets confused as
libmygpo declares DELETE as part of an enum and mingw #defines DELETE in
winnt.h
2016-02-15 17:39:50 +00:00
John Maguire d06f337ade Remove special deletion of objects in threads.
Fixes #5250
2016-02-11 16:31:08 +00:00
John Maguire f2daa772c1 Lazy initialise everything in Application. 2016-02-11 15:15:38 +00:00
Krzysztof Sobiecki 970e86aac5 Allows to download multiple podcasts at the same time
A new PodcastDeleter, it deletes podcast episodes
2014-12-10 00:47:52 +01:00
Krzysztof Sobiecki c0614dbe09 Fix copyright notices inside src/core 2014-11-05 17:48:03 +01:00
Krzysztof Sobiecki 0af1470cce Clean up src/core 2014-11-05 17:48:03 +01:00
John Maguire 4ab4bbc23f Remove Last.fm radio support.
Fixes #4259
2014-03-28 14:55:04 +01:00
John Maguire 5146bcdebc Some more NULL -> nullptr conversions. 2014-02-21 17:30:46 +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
Andreas acb18cdcde First tries on a portable version. 2013-09-29 10:43:34 +02:00
Arnaud Bienner fc1880161c Add a 'language_without_region' as this is not specific to networkremotesettingpage 2013-07-27 19:23:55 +02:00
David Sansome 1a3f6af1bd Clean up the network remote settings page, add a "Get it on Google Play" button. 2013-07-27 15:27:08 +10:00
Andreas f10292eb95 Added remote control for clementine 2012-12-31 23:37:39 +01:00
David Sansome 51229b88c5 Create or load moodbar data for songs 2012-05-25 17:18:07 +01:00
David Sansome d538b71809 Add buttons and menu items to open the Podcast settings page. Also route these requests through Application rather than InternetModel 2012-03-10 22:39:24 +00:00
David Sansome b0dd1bd284 Add a podcast downloader 2012-03-10 15:32:36 +00:00
David Sansome 1abf059d16 Add a Podcasts settings page and the start of some gpodder.net syncing 2012-03-09 15:26:38 +00:00
David Sansome b9e08bbfe6 Update podcasts on a schedule and on demand. Update them immediately after subscribing, and make episodes appear in the tree. 2012-03-09 15:26:15 +00:00
David Sansome f2885c0319 Return more useful aggregate information from the PodcastBackend, show something in the Internet service 2012-03-06 18:40:17 +00:00
David Sansome 90bbed1ec9 Add podcast parsing and database classes 2012-03-06 18:39:23 +00:00
David Sansome bacef04405 Refactoring: remove a couple of the AlbumCoverLoader instances and instead use a shared CurrentArtLoader. 2012-02-26 14:40:51 +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