| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
| |
Get rid of Q_FOREARCH, use type safe connect syntax, remove members that
don't have to be members, the usual.
|
| |
|
|
|
|
| |
to type safe connect and weed out Q_FOREACH.
|
| |
|
|
|
|
|
|
| |
Subclass QTreeView to show a custom context menu. Since the depth of
some items is > 1, add an option to expand and collapse a node
recursively.
|
| |
|
|
|
|
| |
Replacement: SearchDialog
|
|
|
|
|
| |
If in FileWidget, show and raise SearchDialog on CTRL+s, hide it on CTRL
+x. Show busy cursor while searching.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Once again this should have been 2 commits: one for Helper::icon and
another one for making font boldness selectable, but well...
|
|
|
|
|
|
|
| |
This should have been two commits, really. One for the actors, and
another one for the icon helper.
Helper::icon returns an QIcon with a circle in bg color and the char c.
|
| |
|
|
|
|
|
|
| |
Display Title and Filename search as non-modal dialog, so one can
compare Files and Database. For now only Title search is implemented.
Filename search does nothing (yet).
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This endeavor started out quite innocently: fix the connect syntax in
ProgressDialog, but it quickly became much more. Vom Höxchen aufs
Stöxchen :)
First I thought it would be nice to add a total count to the
ProgressDialog. Then I realized that I had QElapsedTimer::restart()
totally wrong. It returns the ms *since the last restart*! It doesn't
reset to zero, so fix that.
While testing that I noticed that the download speed was quite below
average, so change the buffer size and only check if we were cancelled
when the timer elapsed. But that wasn't it. Eventually I dug into my
firewall rules and routings to get it right.
|
|
|
|
|
|
|
| |
Use type safe connect syntax and remove one Q_FOREACH makro.
Make the reject button a non-member, but keep the OK button. I thought
about gettring rid of the latter, too, but deactivating OK when no match
is the most sensible way to go...
|
|
|
|
| |
use type safe connect syntax and make the QTabWidget a non-member.
|
|
|
|
|
|
| |
* use type safe connect syntax
* use lambdas as slot for selecting programs
* make accept and cancel non-members. They're not needed anywhere else.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
If a descript.ion file exists in the current directory of fileWidget,
read the subjects into a QStringList to determine the usenet subject
from within ShemovCleaner.
No more tedious task switching to the usenet client, just trigger "Guess
subject..." :)
|
| |
|
| |
|
|
|
|
|
| |
Update favorite dirs when adding or removing favorite directories. Also
try to keep the current selection.
|
|
|
|
| |
Forgot to set fd->seconds when gathering data.
|
|
|
|
|
|
| |
The MIME-type is a regular expression that can be configured. Show the
configured types in a QComboBox with the special value "<all>" at the
top, which invalidates the MIME type filter.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Use item instead of directory in var and function names to make clear
that this a general purpose widget.
Introduce a mode, so we can hide the browse button if we're not
selecting directories.
Make the label configurable and use different icons for folders or other
items.
|
|
|
|
|
| |
It's much more general purpose than I thought. I'm gonna reuse the code
for MIME-type filters later on.
|
| |
|
|
|
|
|
|
| |
This Widget lets you select a list of directories. It's basically about
code reuse. We're gonna need this later when implementing the favorite
directories feature.
|
|
|
|
|
| |
Convert to type safe connect syntax and remove Q_FOREACH. Hopefully no
functional changes :)
|
|
|
|
|
|
| |
Implement functions to remove files from cached data, or clear it
completely. This may be necessary if something happened without us
knowing, e.g. a file was copied by another program.
|
|
|
|
| |
No functional changes.
|
|
|
|
|
| |
Implement looking up the cache dir as Helper::function. Create it if it
doesn't exist.
|
|
|
|
| |
Forgot setting copied to true...
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Well, we cannot cache the Present attribute, because it can change
without our knowledge, when a movie file has been archived in the
meantime. Leave it in CachedFileData for now, but check it when we found
a cache entry.
While working on this, I realized that the Origin attribute is pretty
much useless, at least in its current form. countMd5() already checks
the origin table, and everything else was guesswork on the filename.
Also, it was an extra, quite expensive SQL-Query for every video file,
so remove it.
|
| |
|
|
|
|
|
| |
Only remove something from the view if deletion was successful. If it
was a file, try to remove it from the cache.
|
| |
|
|
|
|
|
|
|
|
|
| |
Since we already have the data, save it to speed up the start.
Surprisingly, the hardest part was to figure out how to use
QStandardPaths to find a location where to save the file. I went with
the semi-hardcoded path HomeLocation/.shemovcleaner, even though we're
on windows.
|
|
|
|
|
|
|
|
|
|
| |
Some data-gathering is quite expensive and requires a QProcess, like
getting the duration, so cache it in memory using QCache. Once the cache
is filled, the UI is much snappier.
This simplifies gatherData() a bit. It's still quite a long function,
but now it doesn't create the QStandardItems any more. I moved it to a
separate function.
|
|
|
|
|
|
| |
QFile::remove() fails when the read-only attribute is set. Turn out it
can be unset with QFile::setPermissions(QFile::ReadOther |
QFile::WriteOther). Try it when the initial call to remove() failed.
|
|
|
|
|
| |
Well, finally got this stuff to build anything again, even in the right
places. This is getting quite convoluted...
|
|
|
|
|
| |
Apparently that function is deprecated in Qt 5.10. As suggested, use
QFileInfo::birthTime() instead.
|
|
|
|
|
|
| |
Since the advent of lambdas as SLOTS the signal mapper is indeed useless
und overly complicated. Remove it due to a deprecation warning from the
compiler.
|