summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Fix show/hide events for PictureViewer2Arno2013-10-123-5/+25
| | | | check and uncheck the show/hide QAction on showEvent/hideEvent.
* Fix Style issuesArno2013-10-128-21/+6
| | | | | | * Change fixed width front from "courier" to "Monospace" * Remove foregroundcolor from SmTreeItem. Wasn't used nor needed, quite the opposite: it made SheMov deviate from the default style.
* Fix copy constructor of SmTreeItemArno2013-09-284-29/+19
| | | | | | | | Seems the copy constructor of SmTreeItem was botched. After copying a rootItem, some children wouldn't show up. I guess it has something to do with the QHash of the parents. Replace it with an explictit deep copy function where needed.
* Fix FileView selection after model resetArno2013-09-222-6/+6
| | | | | | | Use Filename instead of md5sum for re-selecting files after reset. They are pretty unique in a directory, too. When we're not doing expensive ops, ie. we are polling, we don't gather the md5sum, so the selection is lost.
* Fix expanding of ArchiveTreeArno2013-09-213-0/+18
| | | | | Save and restore expanded items for Favorites and local files. Added context menu items for expandAll and collapseAll.
* Implement addCoversArno2013-09-218-2/+60
| | | | Add covers to an already archived movie.
* Add Splitter in FilesystemWidgetArno2013-09-142-5/+15
| | | | | Add a Splitter between icons and the directory editbox. Save state on exit and restore it at startup.
* More iconsArno2013-09-146-7/+19
| | | | Add some more icons to to the FilesystemWidget toolbar.
* Clear release groups and sourceArno2013-09-141-0/+2
| | | | | Clear comboboxes in NewMovieWizard when calling it again. Otherwise duplicates will pile up :)
* Remove stray QDebug #includeArno2013-09-141-2/+0
|
* Behave on qApp->quit()Arno2013-09-144-0/+16
| | | | | | | | | | | | Sometimes there was a warning that a thread was being destroyed while still running. This was SmDirWatcher::run(). read() blocks until new data is ready, so run() never exited. Fix it by poll()ing the inotify_descriptor. Return immediately if no data is ready. Also fix a small memory leak. Delete ConsistencyChecker when the dialog is destructed.
* Add toolbars to tabsArno2013-09-1410-19/+44
| | | | Remove global toolbar and add a toolbar to each tab instead.
* Add preview to FilesystemWidgetArno2013-09-144-0/+24
|
* Get rid of FrameCacheArno2013-09-1412-282/+2
|
* Remove ui/hovemoviesArno2013-09-142-6/+0
|
* Code cleanupArno2013-09-144-46/+18
| | | | | | | Fix FileView + FilesystemWidget. * Get rid of useless qobject_casts * Remove hover over movies and directories * Fix shortcut for (de-)selecting files
* Remove hoverarchive optionArno2013-09-142-5/+0
| | | | Not used, dead code
* Code cleanup: remove hover over directoriesArno2013-09-143-25/+1
| | | | | Remove (hopefully) all remnants of this option. Not needed, wasn't working anyway.
* Preview fixesArno2013-09-145-5/+14
| | | | | * Don't show the mapping item in preview, because it has none. * Use qApp->showOverrideCursor() instead of QWidget::cursor()
* Introduce Expensive OperationsArno2013-09-037-45/+64
| | | | | | | Add a configuration Option to (de-)select expensive file operations. That would be md5Summing and gathering the Bitrate/Duration. That should help the performance on networked directories...
* Switch to QRunnable + QThreadPoolArno2013-09-039-231/+256
| | | | | | | | | | | Get rid of SmDataCollector and do its job in small, QRunnable tasks and let QThreadPool manage the treads. Works well with a local Filesystem. Yet to see how it works over networked Filesystems. Ah, before I forget: NEVER, EVER USE QPixmap in THREADS -> Random crashes! (Yes, I know, it's documented...)
* Revert "Don't show progress dialog when we're polling"Arno2013-08-304-17/+4
| | | | | This reverts commit 2cc92200386c55818cbe9bcb7d2e488170317d70. Wrong, non-working solution for this problem.
* Don't show progress dialog when we're pollingArno2013-08-284-4/+17
|
* Add a progress dialog to FilesystemWidget1.2.0Arno2013-08-285-0/+37
| | | | Show a progress dialog when gathering data from the filesystem.
* Fix crashes in SmDirWatcher (again)Arno2013-08-282-6/+14
| | | | | | | | | | | | | | | This reverts commit dbfc4f7bf395bf20aa21058372d47d17d040f553. It was totally and utterly wrong. This is what really happened, hopefully: Since a Semaphore can guard more than a single resource, it could happen that both mSemUsed and mSemFree were available at the same time. So it could happen that both the watcher and the datacollector tried to access the dataqueue at the same time. Since ->dequeue() is not atomic, this could throw of the internal iterator from the QList, resulting in a crash. The solution is simple: Guard it with a shared Mutex.
* Don't enqueue equal events twiceArno2013-08-271-1/+3
| | | | | | | | | Fix a race condition. This is what happened: A file gets closes shortly after the last write, so it gets enqueued twice. Since QQueue is a decendant of QList, calling erase on the iterator makes the loop crash with SIGSEGV. So check if the file is already in the queue before enqueuing.
* Don't disable subtitlesArno2013-08-251-1/+0
| | | | The QCheckBox for that is gone for good, so enable it by default.
* Fix archiving picsArno2013-08-221-2/+8
| | | | | | | | | | Move the pic to archive first. If the filename returned from moveToArchive is different then the file already existed and was mangled with the md5sum. Record the new filename in the db. Theoretically, the same problem exists with archiving movies, but it's very unlikely to happen (I hope). Also, it's way more difficult to untangle.
* Enhance previewArno2013-08-222-5/+21
| | | | | | * Show time when snapshot was taken. * Align the snapshots properly. * Show BusyCursor when generating preview.
* ArchiveProxy: Sort numeric by SeriesPartArno2013-08-222-0/+19
| | | | Implement lessThan for ArchiveProxy.
* Give Pictures some love!Arno2013-08-229-58/+91
| | | | | | * Show and archive size of pictures * Fix SqlQueries in PicFilesModel: removeFiles and changeMappings * use delegate in PictureView
* Usability fixArno2013-08-215-6/+15
| | | | | | | * repair shortcuts for adding files to NewPicsDialog and showing it from PictureViewer2 * Replace files in NewPicsDialog instead of adding them * add missing header to MappingTreeModel
* Fix MappingTreeModel for goodArno2013-08-213-74/+62
| | | | | | | * Again: remove the transaction madness besides almost everywhere leaving one instance where it is actually useful. * Hide the buttons to add and delete mapping types. Haven't thought that through complete. What should be deleted on cascade? Do we really want/
* Fix NewPicsDialog + NewPicFilesModelArno2013-08-164-110/+37
| | | | | | | * remove some of the Transaction madness * make it possible to archive pics again It's far from finished....
* Fix previewArno2013-08-163-10/+22
| | | | | * Show :/picgone.png if movie is not available * Show cover if preview is called on a picture
* Implement previewArno2013-08-118-8/+81
| | | | Show 4 frames of the selected movie in PictureViewer2.
* Sort Archive ascending by defaultArno2013-08-111-0/+1
|
* New sortOrder: FavoritesArno2013-08-112-2/+29
|
* Implement FavoritesArno2013-08-116-5/+53
| | | | | | Re-Implement mark as Favorites in new ArchiveView. Also, don't block when the Collector is running again and we're trying to update the view.
* Create action for refreshing the archive treeArno2013-08-112-0/+7
|
* Bugfix SmDirWatcherArno2013-08-102-6/+7
| | | | | Don't enqueue anything if the INOTIFY_MASK doesn't match. Could be the reason for random crashes...
* Various BugfixesArno2013-08-103-7/+19
| | | | | | | | * cache: use qint64 consistently instead of quint64 once (typo, I guess) * sync cancelling of ArchiveCollector: wait for it and reset the cancel var * sync access to cache file with QMutex * don't set quality for pics
* Fix issues with movie durationArno2013-08-102-1/+13
| | | | | | | * cast from double to int to insert seconds into the database (newmoviewizard.cpp) * update the database with the duration if the movie is local and we don't have a duration
* Another shot at the Filesystem View crashesArno2013-07-293-4/+35
| | | | | | | I think I found the bug. We need to stop the refresh timer when operating on the view, because it can reset the model while we're still holding QModelIndexes. When that happens we're working with invalid indexes and BOOM.
* Revert "Prevent datacollector from running when operating on files"Arno2013-07-295-16/+4
| | | | | | | This reverts commit 06cfadc8386aec27b9c7c43486fc0b057e9fb022. Turns out that this was not the root cause for the crashes. Still stumped.
* Prevent datacollector from running when operating on filesArno2013-07-295-4/+16
| | | | | | | This stuff was racy from the beginning. It could happen that the model got reset after we fetched the selected indexes. Add a mutex and lock it before operating on the file view. Hopefully this will many, if not all random crashes.
* Fix stupid bug in NewMovieWizardArno2013-07-282-6/+3
| | | | | NewMovieWizard never accepted more files than the model had columns due to a misnamed function parameter. Doh!
* Show only local filesArno2013-07-282-2/+31
| | | | Only show series with files on the hd.
* Move filetype delegate to delegate.*Arno2013-07-284-35/+37
| | | | Missed this one the first time...
* Implement file properties dialogArno2013-07-2813-135/+191
| | | | | | | | Show file properties in Filemanager and Archive, if the file is available. Also get rid of the palette stuff in SmGlobals. Just call setPalette() early enough and set it in SmTreeView.