summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* 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().
* Fix hover issuesArno2010-10-2310-182/+182
| | | | | | | | | | | | | | 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.
* Fixed crash when remembering selected tab, improve performanceArno2010-10-236-151/+165
| | | | | | | | | | | 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.
* Implemented hovering in FilesystemWidgetArno2010-10-177-14/+124
| | | | | | | | | | | 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...
* Revert "Revert "Let HoverWindow always stay on screen""Arno2010-10-174-9/+23
| | | | | | This reverts commit 20df1c43f5b7425810b5d16e3658f0772aae9b6c. revert the revert... I actually wanted to check out something...
* Revert "Let HoverWindow always stay on screen"Arno2010-10-174-23/+9
| | | | This reverts commit a3a556cc8af3433de1f8d5e22a4ba62cc029f145.
* Let HoverWindow always stay on screenArno2010-10-174-9/+23
| | | | Fixed HoverWindow so it always stays completely on screeen.
* Made hovering configurableArno2010-10-167-21/+92
| | | | | | 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.
* Hover for FilesTreeWidgetArno2010-10-164-2/+88
| | | | | Hovering over a cover item in FilesTreeWidget shows a HoverWindow with the scaled image under the cursor.
* Created general purpose HoverWidgetArno2010-10-169-53/+96
| | | | | | 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.
* Implemented hover for SeriesTreeWidgetArno2010-10-163-2/+121
| | | | | SeriesTreeWidget show a popup window with the movies assigned to the series when hovering over a series entry.
* Change display in FSWidgetArno2010-10-032-1/+32
| | | | | | | | Display "Date modified" field in FSWidget as dd-mm-yyyy. Also show mime- I guess I should subclass QFileSystemModel instead of reimplementing data() in the proxy, because sorting by mimetype doesn't work as expected. Unfortunately the reason eludes me...
* Implemented "Archive selected" actionArno2010-10-034-24/+77
| | | | | New context menu entry in FSWidget: archive selected. The selected files will be inserted into the MovieInfoPage when archiving a movie.
* Fix oddities in NewMovieWizardArno2010-09-113-4/+33
| | | | | | | | | Well, this one should have been easy, but there's always a way to make things complicated. Select proper entries for mPartno and mFileType in NewMovieWizard. Note to self: never ever forget about QObject::blockSignals(bool) again. This is way easier than fiddling around with boolean logic...
* Fixed various bugs in NewMovieWizardArno2010-08-173-6/+10
| | | | | | | | | | | | | | | | | SmTreeModel had a serious bug: SmTreeItem would accept rows > mChildren.count() in SmTreeItem::child(int row). Do some sanity checks. This only happened when trying to edit the type of the last file in NewMovieWizard::MovieInfoPage, strangely enough. But this should fix it. While working on the Wizard I tried to figure out why mItemEdit->clear only sometimes worked. I guess it's because mItemEdit and the QCompleter were connected to the same QKeyEvent, the latter winning and doing the completion. "Fixed" this by removing the connection to the returnPressed() slot of mItemEdit and giving the "Add Item" button a shortcut. Don't really know if this is more annoying than pressing CTRL- Also fixed a small logic error in MappingTableItemModel::lowerBound(). Revert the logic if the sort order should be ascending.
* Implemented editing of file part numbersArno2010-08-136-2/+27
| | | | | | 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 Display nameArno2010-08-135-6/+23
| | | | | | 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.
* Show picture size or duration in FilesTreeViewArno2010-08-126-33/+124
| | | | | | | | | | | | Finally managed to view size of pictures or duration for movies in the file view. That values are not held in the database, they're created on the fly. For this to perform I created a disk based cache. I also had to create some convenience functions: FilesTreeModel::streamInfo(const QString &) FilesTreeModel::pictureInfo(const QString &) The cache is a QDataStream and will be deleted if the magic doesn't fit.
* Fix doubleclick in FilesTreeWidgetArno2010-08-074-0/+14
| | | | | | | | | 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.
* Bugfix in NewMovieWizardArno2010-08-072-13/+44
| | | | | | Make Part no work in NewMovieWizard. The logic for this was totally borked. Well, it was not really present. One could only assign one Part number to all files.
* Verion bumpArno2010-08-073-5/+1
| | | | Created version 1.0.0 treemodel. Also removed some <QDebug> includes.