| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
| |
First try on fixing this. Still use
QItemSelectionModel::selectionChanged, but ignore the QItemSelections.
Use QItemSelectionModel::selectedRows() instead and compute the
seriesPartIds on every change. Hopefully this guarantees having valid
QModelIndexes all the time.
This fix also obsoletes the quite awkward function
SeriesTreeWidget::mapToSource(). Make the QSortProxyModel of
SeriesTreeWidget available through SeriesTreeWidget::seriesProxy()
instead.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Well, the point of this commit was to have one NewMovieWizard in memory
all the time and just show it when it's needed.
For this several things were necessary:
1. implement initializePage() for every QWizardPage. For this I had to
implement reset functions in some models.
2. setOption(QWizard::IndependentPages, true) in Wizard constructor.
3. Make NewMovieWizard a member of SheMov... Well, it was, already, but
I didn't remove the ptr.
The good news: the Wizard works.
Bad News:
1. Program crashes in ArchiveViewWizard::currentChanged (see TODOS)
2. Cover files also have a quality Attribute attached.
|
|
|
|
|
|
|
| |
Select the last selected series with
QItemSelectionModel::setCurrentIndex(), otherwise the current index
won't be set. On closing the program currentIndex() would be invalid and
nothing is selected when starting SheMov again.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
| |
SeriesTreeWidget::writeSettings() writes currentIndex() to QSettings on
close. readSettings() selects it again on startup.
I tried to remember all selected indexes, but that got way too complex
and didn't work when SeriesParts were selected. Somehow
QItemSelectionModel wouldn't select indexes with parents other than
QModelIndex().
|
|
|
|
|
|
| |
Don't add items to mExpandedItems in readSettings. This already happens
in the slot itemExpanded. Before the list quickly filled up with
duplicate entries.
|
|
|
|
|
|
| |
Finally we can add covers to already existsing series. Seems to work,
but I encountered a crash when merging series while testing...
Unfortunately I don't know the cause.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Movie files are played in the default player when double clicking on a
movie, but not when doubleclicking on a series. The latter invokes the
edit event on the series. Don't yet know if this is a good thing or not.
Changes on the way there:
1. new helper function for finding the right player. Still need to fix
FileSystemWidget to also use the Helper::function. It's a simple copy &
paste from there.
2. added function SeriesTreeModel::findSortedMovies. It returns a
QFileInfoList sorted by seriespart and fileno.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
Implemented expand and collapse actions for SeriesTreeWidget.
|
|
|
|
|
| |
SeriesTreeWidget now retains its last state regarding sort order and
expanded items.
|
|
|
|
| |
Sort Parts regarding to their part number.
|
|
|
|
|
|
|
|
|
|
|
| |
Implemented frontend for SeriesTreeModel::deleteFromSeries. I hope
QPersistentModelIndexes work as advertised. From the qt-sources it seems
that a QPersistentModelIndex is automatically updated by
QAbstractItemModel when calling begin(Remove|Insert)Rows. Testing worked
out fine.
While at it I found a bug in SmTreeModel. removeRows has to be called
with (i - 1) instead of (i) to remove the correct nodes.
|
|
|
|
| |
It compiles, let's ship it. Totally untested.
|
|
|
|
|
|
|
|
| |
Another not so atomic commit. Inserting a new serie by triggering the
action in the context menu now works. While at it I revamped setData and
put the if/elses into functions.
Also fixed a bug in setData: Use TypeRole instead of the Fields enum.
|
|
|
|
|
|
| |
Adding an item to the TreeView works, but it doesn't get focus after
inserting. Also the data is not shown. And setting the title of the new
item should make the database puke.
|
|
|
|
|
| |
-Hide columns 1 - 5 in SeriesTreeWidget
-Resort SeriesTreeWidget when SeriesName is changed
|
|
Implemented a widget for showing series in a tree. Also implemented
filtering and sorting for this widget.
Some bugfixes and enhancements:
-Show dildo as DecorationRole in SeriesWidget
-removed Quality from SeriesWidget
|