W7 Tab thumbnails in dolphin.
Review Request #102758 - Created Oct. 3, 2011 and discarded
|Andrius da Costa Ribas|
|kde-baseapps, kdeaccessibility, kdewin, plasma|
Add Windows 7 tab thumbnails feature to dolphin. Mostly based on the example from <http://nicug.blogspot.com/2011/03/windows-7-taskbar-extensions-in-qt-tab.html>. An icon representation is used instead of actual thumbnails ( please agree that those microscopic previews are not useful at all ;] ). Changing an icon when url changes is also easier than checking all the time whether something inside the window has been changed. Using icons is a lot more KDE-ish and therefore more beautiful and user-friendly than the default Windows behavior ;). "win7utils.h" and "win7utils.cpp" are from <https://github.com/xfreebird/blogstuff/tree/master/qt/thumbnailtabs_example1> with few adaptations.
Tested using MSVC 2010 32 bit, in a Windows 7 64 bit machine. May need testing: - Compiling under mingw-w32 and mingw-w64 - Using Windows Vista or below to ensure there are no side-efects on a box without this feature. - Using Windows 8 (I don't know much about its bugs^H^H^H^Hfeatures ;] ) Known problems: - There is no way to know if KTabBar got a tab reordered, so the "thumbnails" won't be reordered, but their reference is still correct - Undefined behavior when dolphin gets unresponsive [e.g.: because of a defective kioslave], most of the code assume dolphin is okay [e.g.: QPixmap::grabWidget won't work in a frozen window].
I always recommend to get in contact with the maintainers of an application _before_ investigating so much work into a new feature. In this case I'm very sorry to say that this cannot get pushed because of the following reasons: - I'm unable to maintain this code as I don't do any Dolphin development on Windows (and cannot do it because of having limited time) - I'd like to keep platform dependent code in Dolphin as minimal as possible - For the 4.9 release of the KDE applications (= Dolphin 2.1) a long overdue cleanup of DolphinMainWindow will be done (separated code for tabs etc) and I won't be able to refactor this platform specific code :-(
We still should test this patch on all the other possible platforms (xp, vista & with mingw compilers) so that we have an idea which other problems are hidden in here. For the time until the 4.9 release, I think we can apply this as a patch against our builds.