summaryrefslogtreecommitdiffstats
path: root/shemov.pro
Commit message (Collapse)AuthorAgeFilesLines
* Add Random file browserArno2016-11-101-2/+4
| | | | | | | | 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.
* Let std::shuffle do the randomizationArno2016-03-201-1/+2
| | | | | Seems to be more random. Also, this commit introduces c++11, yay!
* First version of CopyWorkerArno2016-03-041-2/+4
| | | | | | 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!
* Automatically convert invalid jpg picsArno2015-07-181-1/+2
| | | | | | | | 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...
* New: search dialogArno2015-01-241-2/+4
|
* Weed out SeriesMetadataModelArno2014-12-101-2/+0
| | | | | Delete last remnants of this class (includes and files). It's not needed any more.
* Display unpack output in DialogArno2014-07-081-2/+4
| | | | | This was a difficult one. Got lost in the Semantics of QThread once again, but just 2 days later it works :)
* First version of Archive BrowserArno2014-02-061-2/+6
| | | | | | 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 FrameCacheArno2013-09-141-2/+0
|
* Switch to QRunnable + QThreadPoolArno2013-09-031-1/+1
| | | | | | | | | | | 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...)
* Get rid of old archiveArno2013-07-271-10/+0
| | | | Yeah, finally it's gone! Lot's of useless, unneeded code vanished :)
* Read JSON from ffprobeArno2013-07-271-2/+4
| | | | | | | | | | | | | | | | 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.
* Basic ArchiveFilesModel and ArchiveControllerArno2013-07-061-2/+4
| | | | | | | | | 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.
* Add view for new ArchiveModelArno2013-06-011-2/+4
| | | | Display the new ArchiveModel in an experimental tab
* First draft of new ArchiveModelArno2013-06-011-2/+4
| | | | | | | | 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.
* New Class: SmTreeViewArno2013-04-051-2/+4
| | | | | | | | | | 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...
* Make FrameCache threadedArno2013-03-291-2/+4
| | | | | create snapshot pics in a separate thread. Also use the first frame available if the clip isn't long enough for the configured frame.
* First shot at SmDirModelArno2013-03-161-2/+6
| | | | | | | | 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...
* Port to Qt5Arno2013-03-031-1/+1
| | | | | | | | * 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 :)
* SeriesTreeModel fixArno2012-10-101-2/+0
| | | | | | | | | * 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
* Fix Mappings in PictureViewer2Arno2012-10-041-2/+4
| | | | | | | | | | 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.
* Get rid of PictureViewerArno2012-04-281-2/+0
| | | | Remove last remnants of PictureViewer (without the 2).
* Code cleanupArno2012-03-161-1/+1
| | | | | 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...
* First draft of PictureViewer2Arno2012-03-081-2/+4
| | | | | | 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...
* Implement PicturesWidgetArno2012-02-261-2/+4
| | | | | | | | Create a tab to show the archived pictures. It's far from complete, but it already does: * show pictures * hover * delete pictures from archive
* Implemented NewPicsDialogArno2012-02-241-2/+4
| | | | | Version 1 of NewPicsDialog. Just one single tab for adding files. Does nothing yet besides adding and removing files.
* Implement MappingTreeWidgetArno2012-02-241-2/+4
| | | | | | | | | | | | | | | 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.
* First shot at MappingTreeModelArno2012-02-241-2/+4
| | | | | | 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.
* DbAnalyzer first tryArno2011-12-161-3/+5
| | | | | Well, trying to join the consistencyChecker and the check for stray actors/genres. First try :)
* First draft of PropertiesDialogArno2011-08-221-2/+4
| | | | | | 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.
* Center Dialogs on screenArno2011-08-171-2/+4
| | | | | | 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.
* Edit genres and actorsArno2011-02-191-2/+4
| | | | Added dialog for editing actors and genres.
* Revamp statisticsdialogArno2011-02-121-1/+0
| | | | | | Once again redesign the statisticsdialog. Switch back from WebKit and HTML/CSS graph bars to a QWidget. Never forget about QPainter::translate() again :)
* Finished metadataArno2011-01-271-2/+4
| | | | | Created a modes for metadata, revamped NewMovieWizard to use the model and created a MetadataWidget to edit and display metadata.
* Remove MessageDialogArno2010-12-221-2/+0
| | | | Remove all references of MessageDialog, including files :)
* Moved class PictureViewerInfoItemArno2010-12-161-2/+0
| | | | | PictureViewerInfoItem is only used in PictureViewer, so no need for a sepearte file.
* Removed obsolete class filesArno2010-11-261-2/+0
| | | | | class TextEnterDialog was removed some time ago, maybe with commitd617e06. Remove files also.
* First try on ConsistencyCheckerArno2010-10-311-2/+4
| | | | | | | 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.
* Created general purpose HoverWidgetArno2010-10-161-2/+4
| | | | | | 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.
* Implemented hover for SeriesTreeWidgetArno2010-10-161-1/+1
| | | | | SeriesTreeWidget show a popup window with the movies assigned to the series when hovering over a series entry.
* Implement FilePropertiesDialogArno2010-07-311-10/+6
| | | | | | | | | | | 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.
* Fixed StatisticsDialogArno2010-07-251-4/+1
| | | | | | | 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.
* Act on doubleClick in FileTreeWidgetArno2010-07-241-2/+2
| | | | | | | | | | | | | 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.
* Big code cleanupArno2010-07-231-42/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Started NewMovieWizard for adding moviesArno2010-07-021-2/+4
| | | | | | | | 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
* Actors and genre editArno2010-06-261-2/+4
| | | | | | | | | | | | | | | | | | 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.
* New model: MappingTableModelArno2010-06-251-2/+4
| | | | | | | | | 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 :)
* Start making FilesView workArno2010-06-231-4/+6
| | | | | Introduced filestreewidget, just like seriestreewidget. The connection is still missing, though.
* Singleton cleanupArno2010-06-231-4/+2
| | | | | | | | | | 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.
* Started implementation of FilesTreeModelArno2010-06-201-2/+4
| | | | | | No visible representation yet. Implemented setData for quality and dvdno, but not tested yet. Dunno yet if anything else has to be editable.