| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
| |
Don't access FileName in constructWindowTitle when we don't have a file
at mCurPos. That's what crashed us randomly!
Also (yes, I know, should be a separate commit) fix warnings about
implicit fallthru's in switch statements. The one in SmDirModel actually
was a bug, the one in tabChanged is just a nuisance.
Also (again), shuffle header inclusion in SmGlobals so Xlib and QT don't
clash.
|
|
|
|
| |
Next: make it available in new movies dialog.
|
|
|
|
|
| |
Delete last remnants of this class (includes and files). It's not needed
any more.
|
|
|
|
|
|
| |
Nothing is async any more. Didn't work, anyway. Instead show a
QProgressDialog when gathering data. Was kinda surprising that
processEvents has to be called explicitly... Well, done!
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
These constants are used all over the place and aren't really specific
to ArchiveModel, so use the preprocessor.
|
| |
|
|
|
|
|
|
| |
The size filter filtered more than selectedSize in the statusBar
suggested, because it used a differet size. Fix it by using a #define
everywhere.
|
|
|
|
|
|
|
|
|
|
|
| |
Filter ArchiveBrowser by Quality and/or size:
* Quality: only show series with a quality less or equal
* Size: only show series still fitting onto the DVD
* Both: only show series with a quality less or equal _and_ still
fitting on the DVD
Use QItemSelection instead of going through the selected items in the
tree. Seems to work somehow...
|
|
|
|
|
|
| |
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 :)
|
| |
|
|
|
|
|
|
| |
* Show and archive size of pictures
* Fix SqlQueries in PicFilesModel: removeFiles and changeMappings
* use delegate in PictureView
|
|
|
|
|
|
|
| |
* 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 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 :)
|
|
|
|
| |
Introduce SmGlobals::iconFor to retrieve the configured item.
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
* Show childcount
* Show subtitle or part no
* Resize Widget properly
|
| |
|
|
|
|
|
|
|
|
|
|
| |
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...
|
|
|
|
|
| |
create snapshot pics in a separate thread. Also use the first frame
available if the clip isn't long enough for the configured frame.
|
|
|
|
|
|
|
|
| |
* 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 :)
|
|
|
|
|
| |
Allow moving files from one SeriesPart to another. Had to add another
global variable for this.
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
| |
Warning: this commit seems to work, but it doesn't!
Introduce two new tables: mappings_parents2 and pics_mappings2 to create
a real parent-child relationship. The pics_mappings need to reference a
unique mappings_parents_id so the same mapping can be a child of
different parents.
For now only the MappingTree references the new tables. Everything else
uses the old ones. Hence the warning!
|
|
|
|
|
|
| |
SheMov crashed with a SEGV when QSettings could not be read. Show
ConfigurationDialog and exit program instead.
I wonder if this is just pasting over another bug, though.
|
|
|
|
| |
Remove PictureViewer from everywhere and use PictureViewer2 instead.
|
|
|
|
|
|
| |
Another commit that should be two. While fixing FrameCache to delete
invalid Pixmaps, I ventured into the depths of HoverWindow. Now it hides
when focus leaves the widget we're hovering over.
|
|
|
|
|
|
|
| |
-Implement add and replace files
-use QList<QVariant> (typedef'd) for shoveling data around
-more code shuffling
-new artwork
|
|
|
|
|
|
| |
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...
|
|
|
|
|
|
|
| |
* Added 4 new icons for PictureView-actions.
* simplified SheMov::tabChanged(int)
* fix long standing bug with QActionGroups in SheMov. Enable and disable
all actions according to the active tab
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Don't generate duplicate screenshots when the same file is indexed in
different paths. Part of the frameCache key was the _full_ path, not
just the filename, so duplicates piled up when hovering over the same
file in the filesystem and the archive.
Added a cleanup function to SmGlobals::FrameCache. Also, just use
QFileInfo::fileName() as part of the key.
|
|
|
|
|
| |
Implemented an action to suggest the best fitting file for burning
in FilesTreeWidget. Added 20 Mb of margin to maximum dvd size.
|
|
|
|
|
| |
Moved constant dvd size in bytes to SmGlobals. It spread to several
source files, so it seemed to be a candidate.
|
|
|
|
|
| |
Added an icon for show all files action. Also added it to the
toolbar.
|
|
|
|
|
|
|
|
|
|
| |
Indicate if SeriesPart has local files in SeriesTreeModel. The
cost for this is an additional Query when populating the model,
but fortunately the performance impact isn't noticeable.
Also introduced a new enum NumFields to SeriesTreeModel. It
represents the number of fields for a SmTreeItem so extending
the model isn't that cumbersome any more.
|
|
|
|
|
|
| |
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 filter for only showing series marked as favorites. The other
filter options are disabled when in this mode.
|
|
|
|
|
| |
SeriesParts can be marked as favorites. They won't be selectable when
filtering by local Movies only.
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fix unexpected NULL receiver on startup: Turns out this warning is
issued when calling deleteLater on a NULL object. This happened in
SheMov::createOpenWith*.
The "database is still in use" warning was a bit harder to track down.
First of all, the destructors weren't called since Qt::WA_DeleteOnClose
wasn't set for SheMov, so Qt would simply exit and let the OS do the
cleanup without calling the destructors.
Then there were several orphan widgets/objects without a parent, so
their destructor would never be called.
|
|
|
|
|
|
|
|
|
|
|
|
| |
Enhanced the filter function in ArchiveTreeView. The prefixes are gone.
The filter mode is now selectable by menu or toolbar.
Created 7 new icons, also selectable in the configuration menu. As a
bonus the filter QLineEdit now comes with a QCompleter. The
QStringListModel of the completer is filled in a separate thread. The
QThread is only used as a resource for control. The work is done in a
QObject connected to the QThread's started() signal as described in
http://labs.qt.nokia.com/2006/12/04/threading-without-the-headache/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Every registered icon can be chosen as Qt::DecorationRole for all models
at once. Suitable icons must be added to SmGlobals::mIcons. Key is a
descriptive text, value is the icon path.
To make things easier SmTreeModel got two new member functions:
-QIcon decorationIcon() returning the current Icon
-void setDecorationIcon() to set the current Icon
The current Icon is initialized in the constructor from QSettings -
ui/iconfolder
To update the TreeViews connected to the FileSystemModel a little hack
is needed: Just set the QFileIconProvider again. This causes the Model
to update connected views.
|
|
|
|
|
|
|
|
|
| |
Implemetented a cache for hovering over movies, saving the pictures from
ffmpeg. For that SmGlobals got a new member *frameCache, handling all
the dirty file access.
I first tried to implement it as a helper, but that produced too much
duplicate code.
|
|
|
|
|
|
|
|
|
| |
Made columns shown in FilesTreeView selectable. Also, the order of
columns is saved and restored.
This was a difficult one. I even had to make a debug build of qt. But I
fixed a serious bug in FilesTreeModel::modeName: don't access the Hash
if modeName == -1.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Hopefully this commit fixes all issues with hovering over items.
First, only use QCursor::pos() to determine the position of the hover
window and fix position calculation accordingly. For that SmGlobals now
return a QSize of the actual cursor size. Introduced a hoverOffeset to
HoverWindow defaulting to SmGlobals::cursorSize() + 30 to prevent a
HoverLeave event on showing the HoverWindow.
Also fixed Qt::WindowFlags of HoverWindow. We don't want the HoverWindow
to show in the taskbar or get sent to background when clicking on an
item.
|