| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
These constants are used all over the place and aren't really specific
to ArchiveModel, so use the preprocessor.
|
| |
|
|
|
|
| |
The QCheckBox for that is gone for good, so enable it by default.
|
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
| |
NewMovieWizard never accepted more files than the model had columns due
to a misnamed function parameter. Doh!
|
|
|
|
| |
Yeah, finally it's gone! Lot's of useless, unneeded code vanished :)
|
|
|
|
| |
Introduce SmGlobals::iconFor to retrieve the configured item.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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 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...
|
|
|
|
|
| |
create snapshot pics in a separate thread. Also use the first frame
available if the clip isn't long enough for the configured frame.
|
|
|
|
|
|
|
| |
This is more a qt5-fix than a SmDirModel fix. The global palette doesn't
propagate any more, so we have to set the palette in every QTreeView
separately. Very annoying and tedious. Maybe I missed a Widget or two,
dunno...
|
|
|
|
|
|
|
|
| |
* 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 :)
|
|
|
|
|
| |
With siterips it's possible to have several files with the same
subtitle. Now we ask if we want to add to it or cancel.
|
|
|
|
| |
Only use subtitles when part no is not set.
|
|
|
|
|
|
| |
Found several parts in the database which had both a subtitle and a
partno -> wrong! Prevent it by disabling and clearing the subtitle field
when hasPartno is checked.
|
|
|
|
| |
default to unknown for Release Group and source in NewMovieWizard.
|
|
|
|
|
|
| |
Long standing bug, since introducing metadata. Comments were never saved
into the database. The model did The Right Thing, but forgot to add it
everywhere. NewMovieWizard is not tested, though.
|
|
|
|
| |
Remove PictureViewer from everywhere and use PictureViewer2 instead.
|
|
|
|
|
| |
Since NewMovieWizard is a QWizard and not a QDialog, this one gets a
separate commit.
|
|
|
|
|
|
|
| |
This wasn't as easy as it sounds. I had to completely redesign the
SeriesMetadataModel. Now it's a hybrid between a ListModel and a
TreeModel. The actual data is held in a QList<QVariant>, the tree is
only for display.
|
|
|
|
|
|
| |
When a movie has a subtitle, use a negative seriespart as id. I
guess this will haunt me at some point, but for now it works. Added
a sequence to the database layout for that.
|
|
|
|
|
| |
Don't exit when there's already a SeriesPart zero. Since
introducing subtitle zero is an indicator for a subtitle.
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
When archiving covers, optionally show an iconized version of the cover
picture instead of the default decoration icon.
|
|
|
|
| |
Also show the folderIcon in the NewMovieWizard QTreeViews.
|
|
|
|
|
| |
Use alternatingRowColors in MovieInfoPage::mFileView also to make the
GUI more consistent.
|
|
|
|
|
|
| |
Use the directory pictures were selected from last time as start
directory for the add files... button. Save the last directory in a
seperate QSettings entry.
|
|
|
|
|
| |
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...
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
SmTreeModel had a serious bug: SmTreeItem would accept rows >
mChildren.count() in SmTreeItem::child(int row). Do some sanity checks.
This only happened when trying to edit the type of the last file in
NewMovieWizard::MovieInfoPage, strangely enough. But this should fix it.
While working on the Wizard I tried to figure out why mItemEdit->clear
only sometimes worked. I guess it's because mItemEdit and the QCompleter
were connected to the same QKeyEvent, the latter winning and doing the
completion. "Fixed" this by removing the connection to the
returnPressed() slot of mItemEdit and giving the "Add Item" button a
shortcut. Don't really know if this is more annoying than pressing CTRL-
Also fixed a small logic error in MappingTableItemModel::lowerBound().
Revert the logic if the sort order should be ascending.
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
Insert a dummy file into the database when adding files already
archived.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When doubleclicking a picture in FileTreeWidget the pictureViewer
is shown. Doubleclicking a movie file launches the default movie
player.
Since PictureViewer is now used in FileSystemWidget and
ArchiveTreeView a global instance is needed. The appropriate place
for this is a singleton. Since we already had a singleton for
QAbstractItemModels I renamed it to SmGlobals and added a function
to return a PictureViewer object. Renaming it was quite easy
thanks to QtCreator's ability to rename variable names.
|
|
|
|
|
|
| |
Finally we can add covers to already existsing series. Seems to work,
but I encountered a crash when merging series while testing...
Unfortunately I don't know the cause.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Actually made this function work. Forgot to handle actors and genres.
Also several bugfixes in other parts:
-fix typo in FilesTreeModel query
-commit changes ind MappingTableModel::addItem, making the genre and
actor widgets work as intended
-remove redundant MappingTableModel::find(), already implemented in
SmTreeModel
-call next() instead of exec() in SeriesTreeModel::addSeriesPart. Query
is already executing if it's a select
-use QModelIndex::row() instead of column() in
MappingTableWidget::removeItem()
-add partNo to layout in MovieInfopage::MovieInfoPage()
-add convenience function setMappings() to MappingTableModel
|
|
|
|
|
| |
This version is not tested and may contain some very exiting, new bugs.
But it compiles.
|
|
|
|
|
| |
Started accept() in NewMovieWizard. Seems we need some major revamping
of SeriesTreeModel et al.
|
|
|
|
| |
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
|