summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* 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.
* Get rid of old archiveArno2013-07-2715-4041/+18
| | | | Yeah, finally it's gone! Lot's of useless, unneeded code vanished :)
* Change new archive edit menuArno2013-07-273-20/+52
| | | | | Put actions for files and tree in submenus and use selectionModel instead of currentIndex for retrieving the selected item in the tree.
* Simplify icon managementArno2013-07-2710-50/+28
| | | | Introduce SmGlobals::iconFor to retrieve the configured item.
* Cleanup closeEventArno2013-07-2725-105/+50
| | | | | | | | | | Don't try to delete all the prepared statements manually. Get rid of the ~destructors and just close the QSqlDatabase. close() deletes all Statements. Also, quit() all QThreads on closeEvent() except CompleterProducer. When the experimental archive view gets merged, that QThread is gone. No need to bother...
* Fix window titleArno2013-07-279-26/+40
| | | | Set the main window title according to selected tab.
* Read JSON from ffprobeArno2013-07-2718-182/+237
| | | | | | | | | | | | | | | | Use JSON output from ffprobe instead of string parsing to get some kind of type safety. For doing that, some changes were needed in FileView: Use delegates for displaying Duration and Bitrate instead of mangling output in Qt::Displayrole. To reuse code, move all delegates from the new Archive to a separate file. And, of course, the initial objective: Show the accumulated size and duration of selected files in the status bar from the experimental archive.
* Use new icon schemeArno2013-07-268-4/+64
| | | | | | | Use new icon configuration consistently in: * Filemanager * NewMovieWizard * Experimental view
* Merge ssh://192.168.222.14/home/amoeller/devel/SheMov into archive_viewArno2013-07-197-59/+64
|\ | | | | | | | | | | Conflicts: shemov.cpp shemov.h
| * Streamline configurable iconsArno Moeller2013-07-193-50/+58
| | | | | | | | | | | | | | | | | | | | Make icons configurable by: * folders * files * series * genres * actors Weed out old usage. New usage not yet implemented.
| * Bugfix in old ArchiveTreeViewArno Moeller2013-07-191-1/+3
| | | | | | | | Don't crash while setting metadata if nothing is selected.
| * Clean up the db analyzer messArno Moeller2013-07-197-502/+238
| | | | | | | | | | I guess I was quite drunk when I designed this overengineered, multithreaded monstrosity. Replace it with 4 nifty dialogs.
* | Clean up the db analyzer messArno Moeller2013-07-186-496/+237
|/ | | | | I guess I was quite drunk when I designed this overengineered, multithreaded monstrosity. Replace it with 4 nifty dialogs.
* Make all NodeTypes editableArno2013-07-135-26/+15
| | | | | Use plpgsql functions to edit nodes. Makes the program logic much easier. Also, rename rename() to edit() :)
* Dis/enable QActions for ContextMenuArno2013-07-126-10/+30
| | | | Handle actions dependent on type node.
* Always show subtitle in ArchiveModelArno2013-07-121-8/+6
|
* Make PartNo and Subtitle editableArno2013-07-126-0/+111
|
* Use MetadataEditorWidgetArno2013-07-122-112/+34
| | | | | Use MetadataEditorWidget in NewMovieWizard and test it. Works perfectly in NewMovieWizard and MetadataEditor.
* Split MetadataEditorArno2013-07-122-29/+56
| | | | | Again, split the editor into a widget and a dialog, so we can use the widget in NewMovieWizard.
* Use MappingEditorWidget in NewMovieWizardArno2013-07-124-15/+33
|
* Split MappingEditor into two classesArno2013-07-122-28/+67
| | | | | | | | | | | Split MappingEditor into a Dialog and the actual MappingEditorWidget. Turns out that we need the Widget in NewMovieWizard, also. No need for code duplication. NB: Before this I tried to convert the WizardTreeModel to a QStandardItemModel, but it had severe performance problems. Most likely I would have ended up subclassing QStandardItemModel anyway, so leave it as it is.
* Sort MappingEditor on the flyArno2013-07-102-3/+4
|
* Get rid of useless SimpleModel againArno2013-07-106-26/+20
| | | | | QStandardItemModel is much better than a poorly derived QStringListModel...
* Make experimental view editableArno2013-07-107-2/+477
| | | | | Create new dialogs for editing actors, genres and metadata. IMHO like this it's much clearer who does what. KISS!
* Fix alignment in file treeArno2013-07-091-1/+2
|
* Show actors, genres and metadata when selecting a seriesArno2013-07-096-7/+152
| | | | We're getting there, slowly, but steadily :)
* Fix crashes in SmDirWatcherArno2013-07-081-1/+2
| | | | | | | Finally! Return a copy of the file tree instead of the working item! Hopefully this fixes a lot of crashes. Threading is a bitch...
* Make new archive workArno2013-07-0813-465/+408
| | | | | | | | | | Well, this is a huge commit. Should be severals, but who knew... First and foremost feature: Make NewMovieWizard work with the experimental model. This change obsoleted a lot of code. Also, the old archive won't work with with the new Wizward... There are most probably many other features I forgot about.
* Prevent duplicates in ArchiveTreeArno2013-07-071-3/+3
| | | | Well, select DISTINCT :)
* Implement actions for ArchiveFileViewArno2013-07-077-9/+249
| | | | | * make files double-clickable * implement edit actions for files
* Lots of Display ChangesArno2013-07-0611-36/+234
| | | | | | | | | * Save header states * Implement delegates for columns * unify size and duration to 1 column * colorize View ... and lots of other things I forgot :)
* Basic ArchiveFilesModel and ArchiveControllerArno2013-07-067-6/+310
| | | | | | | | | Implement a new file model for the archive. It's quite basic at this stage, but finally something happens when clicking the archive tree. Also, implement the interaction (signal -> slot) between the views and models in an explicit controller to prevent the mess from the old archive.
* Implement destructor for ArchiveModel, get rid of 2 signalsArno2013-06-283-6/+12
| | | | | | | | | | | We need a destructor for ArchiveModel, because we have to stop the collectors first. Otherwise there will be random crashes all over the place on exit when the Threads are destroyed while they're still running. Also, get rid of the signals collectorDone and collectorAboutToBeDone. The latter was unused, and the former can be replaced with QAbstractItemModel::modelReset.