Commit Graph

292 Commits

Author SHA1 Message Date
Jonas Kvinge 60528525e0 Use QObject::connect() everywhere for consistency 2021-01-29 18:53:20 +01:00
Jonas Kvinge cb5a7f8c9d Replace NewClosure with lamdas 2021-01-29 18:47:50 +01:00
Jonas Kvinge fd9c6d460a Fix lamda connect for audio CD tracks load finished 2021-01-29 18:45:09 +01:00
Jonas Kvinge bf7c8df353
Connection syntax migration (#637) 2021-01-26 16:48:04 +01:00
Jonas Kvinge 9c6c26f424 Delete TagCompletionModel 2021-01-26 00:40:06 +01:00
Jonas Kvinge 010a0cc2a7 Fix playlist filter with Qt 6 2021-01-20 20:18:29 +01:00
Jonas Kvinge 1bd586268c Update some copyrights 2020-12-12 00:33:27 +01:00
Jonas Kvinge 6ab6e6d3a8 Format code 2020-11-22 03:36:46 +01:00
Jonas Kvinge 91e5cafe76 Remove disabling repeat and shuffle buttons
It's more confusing than helpful
2020-11-20 21:48:10 +01:00
Jonas Kvinge 47754951f0 Format code 2020-11-20 21:47:01 +01:00
Jonas Kvinge f877639ed7 Fix repeat/shuffle disabled when a dynamic playlist is open
Fixes #593
2020-11-19 18:12:48 +01:00
Jonas Kvinge 042da74955 Change return type of qHash with Qt 6 to size_t 2020-11-17 01:22:38 +01:00
Jonas Kvinge deddaed04a Remove use of std::bind where possible 2020-11-14 02:13:22 +01:00
Jonas Kvinge c0663bc19f Use reference 2020-11-13 20:34:29 +01:00
Jonas Kvinge b3b5a38c3a Minor code style fix 2020-11-11 22:55:56 +01:00
Jonas Kvinge 15b656b753
Merge pull request #587 from fbugno/issue515
Fix HiDPI scaling for glow animation and drag over playlist
2020-11-10 22:52:08 +01:00
Felipe Bugno f5785db163 Code style changes to match the existing code
This changes the style of the private variable and the call
convention of the inherited functions.
2020-11-10 17:55:00 -03:00
Felipe Bugno b062febea0 Fix HiDPI scaling for glow animation and drag over playlist
This set the proper scaling and pixel ratio of QPixmap widgets
used as cached objects.

Most of cached objects uses a custom QPaint instead of the default
painter object from the parent widget. The problem is that, unlike
the painter from the parent object, set by the main application,
and that has DPI and scaling settings from the device, these custom
QPainters don't know about the underlying device, thus uses a
scale of 1 to render artifacts.

When a cached object "edited" by a custom QPaint along his pipeline
where used on a paint or drawrow routine, his stored image is distorted
and burred in a effort to resize it to the display configuration.
2020-11-09 21:49:22 -03:00
Jonas Kvinge 73c7024e11 Dont return from SongSaveComplete early, needs to free TagReaderReply 2020-11-09 19:17:31 +01:00
Jonas Kvinge 160e4570a2
Use C++17 (#579)
* Use C++17

* Replace std::random_shuffle with std::shuffle

* Add random include
2020-11-05 22:28:49 +01:00
Jonas Kvinge a174c142c1 Remove unused linked list includes 2020-11-04 18:06:36 +01:00
Jonas Kvinge 09e0059930 Resize organize window when copying to device
Fixes #566
2020-10-27 17:50:16 +01:00
Jonas Kvinge ad2fb82aa9 Don't edit playlist name on doubleclick in playlists view
Fixes #567
2020-10-27 17:11:17 +01:00
Jonas Kvinge 944cd020af Only strip problematic characters when saving a playlist 2020-10-25 01:01:43 +02:00
Jonas Kvinge f7b36ac4c7 Replace use of QVariant::type() with Qt 6 2020-10-24 03:32:40 +02:00
Jonas Kvinge 6d080a0d59 Fix crash when copying a closed playlist to a device
Fixes #551
2020-10-08 19:19:39 +02:00
Jonas Kvinge f0ae1051ee Only set art manual for temporary metadata when temp metadata is set 2020-10-08 19:14:56 +02:00
Jonas Kvinge 872da05ff6 Inform of song change on play restart, add playlist auto sorting.
Fixes #511
2020-10-01 19:58:16 +02:00
Jonas Kvinge e2d5b44b0a Hide certain playlist list context menu options when items are not selected 2020-10-01 19:49:06 +02:00
Jonas Kvinge 938ee20f1f Make sure song changed is only called once 2020-09-29 22:40:43 +02:00
Jonas Kvinge e390f3a399 Clear now playing in MainWindow::MediaPlaying() instead
Fixes #548
2020-09-29 17:38:00 +02:00
Jonas Kvinge e22d463d11 Use QFileInfo::completeBaseName() instead of QFileInfo::baseName()
Fixes #550
2020-09-29 17:30:21 +02:00
Jonas Kvinge b63030d302 Don't send now playing twice
Fixes #548
2020-09-28 17:47:45 +02:00
Jonas Kvinge 89d6b7cec0 Add smart playlists, ratings and Qobuz
Fixes #259
Fixes #264
2020-09-17 17:50:17 +02:00
Jonas Kvinge e3587d369e Add const 2020-09-10 22:05:12 +02:00
Jonas Kvinge 2a048502cc Add PlaylistItem::NewFromSong function 2020-09-10 22:04:11 +02:00
Jonas Kvinge 73692797dc Fix QWidget::enterEvent with Qt 6 2020-09-05 19:20:43 +02:00
Jonas Kvinge 22afcbcbb6 Only allow playlist editing if song is editable
Set proper flags in model instead of overriding edit in view.

Proper fix for #524
2020-08-30 22:23:38 +02:00
Jonas Kvinge cfd1fe59f3 Only allow playlist editing if song is editable.
Fixes #524
2020-08-30 21:40:04 +02:00
Jonas Kvinge 82d10dd7cb Remove debug line 2020-08-30 01:59:26 +02:00
Jonas Kvinge 841065fb91 Load icons for buttons before setting enabled/disabled
Fixes #500
2020-08-30 01:57:21 +02:00
Jonas Kvinge 08f32d1de6 Refactor playlist view/header code
- Don't reload all settings when changing playlists
- Fix initial playlist header columns sizes
- Properly reset header state when resetting columns
2020-08-29 19:55:00 +02:00
Jonas Kvinge 445cf22333 Use deleteLater 2020-08-29 16:24:40 +02:00
Jonas Kvinge 3948af80b8 Fix pixelated source icon for currently playing song in playlist 2020-08-25 21:51:23 +02:00
Jonas Kvinge 82142751de Improve playlist autoscrolling
Fixes #420
2020-08-23 19:37:24 +02:00
Jonas Kvinge 4e5755f218 Refactor some functions 2020-08-23 19:17:50 +02:00
Jonas Kvinge d23da7a612 Replace Qt::MidButton with Qt::MiddleButton 2020-08-23 03:27:24 +02:00
Jonas Kvinge 414a4a97fb Use unicode option when replacing non-words
Fixes #513
2020-08-15 11:43:14 +02:00
Jonas Kvinge fbc99827ab Revert "Turn off sort indicators for playlist"
This reverts commit 7b50ec4630.
2020-08-14 17:30:27 +02:00
Jonas Kvinge 7b50ec4630 Turn off sort indicators for playlist
Fixes #511
2020-08-12 16:56:28 +02:00
Jonas Kvinge 34634d776e Make sure to always use original metadata when editing tags 2020-08-10 21:27:56 +02:00
Jonas Kvinge 1f772081fd Only update temporary metadata when set
Fixes #507
2020-08-10 00:32:57 +02:00
Jonas Kvinge 15ddf6ff20 Save and restore playlist scrollbar position when switching between playlists 2020-08-09 14:00:56 +02:00
Jonas Kvinge d16a26605e Fix updating playlist songs when there are multiple files with the same URL
Fixes #501
2020-08-06 21:40:42 +02:00
Jonas Kvinge 7aa5f0d258 Only show delete and save playlist button when item is selected
Fixes #500
2020-08-06 16:00:03 +02:00
Jonas Kvinge 459404e3f0 Rename organise to organize
Prefer US spelling
2020-08-04 21:18:14 +02:00
Jonas Kvinge 2d5a6d6583 Use album artist for album repeat mode 2020-07-30 20:46:30 +02:00
Jonas Kvinge 4c028c1659 Use position().toPoint() with Qt 6 2020-07-29 21:40:03 +02:00
Jonas Kvinge d332a6777a Use QSortFilterProxyModel::filterRegularExpression only with Qt 6 2020-07-29 21:39:02 +02:00
Jonas Kvinge 0b7b7656b2 Replace use of QRegExp 2020-07-20 00:57:42 +02:00
Jonas Kvinge eb270df835 Use std::bind in QtConcurrent::run() to fix compile with Qt 6 2020-07-19 22:43:58 +02:00
Jonas Kvinge ff73dd2183 Partial revert commit af67de8 2020-07-19 19:07:12 +02:00
Jonas Kvinge 13856b33ec Fix playlist filter with Qt 5 2020-07-18 22:37:49 +02:00
Jonas Kvinge a3a1c6f4c8 Fix saving playlist column alignment 2020-07-18 18:18:34 +02:00
Jonas Kvinge af67de8aa6 Use lambdas for QtConcurrent::run instead of NewClosure 2020-07-18 16:28:39 +02:00
Jonas Kvinge e5b3df41e9 Replace QRegExp with QRegularExpression 2020-07-18 04:05:07 +02:00
Jonas Kvinge f24b6a520c Replace QDateTime::toTime_t() with QDateTime::toSecsSinceEpoch() 2020-07-18 03:53:30 +02:00
Jonas Kvinge d2bfc73b91 Only set playlist view item delegates once 2020-07-10 16:18:31 +02:00
Jonas Kvinge 42c62206c8 Move the currently playing song to the top when the playlist is manually shuffled
Fixes #304
2020-07-09 20:52:06 +02:00
Jonas Kvinge a99a19aa60 Fix broken playlist undostack when i.e. removing duplicates and unavailable songs 2020-07-08 20:43:46 +02:00
Jonas Kvinge 4e003c12a6 Add a taste of Strawbs background image 2020-07-07 23:02:24 +02:00
Jonas Kvinge 558e392234 Make search field clear buttons follow icon size settings 2020-06-29 01:09:02 +02:00
Jonas Kvinge 4d78b30e8c Make icon sizes configurable, increase default sizes for icons
Fixes #250
2020-06-28 18:36:48 +02:00
Jonas Kvinge dc36aee7ff Change some explicit usage 2020-06-26 22:41:38 +02:00
Jonas Kvinge 740f9581e6 Change 0 to nullptr 2020-06-26 22:06:23 +02:00
Jonas Kvinge 651020388d Use override 2020-06-15 21:55:05 +02:00
Jonas Kvinge 72ede666d4 Replace use of C style casts 2020-06-15 17:59:02 +02:00
Jonas Kvinge 56caab4461 Remove redundant initialization 2020-06-15 00:11:52 +02:00
Jonas Kvinge 13b60351a6 Replace use of deprecated C++ headers 2020-06-14 23:54:18 +02:00
Jonas Kvinge 082c9097e4 Fix parameter name mispatches 2020-06-14 18:58:24 +02:00
Jonas Kvinge 2fbdb29ebc Replace 0 with nullptr 2020-06-14 17:02:47 +02:00
Jonas Kvinge bf5fea8951 Replace use of QMultiMap::insertMulti with QMultiMap::insert 2020-05-29 17:46:41 +02:00
Jonas Kvinge c35235371a Replace QString::SkipEmptyParts with Qt::SkipEmptyParts on Qt 5.14.0 or higher 2020-05-29 17:40:11 +02:00
Jonas Kvinge 5d6b0fa329 Reset last played song when playlist is finished 2020-05-10 13:08:29 +02:00
Jonas Kvinge 7d1fac44e9 Update non collection songs with manually unset cover 2020-05-05 23:57:37 +02:00
Jonas Kvinge 4abc650edf Make scrobbler handle streams 2020-04-25 00:07:42 +02:00
Jonas Kvinge 8da4c88fd3 Fix compile warnings 2020-04-23 21:08:28 +02:00
Jonas Kvinge a2c0e4d4b1 Improve album cover loader, lyrics search and streaming support
- Improve album cover loader
- Add album cover loader result struct
- Move album cover thumbnail scaling to album cover loader
- Make init art manual look for album cover images in song directory
- Make album cover search work for songs outside of collection and
  streams
- Make album cover search work based on artist + title if album is not
  present
- Update art manual in playlist for local files, devices and CDDA
- Make lyrics search work for streams
- Add stream dialog to menu
- Remove dead code in InternetSearchModel
- Simplify code in InternetSearchView
2020-04-20 18:03:18 +02:00
Jonas Kvinge c69fff52cc Remove useless using std 2020-04-20 17:49:06 +02:00
Jonas Kvinge aa43d42cdb Remove const from signal slot connects 2020-04-13 05:57:48 +02:00
Jonas Kvinge 60e8519b65 Fix track and title in playlist not being movable
Fixes #403
2020-04-08 22:44:39 +02:00
Jonas Kvinge 21b2193cd0 Add explicit 2020-04-07 16:49:15 +02:00
Jonas Kvinge 3efc496c41 Add better error handling for CDDA loader 2020-04-07 16:48:12 +02:00
Jonas Kvinge 469e00b396 Remove setBaseStyle() 2020-02-22 13:43:33 +01:00
Jonas Kvinge 424b0e61cb Remove extra newlines 2020-02-12 00:07:05 +01:00
Jonas Kvinge 533da8f89c Use isLocalFile() 2020-02-12 00:06:19 +01:00
Jonas Kvinge 84cd65dd6c Reduce includes 2020-02-08 15:03:11 +01:00
Jonas Kvinge 8e0d792bf0 Reduce includes 2020-02-08 03:40:30 +01:00
Jonas Kvinge 2356ff5ebb Fix tabs order
Fixes #366
2020-02-08 00:01:12 +01:00
Jonas Kvinge 624a920aec Dont update temporary metadata while editing song with inline editor 2020-01-28 19:41:46 +01:00
Jonas Kvinge c8f3379a48 Fix crash when deleting playlist folder. 2020-01-05 23:26:07 +01:00
Jonas Kvinge 2215f300bf Added option to disable playlist clear button
Fixes #339
2020-01-04 06:38:25 +01:00
Jonas Kvinge 7f442cff3b Fix QProxyStyle 2020-01-02 18:57:53 +01:00
Jonas Kvinge fc2d601424 Remove useless stdbool.h include 2019-12-30 23:14:40 +01:00
Jonas Kvinge d3d60327ab Remove the answer to life the universe and everything 2019-12-29 23:46:35 +01:00
Jonas Kvinge 882c94110e Update temporary metadata when tags are changed 2019-12-21 21:55:24 +01:00
Jonas Kvinge 6df38c389c Replace use of QSet::toList() with QSet::values() 2019-12-21 18:19:09 +01:00
Jonas Kvinge 8e256e6d5c Fix indent 2019-12-21 17:55:24 +01:00
Jonas Kvinge 3de85549b6 Add option to automatically select current playing track 2019-10-27 02:11:51 +01:00
Jonas Kvinge 73164f7182 Update scrobble point when song is restarted 2019-10-27 02:09:34 +01:00
Jonas Kvinge 5599739433 Fix lowercased playlist album artist column
Fixes #275
2019-10-03 18:25:50 +02:00
Jonas Kvinge f2078271b6 Only update scrobble point in SetStreamMetadata when length is changed 2019-09-30 18:58:55 +02:00
Jonas Kvinge 76b4a6585e Update copyrights 2019-09-23 19:17:41 +02:00
Jonas Kvinge eb10a15eee Reset next item temporary metadata 2019-09-23 01:00:55 +02:00
Jonas Kvinge 3d3d641e1c Fix player not using preloaded stream url breaking gapless playback
Fixes #26
2019-09-22 22:47:07 +02:00
Jonas Kvinge 2d67279180 Fix minor code issues 2019-09-15 20:27:32 +02:00
Jonas Kvinge e45a0bf24b Add stream discoverer to gstreamer pipeline and continuous updating of bitrate 2019-09-07 23:34:13 +02:00
Jonas Kvinge 8962644ba8 Improvements to device manager
- Mount and unmount devices in lister thread
- Safely close watcher and backends for devices
- Enable abort loading device
- Fix MTP connection
2019-09-07 23:30:35 +02:00
Jonas Kvinge d199a2be0d Fix typos and spelling 2019-08-22 18:45:32 +02:00
Jonas Kvinge f81ecffda6 Don't treat songs with different album as duplicates 2019-08-21 20:46:08 +02:00
Jonas Kvinge e4b6e20db6 Turn playlist glow effect off by default on macOS 2019-08-17 00:00:12 +02:00
Martin Delille 0e97f99f93 remove 3rdparty SPMediaKeyTap (#239) 2019-08-11 20:44:32 +02:00
SamTShaw a32010e03b Ipod Playlist Support (#220)
* Ipod Playlist Support

Copy a whole playlist to the ipod and create an entry in Playlists on
the iPod

* Fix formatting and indentation

Fix indenting and formatting to be consistent
2019-08-07 17:13:40 +02:00
Jonas Kvinge 99569081c9 Simply some song checks and make url always unique by using stream url
instead
2019-07-31 22:26:51 +02:00
Jonas Kvinge d34a323a81 Handle cases where playlist background album gets stuck on error 2019-07-30 21:32:56 +02:00
Jonas Kvinge 81caec99b7 Fix closing databases 2019-07-25 17:56:28 +02:00
Jonas Kvinge da0d61f36a Fix regression in playlist backend caused by previous commits 2019-07-24 21:37:09 +02:00
Jonas Kvinge b5eb13449b Safely close database connections and delete backends
Also fix NewClosure leak caused by disconnected object signals
2019-07-24 19:16:51 +02:00
Jonas Kvinge bd78e8c275 Fix memory leaks 2019-07-22 20:53:05 +02:00
Gavin D. Howard 3a86a93154 Extend article sorting to artist and album artist (#210) 2019-07-11 16:51:25 +02:00
Jonas Kvinge 7fa1461d5e Use QUrl::isLocalFile() 2019-07-09 21:43:56 +02:00
Jonas Kvinge 5f7efee00e ifdef QFontMetrics::horizontalAdvance to make it work with older Qt 2019-07-08 23:27:45 +02:00
Jonas Kvinge 8ebcb71e6e Replace all uses of QSignalMapper with lambda expressions 2019-07-08 22:27:45 +02:00
Jonas Kvinge beeba88ea5 Replace QModelIndex child() with index() 2019-07-08 22:23:15 +02:00
Jonas Kvinge 870dc0d36f Replace QFontMetrics::width with horizontalAdvance, dark with darker, background() with window() and QString::null with QString() 2019-07-08 22:19:14 +02:00
Jonas Kvinge 65780e1672 Improve album cover searching and cover manager, use HttpStatusCodeAttribute and QSslError for services
- Improve album cover manager
- Change art_automatic and art_manual to QUrl
- Refresh collection album covers when new album covers are fetched
- Fix automatic album cover searching for local files outside of the collection
- Make all Json services check HttpStatusCodeAttribute
- Show detailed SSL errors for Subsonic, Tidal and Qobuz
2019-07-07 21:14:24 +02:00
Gavin D. Howard 5cde33711e Make playlist ignore articles when sorting (#202)
This is more correct, and the other way is driving me crazy.
2019-07-05 00:13:51 +02:00
m4x3t bcfd1d39bb Modify stretch background image functionality (#198)
* Modify stretch background image functionality

Changes the stretch functionality to fill out
the playlist background completely by zooming
the image (if keep aspect ratio is selected)
instead of filling it only height-wise.

* Add option to keep old background fill

* Fix playlist background image width and height

* Fix width calculation

* Remove old calculations
2019-06-30 19:37:05 +02:00
Jonas Kvinge 10dc725942 Attempt to fix MessageReply crash when saving tags 2019-06-22 08:36:02 +02:00
Jonas Kvinge e59c3c6f70 Add MediaUrl function for playlistitems 2019-06-15 19:31:43 +02:00
Jonas Kvinge 49aa344d8b Change index to idx 2019-06-15 19:31:16 +02:00
Jonas Kvinge 69eeb4b0f8 Move QSearchField to widgets and remove rest of qocoa 2019-05-08 23:34:44 +02:00
Jonas Kvinge cd9d659672 Make sure to resume playback from correct playlist 2019-05-02 12:17:47 +02:00
Jonas Kvinge ca140388d9 Fix resume playback on startup 2019-05-02 11:31:31 +02:00
Jonas Kvinge 42de7de21d Fix saving playlist columns 2019-04-28 14:14:19 +02:00
Jonas Kvinge 170adfd00c Save geometry, tabbar and playlist on exit only, fix loading tabs in
correct order
2019-04-27 22:32:39 +02:00
Jonas Kvinge 7a0f6684e5 Improve song loader error handling 2019-04-20 15:28:16 +02:00
Jonas Kvinge ba76385a2f Only invalidate local files 2019-04-20 15:22:56 +02:00
Jonas Kvinge 7bcd5ba14c Fix track seeking with mouse wheel 2019-04-20 14:26:30 +02:00
Jonas Kvinge 40db9f7020 Fix updating play and skip count 2019-04-19 14:02:28 +02:00