SUMMARY *** When kid3 fails to rename a file, such as due to a filename that is too long, it assumes the operation failed due to lack of write permissions and asks the user if they want to change the permissions, even if the error was not caused by a lack of permissions. This is a confusing UX design. *** STEPS TO REPRODUCE 1. Set an extremely long song artist/title exceeding the max filename length (presumably 255 bytes) 2. Click the filename from tag button with `%t. %a - %s` as the format 3. Click save OBSERVED RESULT Renaming the file fails due to the name being too long. kid3 assumes it is due to a permissions error and prompts with "Error while writing file. Do you want to change the permissions?". Clicking yes does not fix the issue. EXPECTED RESULT Kid3 should display an error message specific to the error encountered during the file operation, such as "file name too long" SOFTWARE/OS VERSIONS KDE Plasma Version: 5.25.4 KDE Frameworks Version: 5.96.0 Qt Version: 5.15.5
I have now fixed this so that the error description ("File name too long" in this case) is displayed too. Note that you will still get a dialog asking if you want to change permissions because the `QFileInfo::isWritable()` check, which is made after an error occurs, is still true. The error description for "File name too long" is not displayed on Windows, even using the native low level Win32 API instead of POSIX errno does not help there, it just reports an unknown error. You can find a fixed version git20220921 in https://sourceforge.net/projects/kid3/files/kid3/development/.
Fixed in version 3.9.3.