Git Branch for new tab handling

Emmanuel Pescosta emmanuelpescosta099 at gmail.com
Wed Sep 11 14:55:39 BST 2013


Thanks Frank!

> I don't think I'm in a position
You are the maintainer ;)

> however, I still think that pushing directly to master might be better
for rather small and
> self-contained changes
Yes for small changes master makes sense, but my changes are relatively big
so a
branch for this is better than master ;)

@Luigi:
Thanks for the infos!
But in this case branching is better than cloning I think.

@Everybody:
Please test the branch "emmanuelp/tabhandling" and send me an email if you
have troubles
with the new implementation (and please help with reviewing the new code,
thanks!)

http://quickgit.kde.org/?p=kde-baseapps.git&a=shortlog&h=2943ac85ba139b2131295d3d7cb60ce22f15e79f

Changes:
Remove all code related to tab- and split-view handling from
DolphinMainWindow and
move the functionality into different classes.

Overview:
https://git.reviewboard.kde.org/media/uploaded/files/2013/09/11/dolphin_tab_handling.svg



Benefits:

    * Much smaller DolphinMainWindow -> easier maintenance
    * Encapsulate the functionality into different classes like
DolphinRecentTabsMenu,
      DolphinTabPage (Split View handling) and DolphinTabWidget (Tab
handling)
    * Port away from KTabBar to QTabBar and QTabWidget instead of
hiding/showing DolphinViews in a vertical layout
      (Brings some other benefits like smooth tab changing - fading, keep
settings for every tab page like splitter size, ...)
    * Make it easier for other developers to read the code or to change
something in the tab/split view handling of Dolphin
    * Make it possible to fix some bugs very easily, which are hard to fix
with the old code

New classes:
    * DolphinTabPage - QWidged based, handles the two views, splitter and
the layout
    * DolphinTabWidget - QTabWidget based, does the tab handling (create
tabs, remove tabs, update tab title/icon, ...)
    * DolphinTabBar - QTabBar based, handles tab autoactivation, tab
context menu, tab drag and drop
    * PlacesPanelVisibilityObserver (Singleton) - Changes the places
selector visibility of all registered url navigators when

the visibility of the Places panel has been changed.
    * DolphinRecentTabsMenu - Manages the recently closed tabs
    * DolphinViewSignalAdapter

Already fixed bugs:
    * 305721

The DolphinTabWidget is the new central widget for DolphinMainWindow.

Thanks for your help!
Emmanuel




2013/9/10 Luigi Toscano <luigi.toscano at tiscali.it>

> On Tuesday 10 of September 2013 17:44:33 Frank Reininghaus wrote:
> > We have never really used feature branches in Dolphin before, but I
> > think that people working on other projects just push stuff to
> > personal feature branches all the time (however, I still think that
> > pushing directly to master might be better for rather small and
> > self-contained changes because it is less effort and ensures that the
> > new code gets wide testing immediately).
>
> Sorry for jumping in here, but you could also use a personal clone, if you
> want:
>
>
> http://community.kde.org/Sysadmin/GitKdeOrgManual#Personal_clones_of_project_repositories
>
> Ciao
> --
> Luigi
> > Regards,
> > Frank
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.kde.org/mailman/private/kfm-devel/attachments/20130911/e096b20b/attachment.htm>


More information about the kfm-devel mailing list