summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Bugfix NewMovieWizardArno2010-12-301-0/+1
| | | | | Use alternatingRowColors in MovieInfoPage::mFileView also to make the GUI more consistent.
* Usability fix: NewMovieWizardArno2010-12-301-1/+3
| | | | | | Use the directory pictures were selected from last time as start directory for the add files... button. Save the last directory in a seperate QSettings entry.
* Pimp my filters!Arno2010-12-2814-30/+228
| | | | | | | | | | | | 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/
* Configuration option for archived filesArno2010-12-274-2/+22
| | | | | Added color selection for archived files to make more clearly which files aren't present on the filesystem.
* Made all icons in qresource available for UIArno2010-12-2716-13/+75
| | | | | | | | | | | | | | | | 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.
* Made colors configurableArno2010-12-2613-9/+202
| | | | | | | | | 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.
* Remove MessageDialogArno2010-12-224-86/+0
| | | | Remove all references of MessageDialog, including files :)
* Removed last instances of MessageDialogArno2010-12-222-67/+34
| | | | | | Removed two instances of MessageDialog from FileView and replaced them with QInputDialogs. Also got rid of the awkward doCreateFolder and doMark slots.
* Fix copy, cut and paste filesArno2010-12-214-64/+123
| | | | | | | | | | 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 rename files in FSWidgetArno2010-12-185-40/+30
| | | | | | Rename files inline, letting the model do all the work. Part of getting rid of MessageDialog. Maybe this broke the filename templates. We'll see...
* Fix hover in FileSystemWidgetArno2010-12-172-45/+75
| | | | | Hover over movies in FileSystemWidget. Make it stick to the selected hover options.
* Moved class PictureViewerInfoItemArno2010-12-165-74/+44
| | | | | PictureViewerInfoItem is only used in PictureViewer, so no need for a sepearte file.
* Cache for frame grabbingArno2010-12-165-24/+124
| | | | | | | | | 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.
* Set caption for HoverWindowArno2010-12-133-0/+32
| | | | | Implement a caption for HoverWindow. Used to show the filename when hovering.
* Buxfixes for HoverWindowArno2010-12-131-1/+9
| | | | | | | Resize widget to content when switching from pixmap to text content. To get the size let QTextDocument render the HTML and then get the size. Also set the initial opacity to the configured value in the constructor.
* Mark local filesArno2010-12-121-0/+5
| | | | Show files present on filesystem in Qt::darkBlue.
* Hover fixArno2010-12-125-9/+72
| | | | | | | 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.
* Fixed windowTitle when showing archiveArno2010-12-121-1/+1
| | | | | In d617e0679b426 I fixed a bug not to access the mode name hash when mode = -1, but forgot to fix ArchiveTreeView::constructWindowTitle().
* Added missing filesArno2010-12-112-0/+0
| | | | Well... should learn to explicitly add artwork :(
* Fix another hover issueArno2010-12-111-0/+3
| | | | Hide hover window if in HoverMove and the file does not exist.
* Fix menusArno2010-12-112-47/+83
| | | | | | | 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.
* Implement hover over moviesArno2010-12-1110-54/+159
| | | | | | | | | | | | | | | | | | | | 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
* Edit values in archiveArno2010-12-069-113/+112
| | | | | | | | | | 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.
* Fix doubleclick on pictures with DvdNoArno2010-12-051-10/+13
| | | | | | | | 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().
* Code cleanupArno2010-12-053-18/+1
| | | | | | Remove debug statements from FileSystemWidget. Also remove useless helper func StringListContains. That was a goodie. I guess I was quite drunk when I wrote that...
* Typo fixArno2010-12-051-1/+1
| | | | windwos != windows
* Selectable columns in FilesTreeViewArno2010-12-059-27/+126
| | | | | | | | | 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.
* Added action to copy file path to clipboardArno2010-11-286-31/+139
| | | | | | | | | 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.
* Bugfix in addCoverArno2010-11-271-2/+1
| | | | | | Fixed long standing bug in SeriesTreeWidget::addCover(). If the target directory didn't exist, the file wouldn't be copied. Use Helper::moveToArchive instead of QFile::rename.
* Allow removing non existant filesArno2010-11-271-9/+0
| | | | | If a file didn't exist on the FS it wasn't possible to remove it. The checks were too zealous.
* Added missing fileArno2010-11-271-0/+0
| | | | Icon higheels.png was missing.
* Streamline database accessArno2010-11-274-3/+10
| | | | | | | | | An unsuccessfull attempt to get rid of the warning "connection treedb is still in use..." by trying to delete all queries and setting mDb to QSqlDatabase() in the destructor. Strangely enough, the warning is only issued from inside QtCreator... Maybe it's some kind of race.
* Remove unused QSignalMapperArno2010-11-271-2/+0
| | | | | Remove unused QSignalMapper from shemov causing a warning on startup. Seems to be a leftover from implementing the toolbar.
* Implemented dialog for showing movies without coversArno2010-11-278-5/+276
| | | | | | | | | 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.
* Removed obsolete class filesArno2010-11-263-73/+0
| | | | | class TextEnterDialog was removed some time ago, maybe with commitd617e06. Remove files also.
* Implemented mark as seenArno2010-11-214-8/+125
| | | | | | | 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.
* Solved update problem during mountArno2010-11-211-5/+22
| | | | | Keep FSWidget updated when mounting a dvd. It's an ugly hack involving changing the current directory several times, but it works...
* Added missing file diaper.pngArno2010-11-201-0/+0
|
* Added support for mounting cd/dvdsArno2010-11-205-1/+80
| | | | | | 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...
* Added configuration option for dvd mountArno2010-11-202-2/+67
| | | | | Preparation for new action dvd mount. Add setting for dvd mount directory.
* Fixed layout issues in ProgramConfiguratorArno2010-11-201-0/+3
| | | | | Align all widgets at top by adding an empty layout with only a stretch at the bottom.
* Added ToobarArno2010-11-0713-7/+95
| | | | Implemented a toolbar with various actions. Also did some artwork :)
* Bugfix in moveToBurn()Arno2010-11-063-1/+22
| | | | | | | | 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 :)
* Finish ConsistencyCheckerArno2010-11-062-36/+182
| | | | | | | | This commit reverts the previous one. You don't need a QTimer to start a QThread member function in a separate thread. Calling start() creates a new thread. Implemented filesystem check and polished the dialog.
* Let ConsistencyChecker run in QThreadArno2010-11-052-23/+39
| | | | | | | Until now ConsistencyChecker ran in the GUI-Thread. According to the docs the event loop of the QThread needs to be started to run something in the thread. So use a QTimer::singleShot() to start the check function.
* Finished database consistency checkArno2010-11-012-6/+36
| | | | | | Made the database consistency check work and added a filter to only show error messages in the output. The cause of the inconsistency still has to be investigated, though.
* First try on ConsistencyCheckerArno2010-10-317-4/+268
| | | | | | | 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.
* Added ".." entry to FileViewArno2010-10-315-1/+33
| | | | | | Show ".." entry in FileView and make it go to the parent directory. Had to work around QT Bug 14760: NoDot doesn't work so the "." entry has to be filtered in filterAcceptsRow()
* Fix about dialogArno2010-10-301-1/+1
| | | | | | Removed reference to cryptopp from about dialog. Not using it any more for a long time. Also added build field. When calling distrib.sh it's replaced with the commit no. and the date.
* Performance improvement in FileViewArno2010-10-301-45/+43
| | | | | | | | | | | | | This was a tricky one. Once again SheMov spinned at almost 100% CPU usage. This time FileView::event() was the culprit. Because FileView uses a QFileSystemModel it receives QTimer-Events every second. Unfortunately a static_cast from QEvent::Timer to QEvent::Hover* succeeds so we fetched the cursor position every second and tried to get a QModelIndex. This obviously is quite expensive. Fixed it by checking if e->type() is of QEvent::Hover* right at the beginning of FileView::event().