| 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.
|
|
|
|
|
|
| |
Implemented a new function showing all files belonging to the
selected series. The function respectect the current filter of
the SeriesTreeWidget.
|
|
|
|
| |
Added dialog for editing actors and genres.
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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/
|
|
|
|
|
|
|
|
|
|
| |
Make this options in the context and edit menu of FilesystemWidget
behave a lot more as expected. Copy and cut just copies the file names
to the clipboard, and paste paste moves them if they were cut and copies
them when the action was copy.
Still need to fix the colors when something is marked somehow. Should be
configurable :)
|
|
|
|
|
|
|
| |
Fix sort order of menuBar(). It was different in AV and FSV. First comes
Edit, then View.
Create seperate View menus for FSV and AV.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
| |
4 new actions to copy the file path to clipboard. It's either the unix
full path, the unix dir, the windows full path or the windows dir. For
the latter '/' is replaced with '\' and a drive letter is prepended.
The drive letter is configurable in the ConfigurationDialog. While at it
I revamped it and added another tab to make it more user friendly.
|
|
|
|
|
|
|
|
|
| |
Implemented a new dialog to show movies without covers. The view is a
QTreeView with another model. While working on the model several
shortcomings of SmTreeModel were resolved. findValue() now takes another
argument to indicate the column the returned QModelIndex() should
represent. Also, itemAt() was promoted from private to protected. It's
quite useful for derived classes.
|
|
|
|
|
|
|
| |
Added new action to mark files as seen. Marked files have the foreground
color red.
For this the database connection is needed quite early, so I had to call
SmGlobals::instance() in the constructor of SheMov without using it.
|
|
|
|
|
|
| |
DVDs or CDs can be mounted under *NIX like OS now. It still eludes me
how to refresh a directory from a QFileSystemModel when it's mounted.
Maybe it's a qt bug...
|
|
|
|
| |
Implemented a toolbar with various actions. Also did some artwork :)
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
New context menu entry in FSWidget: archive selected. The selected files
will be inserted into the MovieInfoPage when archiving a movie.
|
|
|
|
|
|
| |
Added the possibility to edit file part numbers via context menu in
FilesTreeWidget. This action triggers the edit event on the specific
QModelIndex.
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Until now doubleclicking an item with children in SeriesTreeWidget did 3
things:
1. Expand or collapse the item
2. Trigger editing
3. Start playing all child movies in the default player
This is not really expected behavior. So I disabled all EditTriggers on
SeriesTreeView and set expandsOnDoubleClick to false. To still retain
the ability to edit series a new slot was introduced to SeriesTreeWidget
triggering the edit event. It's available from the SeriesTreeWidget
context menu.
Now doubleclicking an item in SeriesTreeView just plays all child
movies.
Child items also have their name changed when changing the parent item.
This bug was long present in renameSeries. mergeSeries always did the
right thing (tm).
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
Implemented a function in MappingTableModel to remove all actors/genres
with no references in the according mapping table. Available through the
"File" menu.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
| |
Construct a window title in ArchiveTreeView and show it when Tab is
activated or file mode is changed.
Also deleted the unneded slot newWindowTitle in SheMov: setWindowTitle
is a slot by itself.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
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 filter for showing only local files or only archived files.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The first page of NewMovieWizard gave me quite a headache. It crashed
with a segmentation fault because of exposing mDvdNo via registerField()
without actually assigning a QCheckBox to it. The backtrace isn't very
helpful in such a case.
I also fixed some bugs on the way:
1. use SmTreeItem::setData in SmTreeModel::addRow instead of deleting
the old item and creating a new one. This way I don't need to take care
of the parent.
2. get data of old item in SmTreeModel::reparent before calling
removeRows. This call deletes the item.
3. Fix column alignments in WizardTreeModel for size column
|
|
|
|
| |
Implemented expand and collapse actions for SeriesTreeWidget.
|
|
|
|
|
|
| |
Implemented SeriesTreeModel::findFiles in preparation for deleting files
from SeriesTreeView. Totally untested, of course, and the new action in
SheMov doesn't do anything.
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
Made ArchiveTreeView work and took a look at it. Right now flat
view seems to be the better alternative.
|
|
|
|
|
| |
Added function to copy actors, covers, genre, dvd and quality to other
parts of the same movie if movie has multiple files.
|
|
|
|
|
| |
Get rid of EditArchiveItemDialog and CoverArchiveEditor. The
functionality of the classes is implemented in ArchiveItemEditDialog.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Use ArchiveItemEditDialog instead of EditArchiveItemDialog. The latter
will soon be obsolete and removed. Terrible naming, though. This commit
is not as atomic as I want it to be, but it can't be helped.
I had to fix several bugs in ArchveItemInfoEdit and ArchiveItemCoverEdit
on the way:
-Fix layout of ArchiveItemCoverEdit
-Make white background of warning label in ArchiveItemCoverEdit work
-Add function to ArchiveItemInfoEdit to init the ActorModel and
FileInfoModel
-Add function to ArchiveItemInfoEdit to return selected actors
Beware: The update button still does nothing!
|
|
|
|
|
| |
Removed the code for archive extraction. Never used it, never liked it
and really never worked properly.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Implemented "Play selected movies" and "Open with" functions in
ArchiveViewWidget.
Also fixed a potential crash when re-creating the "Open with"-submenus.
It's not possible to remove actions from an ActionGroup while iterating
over the group with foreach. The ActionGroup is modified when calling
removeAction() thus throwing the iterator of the loop off.
Solution:
First remove the actions from the ActionGroup and then delete the
ActionGroup itself. The QObject destructor will take care of the
contained Actions.
|
|
|
|
|
|
|
| |
Make actions for FilesystemWidget more Qt-like. Wrapped Rename menu into
an Action and got rid of the ugly findAction(). Use signal instead.
Also added actions for OpenWith.
|
|
|
|
|
|
|
| |
The window position and size is now written to disk on exit and read on
startup. Also, the expanded directories from the tree are saved and
restored. This means I can get rid of this ugly expand dirs on startup
thing. Never liked it very much.
|
|
|
|
| |
git-svn-id: file:///var/svn/repos2/shemov/trunk@420 f440f766-f032-0410-8965-dc7d17de2ca0
|
|
|
|
|
|
|
| |
-implemented aboutShemov and aboutQt
git-svn-id: file:///var/svn/repos2/shemov/trunk@405 f440f766-f032-0410-8965-dc7d17de2ca0
|
|
|
|
| |
git-svn-id: file:///var/svn/repos2/shemov/trunk@404 f440f766-f032-0410-8965-dc7d17de2ca0
|