| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
Implemented an action to suggest the best fitting file for burning
in FilesTreeWidget. Added 20 Mb of margin to maximum dvd size.
|
|
|
|
|
|
|
| |
When setting the dvd no. on several items in FilesTreeWidget,
QModelIndex was used in a foreach() loop. Since the loop alters the
model, the subsequent operations failed or operated on the wrong
Indexes. Fixed by using a QPersistenModelIndex instead.
|
|
|
|
|
| |
Propagate changes to SeriesTreeModel::IsLocal to all attached views.
For some reason this wasn't as easy as I thought...
|
|
|
|
|
|
| |
The field IsLocal in the SeriesTreeModel is now properly updated
when the DVD no. changes. It still doesn't propagate to the file
view, though.
|
|
|
|
|
| |
Hopefully the view gets reloaded when setting the DVD No. after
burning movies to DVD. Not tested.
|
|
|
|
|
| |
Made Y-Offset for the cursor configurable. After switching from
kwin to awesome WM the hotspot for hovering was way off.
|
|
|
|
| |
This reverts commit 465147eb8a3508859c6c1133b90db7ba85404427.
|
|
|
|
| |
This reverts commit 43466f70101837c6465c2ee3307aec555744a293.
|
|
|
|
|
| |
Doubleclicking a movie in the archive didn't work any more, since
the else taking care of that was in the wrong scope.
|
|
|
|
| |
Also show metadata in snapshot when hovering over a movie file.
|
|
|
|
|
| |
Created a modes for metadata, revamped NewMovieWizard to use the model
and created a MetadataWidget to edit and display metadata.
|
|
|
|
|
|
|
| |
Use setAlternatingRowColors here, also. Set the background color of the
label to ui/alternatecolor.
Show the cover type and series name/part when file is an image.
|
|
|
|
| |
Hide HoverWindow when showing the contextMenu.
|
|
|
|
|
|
|
|
|
| |
Added a tab to ConfigurationDialog to make some colors configurable. It
works somehow. The font color isn't evaluated yet, since I'm not
convinced that it is a good idea.
But one problem is that calling qApp->setPalette() doesn't propagate to
non visible child dialogs. Dunno if it's worth fixing.
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
Implement a caption for HoverWindow. Used to show the filename when
hovering.
|
|
|
|
|
|
|
| |
When hovering over movies in local mode both the ToolTip and the hover
image was shown. Fixed by only showing the ToolTip when the movie is not
available, eg. archive mode. In any other case incorporate the ToolTip
info into the hover image.
|
|
|
|
| |
Hide hover window if in HoverMove and the file does not exist.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
What started as an attempt to show a frame from a movie when hovering
over it, ended in a huge bugfix commit for hover related stuff. This
commit is definitely not atomic.
When hovering over a movie present on the filesytem a frame is shown.
The time frame is configurable. While digging into the code I noticed
some bugs.
Bugfixes:
* fix label for hove archive action. It was labeled for hovering over
directories in FSWidget.
* Hovering over directories didn't have an action. Also read the
appropriate value from QSettings.
Other:
* add icons for hovering over directories and hovering over movies
* replace SheMov::toggleHover(pics|some other) with a QSignalMapper
|
|
|
|
|
|
|
|
|
|
| |
This commit introduces QInputDialogs for all values editable in the
archive. Inline editing in the view doesn't seem the right choice
regarding usability.
Fixed a long standing bug in nextDvdNo(). That was off by one. Return
one more than max(value). Also got rid of DvdNoDialog, replaced by a
QInputDialog.
|
|
|
|
|
|
|
|
| |
Display the picture in PictureViewer if the file is actually available
on the filesystem and don't show a critical error if there's a DvdNo
associated with it.
Also fix the error dialog: show FileNameRole instead of data().
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
| |
Using the filename from the QModelIndex isn't enough to determine wether
the file is a cover or not. A series can have more than one part. So
check the real file type and only copy if it's not of type Movie.
This fix should obsolete the new ConsistencyChecker :)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
| |
Strange things happen. As stated in commit 19674f6, SheMov crashed when
setting the archive as current tab and then changing to filesystem view.
This can be resolved by first showing the MainWindow and then applying
the display changes. I guess it's an qt internal thing.
Also vastly improved performance when hovering by only entering the
hover code path when we actually have a HoverEvent. Before CPU usage
spiked at 100% even if SheMov was idle.
|
|
|
|
|
|
|
|
|
|
|
| |
Hovering over dirs and pictures show either the content of the directory
or a scaled image of the picture. This is a strange commit, though. When
the archive was the last opened tab the program crashes when changing to
FilesystemView. I don't have the slightest clue, why, so I simply
removed setting the last opened tab on startup.
Also there is some strange behavior regarding the position of the
HoverWindow and what Qt thinks the global position is...
|
|
|
|
|
|
| |
This reverts commit 20df1c43f5b7425810b5d16e3658f0772aae9b6c.
revert the revert... I actually wanted to check out something...
|
|
|
|
| |
This reverts commit a3a556cc8af3433de1f8d5e22a4ba62cc029f145.
|
|
|
|
| |
Fixed HoverWindow so it always stays completely on screeen.
|
|
|
|
|
|
| |
Revamped misc tab in configurationdialog to QGroupBoxes. Added options
for enabling or disabling hovering over pictures or the archive tree.
Also implemented an option to set the opacity for HoverWindow.
|
|
|
|
|
| |
Hovering over a cover item in FilesTreeWidget shows a HoverWindow with
the scaled image under the cursor.
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
Added the possibility to edit file part numbers via context menu in
FilesTreeWidget. This action triggers the edit event on the specific
QModelIndex.
|
|
|
|
|
|
| |
Fixed sorting of DisplayName column in FilesTreeModel. Now it's sorted
by SeriesName and SeriesPart separately instead of taking the whole
DisplayName as a string.
|
|
|
|
|
|
|
|
|
| |
Doubleclicking the DvdNo in FilesWidget did
1. play the movie
2. create an editor event in the widget
Now doubleclicking only starts the default player. The quality can be
edited via context menu.
|
|
|
|
| |
Created version 1.0.0 treemodel. Also removed some <QDebug> includes.
|
|
|
|
|
| |
Remember selected tab on startup. Also remember selected view mode from
archive.
|
|
|
|
|
| |
Added tooltip to FilesTreeView when showing archived or local movies.
The tooltip shows all files associated with the SeriesPart.
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The journey through the internals of SheMov started by fixing
SeriesTreeWidget::readSettings(). The selected index didn't really get
selected on startup because only QItemSelectionModel::setCurrendt() was
called. Replace it with QItemSelectionModel::select() and
QTreeView::setCurrent(). Also fix SeriesTreeWidget::writeSettings() to
only write selected items to QSettings() when something is selected.
While working on selections I realized that there is a serious bug in
Helper::moveToArchive. The destination directory in the archive must be
created if it doesn't exist. For a testcase I needed an easy way to move
files back from the archive to incoming directory, so I added
FilesTreeWiget::moveToDirectory(). This lets you move files from the
FilesTreeWidget to any directory. During testing I realized that
SeriesTreeWidget::deleteFromSeries() QMessageBox() doesn't show files
when deleting a series part. Fixed that by adding SeriesParts to file
list.
Finally a newly added SeriesPart gets selected and selected by expanding
it first and then calling QItemSelectionModel::select()
To make a long story short:
1. fix SeriesTreeWidget::{read,write}Settings
2. add FilesTreeWidget::moveToDirectory()
3. fix SeriesTreeWidget::deleteFromSeries() QMessageBox
4. fix selecting newly added SeriesParts
|
|
|
|
|
| |
Show number of selected items of FilesTreeView in statusbar when
selecting files.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
Files can now be delete from the files tree view. When doing so, the
files will be deleted permanently and also removed from the database.
|
|
|
|
|
|
| |
The dvd number can be set for several files at once with this function.
Also fixed a little bug when showing the series name in the status bar.
Only show file part number if it is > 0.
|
|
|
|
|
| |
Files from the archive can be moved to a configurable directory with
this function. The specified files won't be deleted from the database.
|
|
|
|
|
|
| |
Show size of selected items in status bar when files are selected in the
FileView. Also show series name of current selected file in the general
status bar.
|
|
|
|
|
|
|
|
| |
Implemented individual sorting for FilesTreeModel:
1. Don't compare the "Movies" and "Covers" nodes, keep the initial
order.
2. Compare Size and DvdNo by int/longlong instead of comparing the
displayed strings.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It wasn't as easy as I thought. Quite big changes:
1. I changed the query for setIds in FilesTreeModel. Initially it
executed a database query for every id. Changed it to WHERE
seriespart_id IN (ids). I didn't have a chance to test the first
version, but this one is blazing fast.
2. Fixed a recursio ad infinitum in FilesTreeModel. This happens if you
call data() from data(). Either use the *item or use a role different
from what you've been called.
3. Introduce a new function in SeriesTreeModel: QList<QVariant>
childrenColumnList. It returns a QList from the children values of the
given column.
4. Lot's of UI changes. Hide unneded columns, align the remaining ones
properly.
What doesn't work:
we can't let the database do the sorting of files. We need a proxy for
this.
|
|
Introduced filestreewidget, just like seriestreewidget. The connection
is still missing, though.
|