summaryrefslogtreecommitdiffstats
path: root/archiveview.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Delete emtpy seriesArno2015-03-211-3/+18
| | | | | Enable the delete option in ArchiveTree, but only allow delete when it has no children.
* Revamped MetadataWidgetArno2014-12-101-15/+29
| | | | | | | | Split it up into a small QTreeView and a QTextEdit for the comment. QTreeView and horizontal scrollbars don't seem to play nice together. Qt never displays the bar even if ElideText is set to none. So add a QToolTip for the Subject/Name, since it's most likely not displayed completely.
* Fix crash with metadataArno2014-12-091-10/+5
| | | | Don't try to access non-present fields. Weed them out!
* Major revamp of the file ManagerArno2014-12-071-2/+0
| | | | | | Nothing is async any more. Didn't work, anyway. Instead show a QProgressDialog when gathering data. Was kinda surprising that processEvents has to be called explicitly... Well, done!
* Redesign of NewMovieWizardArno2014-12-071-43/+35
| | | | | | Make it possible to add parent files to files, so we can identify already downloaded files even if we reencoded them. Record the md5sum in a new table files_origin.
* Sort Movie archive list appropriatelyArno2014-07-101-0/+23
| | | | | Don't just sort alphabetically. Also regard the Series No. by extracting it via a RegExp.
* Delete files from ArchiveArno2014-04-181-0/+20
| | | | Well, the title says it all. KILL THEM!
* Implement Drag and Drop in Movie ArchiveArno2014-04-101-1/+103
| | | | | | | | | | | | | | Well, this was actually a bit of a drag. You have read the docs very carefully to get it right. For one, don't construct the drag object in mousePressEvent if you also want a double click, otherwise you end up with very weird behavior. Same goes for the receiving end. Differentiate between dragEnterEvent and dragMoveEvent, otherwise you'll only be able to drop items if you hit the right row on entering. There are some artefacts during the drag, but I guess that's a Qt bug. Didn't bother to look into it.
* Create new, empty Seriespart by contect menuArno2014-04-071-4/+19
| | | | | Preparation for drag and drop. Also make it possible to delete Seriesparts without files.
* Fix sorting of SeriesPartsArno2014-04-071-18/+0
| | | | | Arrange Seriespartsname different so the default implementation of QSortfilterProxyModel can handle the sorting.
* Fix SeriesPartNo == 0Arno2014-04-041-1/+1
| | | | | Fix sorting in ArchiveTree and make it possible to enter zero in NewMovieWizard.
* Delete SeriesPartArno2014-04-041-0/+30
| | | | | Make it possible to delete a SeriesPart. This may happen if eg. you download the same clip/movie with a better quality.
* First version of Archive BrowserArno2014-02-061-0/+1
| | | | | | First try to reimplement "Move to archive" in another way. Implement an archive browser showing only Series with local parts in another tab. This part works for now :)
* Fix expanding of ArchiveTreeArno2013-09-211-0/+6
| | | | | Save and restore expanded items for Favorites and local files. Added context menu items for expandAll and collapseAll.
* Implement addCoversArno2013-09-211-1/+0
| | | | Add covers to an already archived movie.
* Clear release groups and sourceArno2013-09-141-0/+2
| | | | | Clear comboboxes in NewMovieWizard when calling it again. Otherwise duplicates will pile up :)
* Add toolbars to tabsArno2013-09-141-0/+5
| | | | Remove global toolbar and add a toolbar to each tab instead.
* ArchiveProxy: Sort numeric by SeriesPartArno2013-08-221-0/+18
| | | | Implement lessThan for ArchiveProxy.
* Sort Archive ascending by defaultArno2013-08-111-0/+1
|
* Implement FavoritesArno2013-08-111-0/+11
| | | | | | 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.
* Move filetype delegate to delegate.*Arno2013-07-281-24/+0
| | | | Missed this one the first time...
* Change new archive edit menuArno2013-07-271-18/+42
| | | | | 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-271-1/+3
| | | | Introduce SmGlobals::iconFor to retrieve the configured item.
* Read JSON from ffprobeArno2013-07-271-64/+1
| | | | | | | | | | | | | | | | 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-261-1/+1
| | | | | | | Use new icon configuration consistently in: * Filemanager * NewMovieWizard * Experimental view
* Make all NodeTypes editableArno2013-07-131-6/+1
| | | | | Use plpgsql functions to edit nodes. Makes the program logic much easier. Also, rename rename() to edit() :)
* Dis/enable QActions for ContextMenuArno2013-07-121-2/+2
| | | | Handle actions dependent on type node.
* Make PartNo and Subtitle editableArno2013-07-121-0/+66
|
* Split MetadataEditorArno2013-07-121-26/+38
| | | | | Again, split the editor into a widget and a dialog, so we can use the widget in NewMovieWizard.
* Use MappingEditorWidget in NewMovieWizardArno2013-07-121-4/+11
|
* Split MappingEditor into two classesArno2013-07-121-24/+46
| | | | | | | | | | | 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-101-0/+1
|
* Get rid of useless SimpleModel againArno2013-07-101-2/+2
| | | | | QStandardItemModel is much better than a poorly derived QStringListModel...
* Make experimental view editableArno2013-07-101-0/+235
| | | | | Create new dialogs for editing actors, genres and metadata. IMHO like this it's much clearer who does what. KISS!
* Show actors, genres and metadata when selecting a seriesArno2013-07-091-6/+51
| | | | We're getting there, slowly, but steadily :)
* Make new archive workArno2013-07-081-16/+50
| | | | | | | | | | 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.
* Implement actions for ArchiveFileViewArno2013-07-071-0/+2
| | | | | * make files double-clickable * implement edit actions for files
* Lots of Display ChangesArno2013-07-061-3/+80
| | | | | | | | | * 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-061-1/+19
| | | | | | | | | 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-281-1/+1
| | | | | | | | | | | 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.
* 2 minor improvents to ArchiveViewArno2013-06-261-0/+1
| | | | | * make it sortable * change the header when changing the sort order
* Keep state of expanded itemsArno2013-06-231-14/+38
| | | | | Well, sounds easier as it is to keep track of expanded items, but finally I got it!
* Make the archive cache usefulArno2013-06-231-33/+0
| | | | | Read the cache if there is one, if not, read it in another thread and update the view when it's done.
* Filter recursiveArno2013-06-141-20/+3
| | | | | | | | | | | Well, well... Recursion isn't that bad at all. Filter experimental ArchiveView recursive by the following rules: * check children _and_ parents for filter * if any child _or_ parent matches, accept the current row, parents and children. The column is converted to a QString and matched by QRegExp, so don't try to match numbers or anything else.
* Remove nodesArno2013-06-031-0/+12
| | | | | Implement remove nodes for ArchiveView. Only empty nodes without children can be removed. Everything else is too dangerous :)
* Fix error message for ArchiveViewArno2013-06-021-1/+5
| | | | | | | While thinking about merging items, I realized that it is not necessary. Just edit the mappings instead. However, a fallout is an error function for the TreeView.
* Implement RenameArno2013-06-021-1/+36
| | | | Rename items: spits out an error message if the new item already exists.
* Remember expanded ItemsArno2013-06-021-0/+29
| | | | | For the current SortOrder the expanded items are written to the config file and read on startup.
* Gather archive data in a threadArno2013-06-011-3/+41
| | | | | Fetching data sometimes takes a long time, so do it in a QThread and show a progress dialog. Some kludges included :)
* Make filter work in new ArchiveViewArno2013-06-011-4/+70
| | | | | | | Filter by QRegExp, but only on the first level according to the sort order. All items are expanded when filtered. Also, remember the filter and the sort order when exiting.