summaryrefslogtreecommitdiffstats
path: root/shemov.h
Commit message (Collapse)AuthorAgeFilesLines
* Fixed crash when remembering selected tab, improve performanceArno2010-10-231-0/+3
| | | | | | | | | | | 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 "Archive selected" actionArno2010-10-031-0/+2
| | | | | New context menu entry in FSWidget: archive selected. The selected files will be inserted into the MovieInfoPage when archiving a movie.
* Implemented editing of file part numbersArno2010-08-131-0/+1
| | | | | | Added the possibility to edit file part numbers via context menu in FilesTreeWidget. This action triggers the edit event on the specific QModelIndex.
* Fix doubleclick in FilesTreeWidgetArno2010-08-071-0/+1
| | | | | | | | | 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.
* Fixed edit trigger in SeriesTreeViewArno2010-08-051-0/+1
| | | | | | | | | | | | | | | | | | | | | 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).
* Implement FilePropertiesDialogArno2010-07-311-0/+1
| | | | | | | | | | | 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.
* Added database maintenance codeArno2010-07-311-0/+2
| | | | | | Implemented a function in MappingTableModel to remove all actors/genres with no references in the according mapping table. Available through the "File" menu.
* Bugfix commitArno2010-07-301-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Reset NewMovieWizardArno2010-07-281-0/+1
| | | | | | | | | | | | | | | | | 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.
* Set window title in ArchiveTreeViewArno2010-07-241-1/+0
| | | | | | | | 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.
* Big code cleanupArno2010-07-231-24/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Implemented add coversArno2010-07-181-0/+1
| | | | | | 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.
* Implemented delete files from tree viewArno2010-07-181-0/+1
| | | | | 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.
* Implemented setDvdNo for FilesTreeArno2010-07-181-0/+1
| | | | | | 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.
* Implemented "move to burn directory" for TreeWidgetArno2010-07-181-0/+3
| | | | | Files from the archive can be moved to a configurable directory with this function. The specified files won't be deleted from the database.
* Preparation for new move to burn implementationArno2010-07-171-0/+1
| | | | | | 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 two new file viewsArno2010-07-171-0/+8
| | | | Implemented filter for showing only local files or only archived files.
* Fix MovieInfoPageArno2010-07-041-0/+4
| | | | | | | | | | | | | | | 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
* expand/collape actions for SeriesTreeWidgetArno2010-06-181-0/+3
| | | | Implemented expand and collapse actions for SeriesTreeWidget.
* SeriesTreeModel::findFilesArno2010-06-171-0/+2
| | | | | | Implemented SeriesTreeModel::findFiles in preparation for deleting files from SeriesTreeView. Totally untested, of course, and the new action in SheMov doesn't do anything.
* Partial implementation of adding new SeriesArno Moeller2010-06-171-0/+3
| | | | | | 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 workArno2010-06-121-0/+2
| | | | | Made ArchiveTreeView work and took a look at it. Right now flat view seems to be the better alternative.
* Implemented copying of movie dataArno2010-05-301-0/+1
| | | | | 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 obsolete classesArno2010-05-291-3/+0
| | | | | Get rid of EditArchiveItemDialog and CoverArchiveEditor. The functionality of the classes is implemented in ArchiveItemEditDialog.
* Implement new ArchiveItemEditDialogArno2010-05-291-1/+2
| | | | | | | | | | | | | | | | 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!
* Cleanup archive extractionArno2010-05-141-3/+0
| | | | | Removed the code for archive extraction. Never used it, never liked it and really never worked properly.
* Added "Play selected" and "Open with" to ArchiveViewWidgetArno2010-05-141-6/+12
| | | | | | | | | | | | | | | 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.
* Revamp actions for FilesystemWidgetArno2010-05-111-0/+8
| | | | | | | 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.
* Implemented read/write settings at startup/exitArno2010-05-101-0/+5
| | | | | | | 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.
* -implemented play selected filesam2009-10-241-0/+1
| | | | git-svn-id: file:///var/svn/repos2/shemov/trunk@420 f440f766-f032-0410-8965-dc7d17de2ca0
* -started statistics. It compiles, but does nothing at all yetam2009-09-051-0/+5
| | | | | | | -implemented aboutShemov and aboutQt git-svn-id: file:///var/svn/repos2/shemov/trunk@405 f440f766-f032-0410-8965-dc7d17de2ca0
* -added free space label in statusbaram2009-08-281-0/+2
| | | | git-svn-id: file:///var/svn/repos2/shemov/trunk@404 f440f766-f032-0410-8965-dc7d17de2ca0
* -Modified MovieModel:am2009-08-151-0/+3
| | | | | | | | | | | ->FullPathRole and CoverPathRole ->maxValue of any column -Implemented move files to directory for burning -Implemented collective DVDNo change -Implemented delete from archive git-svn-id: file:///var/svn/repos2/shemov/trunk@402 f440f766-f032-0410-8965-dc7d17de2ca0
* -Implemented conlumnContains() in MovieModelam2009-08-141-0/+1
| | | | | | | | | | -Implemented guess-function in ArchiveEditDialog -Cumulative size is now shown in statusBar() when selecting items in ArchiveViewWidget -Fixed EditArchiveItemDialog allowing duplicate titles (neccessary after creating iseriesno and ipartno) -Fixed windowTitle() when changing tabs git-svn-id: file:///var/svn/repos2/shemov/trunk@401 f440f766-f032-0410-8965-dc7d17de2ca0
* -finished properties dialogam2009-08-011-0/+1
| | | | | | | -start mplayer detached from FileSystemWidget git-svn-id: file:///var/svn/repos2/shemov/trunk@397 f440f766-f032-0410-8965-dc7d17de2ca0
* -Finished CoverArchiveEditor (finally, don't like that piece of code, too ↵am2009-07-221-0/+4
| | | | | | | | | | complicated) -It's now possible to manually add a movie w/o a file -Some usability fixes git-svn-id: file:///var/svn/repos2/shemov/trunk@394 f440f766-f032-0410-8965-dc7d17de2ca0
* -Made CoverItem behave consistentam2009-07-211-0/+8
| | | | | | | | | | -get QModelIndex from MovieModel by movieId -ArchiveView: added delegates for dvd and size, MovieItem now returns size as int -Finished EditArchiveItemDialog -Reverted covereditor, it became too convoluted git-svn-id: file:///var/svn/repos2/shemov/trunk@393 f440f766-f032-0410-8965-dc7d17de2ca0
* -added ActorRole in MovieModelam2009-07-191-0/+5
| | | | | | | | -Fixed bug in MovieItem returning data and filling the model -Started on archive viewing git-svn-id: file:///var/svn/repos2/shemov/trunk@391 f440f766-f032-0410-8965-dc7d17de2ca0
* Again huge changes (should go on vacation more often :))am2009-07-181-2/+5
| | | | | | | | | | | | -turned archive tab into a QDialog -fixed duplicate handling in ListModel -fixed html output in archive dialog -actually made archiving work -changed covertype to text in database -fixed bug with covertype in coveritem git-svn-id: file:///var/svn/repos2/shemov/trunk@390 f440f766-f032-0410-8965-dc7d17de2ca0
* Huge changes:am2009-07-171-0/+2
| | | | | | | | | | | | | | -Created an application icon and one for archives -implemented database configuration dialog -implemented listeditor -implemented covereditor -implemented md5sum helper -implemented archivefilewidget -Debugging spree: fixed SQL-statements and ListModel git-svn-id: file:///var/svn/repos2/shemov/trunk@389 f440f766-f032-0410-8965-dc7d17de2ca0
* -Finished ConfigurationDialog->pathsam2009-07-131-0/+9
| | | | | | | | -Implemented ExtractorDialog (untested) -started work on extractor menus git-svn-id: file:///var/svn/repos2/shemov/trunk@386 f440f766-f032-0410-8965-dc7d17de2ca0
* -implemented cover rename and templatesam2009-07-121-0/+8
| | | | | | | -started on configurationdialog git-svn-id: file:///var/svn/repos2/shemov/trunk@385 f440f766-f032-0410-8965-dc7d17de2ca0
* -implemented deleteFilesam2009-07-111-0/+7
| | | | | | | | | | -implemented refresh -implemented copyFiles -implemented moveFiles -implemented renameFiles git-svn-id: file:///var/svn/repos2/shemov/trunk@384 f440f766-f032-0410-8965-dc7d17de2ca0
* -fixed display of windowTitleam2009-07-101-0/+2
| | | | | | | | | -focus FileView after startup and changing dir via directorybar -implemented createFolder -display action in statusBar() git-svn-id: file:///var/svn/repos2/shemov/trunk@383 f440f766-f032-0410-8965-dc7d17de2ca0
* -fixed selection handlingam2009-07-101-0/+1
| | | | | | | -implemented proper window titles (not yet working) git-svn-id: file:///var/svn/repos2/shemov/trunk@382 f440f766-f032-0410-8965-dc7d17de2ca0
* -added statusbar and no. of selected filesam2009-07-091-0/+9
| | | | git-svn-id: file:///var/svn/repos2/shemov/trunk@381 f440f766-f032-0410-8965-dc7d17de2ca0
* -added messagedialogam2009-07-081-0/+10
| | | | | | | -worked on keyboard navigation and selecting items, items can now be selected like in mc git-svn-id: file:///var/svn/repos2/shemov/trunk@380 f440f766-f032-0410-8965-dc7d17de2ca0
* -added some artworkam2009-07-061-0/+29
-started implementing FilesystemView git-svn-id: file:///var/svn/repos2/shemov/trunk@377 f440f766-f032-0410-8965-dc7d17de2ca0