| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
| |
This is a huge commit. Changes:
* Obviously, make it compile
* Make it run (only scarcely tested)
* get rid of most of clang's warnings
Let's see what surprises are in store...
|
|
|
|
| |
ArchiveFilesModel::nextDvd() is a distant memory...
|
|
|
|
|
| |
Don't use C-Style casts. CLang says it's frowned upon. Also use nullptr
instead of literal 0.
|
|
|
|
|
| |
Don't use the dark variant of hardcoded colors. The non-dark version
plays well with a light theme, and even better with a dark one.
|
|
|
|
|
|
| |
* remove deprecation warning: use std::sort
* use c++-for instead of Q_FOREACH
* make one remaining connect type-safe
|
| |
|
|
|
|
|
|
|
| |
Show orgin files as child of archived file in the archive.
Sidenote: Adding an origin file in here won't be very useful, since the
actual file is elsewhere. That's a job for ShemovCleaner, I guess.
|
|
|
|
|
|
|
|
| |
If a seriespart is selected in the tree, display a summary.
When a file is selected, display the actual metadata.
It's much more consistent. Before, the metadata of the first *item in the
selected list was displayed.
|
|
|
|
| |
Compile tested only, so it may or may not work.
|
|
|
|
|
|
| |
Try to reconnect cloned databases on error, mainly SmDirWatcher and
ArchiveCollector. ConsistencyCheck doesn't matter, since it's on the
stack. It compiles, but no idea if it actually works...
|
|
|
|
|
| |
If USB-Storage is mounted and available, search it for already archived
movies. If found, play it.
|
|
|
|
|
| |
Enable the delete option in ArchiveTree, but only allow delete when it
has no children.
|
|
|
|
|
|
| |
It crashed when used on directories, because naturally md5sum was empty.
So recurse through directories, collect files and check if we have a DB-
Entry. If so, move the files back to archive. If not, skip them.
|
|
|
|
|
|
| |
New context menu item for Filesystemwidget: select the seriespart when
goto archive is triggered... Selecting the partId from ArchiveModel was
deceptibly simple. Doom impending?
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
Well, the title says it all. KILL THEM!
|
|
|
|
| |
Generalize the slot. Make it possible to add movies, too.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
Preparation for drag and drop. Also make it possible to delete
Seriesparts without files.
|
|
|
|
|
| |
Arrange Seriespartsname different so the default implementation of
QSortfilterProxyModel can handle the sorting.
|
|
|
|
|
| |
Make it possible to delete a SeriesPart. This may happen if eg. you
download the same clip/movie with a better quality.
|
|
|
|
|
| |
These constants are used all over the place and aren't really specific
to ArchiveModel, so use the preprocessor.
|
|
|
|
|
|
| |
The size filter filtered more than selectedSize in the statusBar
suggested, because it used a differet size. Fix it by using a #define
everywhere.
|
|
|
|
|
| |
Move matchRecursive from ArchiveModel to SmTreeModel so we can use it
here, too.
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
Add covers to an already archived movie.
|
| |
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
Don't enqueue anything if the INOTIFY_MASK doesn't match. Could be the
reason for random crashes...
|
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
| |
Only show series with files on the hd.
|
|
|
|
| |
Introduce SmGlobals::iconFor to retrieve the configured item.
|
|
|
|
|
|
|
|
|
|
| |
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...
|
|
|
|
| |
Set the main window title according to selected tab.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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 configuration consistently in:
* Filemanager
* NewMovieWizard
* Experimental view
|
|
|
|
|
| |
Use plpgsql functions to edit nodes. Makes the program logic much
easier. Also, rename rename() to edit() :)
|
|
|
|
| |
Handle actions dependent on type node.
|
| |
|
| |
|
|
|
|
|
| |
QStandardItemModel is much better than a poorly derived
QStringListModel...
|
|
|
|
|
| |
Create new dialogs for editing actors, genres and metadata. IMHO like
this it's much clearer who does what. KISS!
|
| |
|
|
|
|
| |
We're getting there, slowly, but steadily :)
|
|
|
|
| |
Well, select DISTINCT :)
|
|
|
|
|
| |
* make files double-clickable
* implement edit actions for files
|