| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
The expression matching is the same as in ShemovCleaner, but here we
have a lot more levels of indirection. The guessing is done
automatically when archiveMovie is invoked. If the directory contains a
file descript.ion, it is parsed and the result injected into the
MetadataEditorWidget.
|
|
|
|
| |
Lots of code shuffle and headers cleanup, but no functional changes.
|
|
|
|
| |
Once again, only code shuffle and reindention.
|
|
|
|
| |
No functional changes, just code shuffle and reindention.
|
|
|
|
|
| |
One class per file :) No functional changes, just code shuffle and
reindention.
|
|
|
|
|
|
|
|
| |
Insert lower case and trimmed QString into database instead of the
original version.
Also, while at it, silence some clang warnings about implicit
conversions and nullptrs.
|
|
|
|
|
| |
It's really simple: If we have a file with the same name, but another
extension, add it as FT_ORIGIN to the list.
|
|
|
|
|
| |
Pop up a dialog to ask if origin files should be deleted. Not tested yet,
so beware of the leopard!
|
|
|
|
|
| |
Save InfoPage data on reject and accept, fill the fields on next
invocation, execpt files.
|
|
|
|
|
| |
If a title tag exists in a movie's metadata, extract it with ffmpeg and
put it into mSubtitle when archiving new movies.
|
|
|
|
|
|
| |
It's useless if you don't use a tiling window manager. Also, now we have
an empty class SmDialog. Didn't replace it yet. Maybe it's useful in the
future.
|
|
|
|
|
| |
Center Filedialog in NewMovieWizard::infoPage when adding source files.
Also switch to the directory from FSWidget.
|
|
|
|
|
| |
Delete last remnants of this class (includes and files). It's not needed
any more.
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
NewMovieWizard never accepted more files than the model had columns due
to a misnamed function parameter. Doh!
|
|
|
|
|
|
|
|
|
|
| |
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...
|
|
|
|
|
| |
Use MetadataEditorWidget in NewMovieWizard and test it. Works perfectly
in NewMovieWizard and MetadataEditor.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Well, what started as a try to simplify QTreeView ended in a mass header
murder...
What happened:
* I searched for a way to let every QTreeView honor the
setAlternatingRowcolors() setting. Unfortunately it isn't enough to just
set the global palette and set it to true. So every QTreeView is now
derived from SmTreeView
* SmTreeView registers itself with SmGlobals, so the property is set
_after_ it's constructed. It's definitely not enough to call it in the
constructor. I guess that's a bug. But it's enough to append the
SmTreeView to a QList<QWidget*> in SmGlobals and call it _after_ the
painting is done.
* As an added Bonus we can add virt. funcs to every SmTreeView at will
While at it I realized that most of the included headers were void, so
remove them. No idea what impact it has on the bin size...
|
|
|
|
|
|
|
|
| |
* Change #include to qt5
* Fix missing QX11Info
* use explicit constructor for QVariant(QColor)
* use beginResetModel() and endResetModel() instead of reset(). The
latter was removed. Hopefully it still works :)
|
|
|
|
| |
Remove PictureViewer from everywhere and use PictureViewer2 instead.
|
|
|
|
|
| |
Since NewMovieWizard is a QWizard and not a QDialog, this one gets a
separate commit.
|
|
|
|
|
|
| |
Series parts can now have an additional title elemet, the so
called subtitle. Obviously that's not really a good name but it's
the best I could come up with :)
|
|
|
|
|
| |
Created a modes for metadata, revamped NewMovieWizard to use the model
and created a MetadataWidget to edit and display metadata.
|
|
|
|
|
|
|
|
|
| |
Added a WizardPage to add metadata like releaseyear, releasegroup,
newsgroup subject and such. Metadata can't be displayed at the moment
and needs to be revameped seriously. I guess it's time for another model
keeping the metadata.
Created a new table in the database for this.
|
|
|
|
|
|
|
|
| |
Optionally show a frame or the picture in PictureViewer when clicking an
item in the file list.
Added a new function to SmGlobals::FrameCache: make it possible to
retrieve the path of the frame, also.
|
|
|
|
|
| |
New context menu entry in FSWidget: archive selected. The selected files
will be inserted into the MovieInfoPage when archiving a movie.
|
|
|
|
|
|
|
|
|
| |
Well, this one should have been easy, but there's always a way to make
things complicated. Select proper entries for mPartno and mFileType in
NewMovieWizard.
Note to self: never ever forget about QObject::blockSignals(bool) again.
This is way easier than fiddling around with boolean logic...
|
|
|
|
|
|
| |
Make Part no work in NewMovieWizard. The logic for this was totally
borked. Well, it was not really present. One could only assign one Part
number to all files.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Well, the point of this commit was to have one NewMovieWizard in memory
all the time and just show it when it's needed.
For this several things were necessary:
1. implement initializePage() for every QWizardPage. For this I had to
implement reset functions in some models.
2. setOption(QWizard::IndependentPages, true) in Wizard constructor.
3. Make NewMovieWizard a member of SheMov... Well, it was, already, but
I didn't remove the ptr.
The good news: the Wizard works.
Bad News:
1. Program crashes in ArchiveViewWizard::currentChanged (see TODOS)
2. Cover files also have a quality Attribute attached.
|
|
|
|
|
| |
This version is not tested and may contain some very exiting, new bugs.
But it compiles.
|
|
|
|
| |
Implemented 2 new pages for NewMovieWizard: actors and genres.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The first page of NewMovieWizard gave me quite a headache. It crashed
with a segmentation fault because of exposing mDvdNo via registerField()
without actually assigning a QCheckBox to it. The backtrace isn't very
helpful in such a case.
I also fixed some bugs on the way:
1. use SmTreeItem::setData in SmTreeModel::addRow instead of deleting
the old item and creating a new one. This way I don't need to take care
of the parent.
2. get data of old item in SmTreeModel::reparent before calling
removeRows. This call deletes the item.
3. Fix column alignments in WizardTreeModel for size column
|
|
Finished GUI for first page of NewMovieWizard. To make things easier I
added two new member functions to SmTreeModel:
-QModelIndex find() to find items by value of a column
-void reparent() to remove an item from one parent and add it to
another
|