| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
Idea: Select random movies based on a selection of genres and actors in
a new tab, so you don't have the agony of choice.
This is just the basic layout. The selectors are filled and the buttons
are connected, but it doesn't select anything yet.
|
|
|
|
|
| |
Seems to be more random.
Also, this commit introduces c++11, yay!
|
|
|
|
|
|
| |
Preparation for archiving Movies to an USB disk:
Implement CopyWorker: a QThread for copying files in the background. It
compiles, nothing more, so expect bugs!
|
|
|
|
|
|
|
|
| |
Well, seems that's Qt's ImageReader got pickier regarding jpeg-files. If
the resulting QPixmap is null and void, try to convert them to png.
This introduces a new dependency to ImageMagic++. I don't like it, but
it works, kinda... I saw random crashes while testing...
|
| |
|
|
|
|
|
| |
Delete last remnants of this class (includes and files). It's not needed
any more.
|
|
|
|
|
| |
This was a difficult one. Got lost in the Semantics of QThread once
again, but just 2 days later it works :)
|
|
|
|
|
|
| |
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 :)
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Get rid of SmDataCollector and do its job in small, QRunnable tasks and
let QThreadPool manage the treads.
Works well with a local Filesystem. Yet to see how it works over
networked Filesystems.
Ah, before I forget: NEVER, EVER USE QPixmap in THREADS -> Random
crashes! (Yes, I know, it's documented...)
|
|
|
|
| |
Yeah, finally it's gone! Lot's of useless, unneeded code vanished :)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
Display the new ArchiveModel in an experimental tab
|
|
|
|
|
|
|
|
| |
The new ArchiveModel allows sorting and display by the series name,
actors and genres. Hopefully it's generic enough to easily add other
sort orders like file location or file type.
For now, it's just there. Not included anywhere. No view, no nothing.
|
|
|
|
|
|
|
|
|
|
| |
Code reusage: all 3 tabs had the same funtions: readHeaderConfig,
writeHeaderConfig and toggleHeader, so turn it into a class derived from
QTreeView.
Unfortunately mATree didn't do things as later added Views, so it took
some time to find the culprit in SheMov::readSettings :( Hopefully I
didn't break too much...
|
|
|
|
|
| |
create snapshot pics in a separate thread. Also use the first frame
available if the clip isn't long enough for the configured frame.
|
|
|
|
|
|
|
|
| |
Gotta take a break here. Hopefully this will end up in a custom
QFilesystemModel, but I'm hitting so many bugs on the way. Some things
haven't worked for ages, I guess.
Anyway, the watcher doesn't do anythying right now, still fixing bugs...
|
|
|
|
|
|
|
|
| |
* 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 :)
|
|
|
|
|
|
|
|
|
| |
* make it possible to delete whole series again. No code fix, just the
database layout: add on delete cascade to metadata
* get rid of propertiesdialog.{cpp,h}. It was useless and called from
the "Edit.." context menu. Code bloat, I guess...
* Do something useful when calling "Edit...". Rename Series or ask for a
new SeriesPart
|
|
|
|
|
|
|
|
|
|
| |
Another fix for the new MappingTreeModel database layout: Make the
mappings display correctly when showing an archived picture.
For performance reasons I had to make PicFilesModel global and put it
into a separate file.
Also clean up MappingTreeModel: remove comments and unused functions.
|
|
|
|
| |
Remove last remnants of PictureViewer (without the 2).
|
|
|
|
|
| |
How the heck did listitem.h survive for so long? Remove it. And an
unused Q_PROPERTY from hoverwindow.h. I guess there's much more...
|
|
|
|
|
|
| |
Doesn't do much other than showing a default picture, but it behaves
like a QDialog and positions itself correctly. It's quite a pain in the
ass with a tiling window manager...
|
|
|
|
|
|
|
|
| |
Create a tab to show the archived pictures. It's far from complete, but
it already does:
* show pictures
* hover
* delete pictures from archive
|
|
|
|
|
| |
Version 1 of NewPicsDialog. Just one single tab for adding files. Does
nothing yet besides adding and removing files.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is a rather large commit. It implements MappingTreeWidget using
MappingTreeModel unsurprisingly this uncovered some exciting bugs.
Fixes the following bugs in MappingTreeModel:
* use insertRows() and removeRows() when addings children, because
dataChanged() won't do it.
* don't use a prepared QSqlQuery when fetching children recursively.
This won't work because the query is still active when we invoke
ourselves again. Put the query on the stack instead
* Keep the model sorted.
Also add an entry for a MappingTreeEditor to the File-Menu.
|
|
|
|
|
|
| |
MappingTreeModel is a generic approach at mappings files to generic
data, eg atttributes, actors or themes. It compiles, but nothing more.
So expect many exciting bugs and SegFaults.
|
|
|
|
|
| |
Well, trying to join the consistencyChecker and the check for stray
actors/genres. First try :)
|
|
|
|
|
|
| |
Kinda mock-up of new PropertiesDialog. The caption label works, though
for some reason I can't set a background image via Stylesheets. It also
shows the files belonging to the SeriesPart.
|
|
|
|
|
|
| |
Since I'm now using a tiling window manager dialogs have to center
themselves on the screen. Otherwise they end up at QPoint(0,0). Not very
nice. Subclassed QDialog to SmDialog and converted all dialogs.
|
|
|
|
| |
Added dialog for editing actors and genres.
|
|
|
|
|
|
| |
Once again redesign the statisticsdialog. Switch back from WebKit and
HTML/CSS graph bars to a QWidget. Never forget about
QPainter::translate() again :)
|
|
|
|
|
| |
Created a modes for metadata, revamped NewMovieWizard to use the model
and created a MetadataWidget to edit and display metadata.
|
|
|
|
| |
Remove all references of MessageDialog, including files :)
|
|
|
|
|
| |
PictureViewerInfoItem is only used in PictureViewer, so no need for a
sepearte file.
|
|
|
|
|
| |
class TextEnterDialog was removed some time ago, maybe with
commitd617e06. Remove files also.
|
|
|
|
|
|
|
| |
Well, it works, so let's shit it :) Unfortunately the database is
inconsistent, so add a checker for that. Still needs some work, though.
Eg. display errors seperately and make it possible to delete stray
files. Also the Filesystem check must be implemented.
|
|
|
|
|
|
| |
This commit outsources the HoverWindow to a seperate file and makes it
possible to set a pixmap to the window. Also the cursor offset is only
calculated once in SmGlobals.
|
|
|
|
|
| |
SeriesTreeWidget show a popup window with the movies assigned to the
series when hovering over a series entry.
|
|
|
|
|
|
|
|
|
|
|
| |
Implemented a dialog for file properties. When the mime type says it's a
video, fork ffprobe to read the properties of all streams and show them
in a QTreeView powered by a SmTreeModel. If the mime type is image, use
QImage to read some properties and show them in the same dialog.
This commit introduces the new class FilePropertiesDialog. I also had to
implement a copy constructor for SmTreeItem. It obsoletes classes
ActorWidget, ActorModel and MoviePropertiesDialog.
|
|
|
|
|
|
|
| |
adapted StatisticsDialog to the new database schema and make it use
WebKit and HTML to display the graph bars.
This change obsoleted the classes ActorCountModel and GraphBarWidget.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
hopefully removed all code connected to ArchiveViewWidget in this
tree.
Files removed ({h,cpp}):
*archiveeditdialog
*listeditor
*covereditor
*archivefilewidget
*addmoviewizard
*archivefileview
*archiveproxy
*sizedelegate
*archivedidelegate
*archiveitemeditdialog
*coveritem
*movieitem
*moviemodel
*moviemodelsingleton
*listmodel
*listmodelsingleton
*archiveviewwidget
*archiveiteminfoedit
*archiveitemcoveredit
*fileinfoitem
*fileinfomodel
See added file TODOS for stuff that needs fixes.
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Implemented widgets for actor and genre editing of movies. Created new
MappingTableWidget for both genres and actors and revamped
ArchiveTreeView to show 2 widgets below the FilesTreeView separated by a
splitter.
While testing the new setup several bugs were fixed:
-an SQL syntax error in FilesTreeModel
-fixed SmModelSingleton to properly work with table names
I also changed the signature of MappingTableModel::addMapping for the
ease of use and added MappingTableModel::removeMapping.
MappingTableModel got 2 new convenience functions:
1. bool contains(QString) to check if an item is already present
2. QModelIndex find() to get the index of a specific value from the
model.
|
|
|
|
|
|
|
|
|
| |
Implemented new Model for Mapping tables. This model is intended to
replace the old ListModel and Singleton. MappingTableModel is derived
from SmTreeModel and can be accessed using SmModelSingleton.
It's quite dynamic building its queries, and has yet to be tested.
Hopefully I got it right the first time :)
|
|
|
|
|
| |
Introduced filestreewidget, just like seriestreewidget. The connection
is still missing, though.
|
|
|
|
|
|
|
|
|
|
| |
The SmUberModel class wasn't needed at all, so I removed it.
Instead I renamed SmUmberModelSingleton into a real singleton
for all QAbstractItemModel*, though right now it only supports
the SeriesTreeModel and FileTreeModel. But it should eventually
evolve into a singleton for all QAbstractItemModel *. For this
I renamed the class SmUberModelSingleton to SmModelSingleton.
|
|
|
|
|
|
| |
No visible representation yet. Implemented setData for quality and
dvdno, but not tested yet. Dunno yet if anything else has to be
editable.
|