Created attachment 62671 [details] History patch for KUrlnavigator Version: unspecified (using Devel) OS: Linux This patch provides new methods in order to solve bug https://bugs.kde.org/show_bug.cgi?id=157819 Goes to a specific position in the URL history. bool goToHistory(int index); Returns true if index is available. bool canGoTo(int index) const; Save a KUrlNavigator parameters into a NavigatorData struct. NavigatorData saveNavigator() const; Restore previous KUrlNavigator parameters to current KUrlNavigator. void restoreNavigator(const NavigatorData navdata); I'm new to KDE, QT and C++, any input is welcomed. Reproducible: Didn't try Expected Results: N/A
Thanks for the patch and your efforts to fix bug 157819, but it really would have been great if you'd have asked the maintainers of Dolphin and KUrlNavigator _before_ investigating so much time into this quite huge combination of this patch + the patch for bug 157819... I know that the KUrlNavigator interface is quite crappy and that a cleanup must be done for KDE Framework 5, however to solve bug 157819 there is no need to do any interface extension to KUrlNavigator: - You can ask the number of history entries by KUrlNavigator::historySize() and the current index by KUrlNavigator::historyIndex() - Any data that needs additionally to get saved can be done in a generic way by KUrlNavigator::saveLocationState(). What's ugly with the current KUrlNavigator interface is how the iterating through the items must be done to get the whole location-states of the history. But still it is possible without adding new interfaces... So for KDE Framework 4.x I don't plan to extend the the current KUrlNavigator interface. There are plans to do a major cleanup for KDE Framework 5 and any input would be very welcome, but I'm sorry to say that this patch cannot get merged. A short note regarding the patch for bug 157819: There are plans for Dolphin 2.0 to split up DolphinMainWindow in smaller, more maintainable sub-classes and this was one reason why the history-feature has not been implemented yet, as the cleanup should be applied first before adding another feature to DolphinMainWindow. As said above: Please, please drop the maintainers a short note _before_ implementing a new feature of this size. I understand that this is frustrating but I still hope that you'll continue to contribute patches :-)