| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
Save and restore expanded items for Favorites and local files. Added
context menu items for expandAll and collapseAll.
|
|
|
|
| |
Add covers to an already archived movie.
|
|
|
|
| |
Add some more icons to to the FilesystemWidget toolbar.
|
|
|
|
| |
Remove global toolbar and add a toolbar to each tab instead.
|
| |
|
| |
|
|
|
|
|
|
|
| |
Fix FileView + FilesystemWidget.
* Get rid of useless qobject_casts
* Remove hover over movies and directories
* Fix shortcut for (de-)selecting files
|
|
|
|
|
| |
Remove (hopefully) all remnants of this option. Not needed, wasn't
working anyway.
|
|
|
|
|
|
|
| |
* repair shortcuts for adding files to NewPicsDialog and showing it from
PictureViewer2
* Replace files in NewPicsDialog instead of adding them
* add missing header to MappingTreeModel
|
|
|
|
| |
Show 4 frames of the selected movie in PictureViewer2.
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
|
| |
Show file properties in Filemanager and Archive, if the file is
available.
Also get rid of the palette stuff in SmGlobals. Just call setPalette()
early enough and set it in SmTreeView.
|
|
|
|
| |
Yeah, finally it's gone! Lot's of useless, unneeded code vanished :)
|
|
|
|
|
| |
Put actions for files and tree in submenus and use selectionModel
instead of currentIndex for retrieving the selected item in the tree.
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
| |
I guess I was quite drunk when I designed this overengineered,
multithreaded monstrosity. Replace it with 4 nifty dialogs.
|
|
|
|
|
| |
Use plpgsql functions to edit nodes. Makes the program logic much
easier. Also, rename rename() to edit() :)
|
|
|
|
| |
Handle actions dependent on type node.
|
| |
|
|
|
|
|
| |
Create new dialogs for editing actors, genres and metadata. IMHO like
this it's much clearer who does what. KISS!
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
* make files double-clickable
* implement edit actions for files
|
|
|
|
|
|
|
|
|
| |
* Save header states
* Implement delegates for columns
* unify size and duration to 1 column
* colorize View
... and lots of other things I forgot :)
|
|
|
|
|
| |
Well, sounds easier as it is to keep track of expanded items, but
finally I got it!
|
|
|
|
|
| |
Read the cache if there is one, if not, read it in another thread and
update the view when it's done.
|
|
|
|
|
| |
Implement remove nodes for ArchiveView. Only empty nodes without
children can be removed. Everything else is too dangerous :)
|
|
|
|
| |
Rename items: spits out an error message if the new item already exists.
|
|
|
|
|
| |
For the current SortOrder the expanded items are written to the config
file and read on startup.
|
|
|
|
|
| |
Fetching data sometimes takes a long time, so do it in a QThread and
show a progress dialog. Some kludges included :)
|
|
|
|
|
|
|
| |
Filter by QRegExp, but only on the first level according to the sort
order. All items are expanded when filtered.
Also, remember the filter and the sort order when exiting.
|
|
|
|
| |
Display the new ArchiveModel in an experimental tab
|
|
|
|
| |
Don't use scientific notation. Just qRound() the value.
|
|
|
|
|
|
|
|
|
|
| |
Get rid of the cache file. Instead, generate the cache on startup. The
cache was never written since it was turned into a thread. Because of
that I wrote a cleanup function, but surprisingly it didn't have much
impact on the startup time, so I dropped the cache file.
Also, fix destructor of SmGlobals. Call deleteLater on all Q_OBJECTS,
and of course, some header cleanup.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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...
|
|
|
|
|
|
|
|
|
|
| |
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...
|
|
|
|
|
| |
Save headerView on exit, create a Menu for selecting headers and read
headerConfig on startup.
|
|
|
|
|
| |
Create new splash screen from Kimber James. She's so hot!
While at it, change the Domain...
|
|
|
|
|
| |
Drop all the stuff placing the window somewhere. I'm using a tiling
window manager :)
|
|
|
|
|
| |
Show total duration of selected Movies in FileView. Created a new class
Helper::Duration for this and declared it as QMetaType.
|
|
|
|
|
| |
Since we have SmDirModel now, we can explicitly refresh the view,
eventually!
|
|
|
|
|
|
| |
blocking the GUI isn't nice, so use a separate Thread to gather all the
data for SmDirModel. Populating and changing directory works, but
modifying a file is most likely broken.
|
|
|
|
| |
Wasn't used anyway, dropped DB-Table seen also.
|
|
|
|
|
|
|
| |
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...
|
|
|
|
| |
another QFilesystemModel:: fix. Use SmDirModel instead.
|
|
|
|
|
| |
Make NewMovieWizard work again and fix QFileSystemModel::FilePathRole
usage. QFileSystemModel::FilePathRole -> SmDirModel::FullPathRole
|
|
|
|
|
|
|
|
| |
* 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 :)
|