Adam Treat treat at kde.org
Wed Aug 23 00:00:15 UTC 2006

SVN commit 576055 by treat:

Add top-level UI mode and docked window mode to kdevelop 4.

This should be roughly analagous to what designer 4 does.  Right
now, the top-level UI mode does not place the top-level windows
in any kind of smart manner, but everything in time...  Top-level
UI mode should be good for Xinerama users and those who want a UI
similar to designer or XCode.

This patch completely changes the API for KDevMainWindow and how plugins
are inserted into the UI.  The API has been simplified and I've modified
all the plugins to use this new API.  Individual plugins that inherit
KDevPlugin no longer need to worry about adding themselves and removing
themselves from KDevMainWindow as this is accomplished by the plugin

However, individual plugins that inherit KDevPlugin and wish to have some
sort of UI need to override a couple of new virtual functions in KDevPlugin.

1) virtual Qt::DockWidgetArea dockWidgetAreaHint() const;
2) virtual bool isCentralPlugin() const;
3) virtual QWidget *pluginView() const;

The docs for these methods can be found in KDevPlugin.  The quanta devs
will want to modify their plugins to use this new API.

In order to switch between UI modes, I've created a new KCM.  In the future,
this KCM might hold other UI options, like whether a taskbar entry should
appear for plugin windows in top-level mode or whether the mainwindow should
always stay on top... etc, etc.

This is all still very rough, but you have to start somewhere, right?

CCMAIL: kdevelop-devel at kdevelop.org

 M  +1 -0      buildtools/importers/generic/kdevgenericimporter.cpp  
 M  +1 -0      languages/cpp/parsejob.cpp  
 M  +1 -1      languages/csharp/csharplanguagesupport.cpp  
 M  +8 -24     lib/kdevdocumentcontroller.cpp  
 M  +416 -84   lib/kdevmainwindow.cpp  
 M  +30 -41    lib/kdevmainwindow.h  
 M  +1 -0      lib/kdevpartcontroller.cpp  
 M  +41 -53    lib/kdevplugin.cpp  
 M  +34 -37    lib/kdevplugin.h  
 M  +5 -0      lib/kdevplugincontroller.cpp  
 M  +3 -0      lib/kdevprojectcontroller.cpp  
 M  +204 -193  lib/projectmanager/kdevprojectmanager_part.cpp  
 M  +4 -0      lib/projectmanager/kdevprojectmanager_part.h  
 M  +7 -5      lib/settings/CMakeLists.txt  
 A             lib/settings/envsettings.ui   lib/settings/kdevenvsettings.ui#575412
 D             lib/settings/kcm_kdevelop_settings.desktop  
 A             lib/settings/kcm_kdevproject_settings.desktop   lib/settings/kcm_kdevelop_settings.desktop#575930
 A             lib/settings/kcm_kdevui_settings.desktop  
 D             lib/settings/kdevelopconfig.kcfg  
 D             lib/settings/kdevelopconfig.kcfgc  
 D             lib/settings/kdeveloppreferences.cpp  
 D             lib/settings/kdeveloppreferences.h  
 D             lib/settings/kdevenvsettings.ui  
 M  +1 -1      lib/settings/kdevenvwidget.h  
 A             lib/settings/kdevprojectconfig.kcfg   lib/settings/kdevelopconfig.kcfg#575930
 A             lib/settings/kdevprojectconfig.kcfgc   lib/settings/kdevelopconfig.kcfgc#575930
 A             lib/settings/kdevprojectpreferences.cpp   lib/settings/kdeveloppreferences.cpp#575931 [License: GPL (v2+)]
 A             lib/settings/kdevprojectpreferences.h   lib/settings/kdeveloppreferences.h#575931 [License: GPL (v2+)]
 A             lib/settings/kdevuiconfig.kcfg  
 A             lib/settings/kdevuiconfig.kcfgc  
 A             lib/settings/kdevuipreferences.cpp   [License: GPL (v2+)]
 A             lib/settings/kdevuipreferences.h   [License: GPL (v2+)]
 A             lib/settings/projectsettings.ui   lib/settings/settingswidget.ui#575412
 D             lib/settings/settingswidget.ui  
 A             lib/settings/uisettings.ui  
 M  +4 -4      plugins/CMakeLists.txt  
 M  +8 -1      plugins/codeview/kdevcodeview.cpp  
 M  +10 -7     plugins/codeview/kdevcodeview_part.cpp  
 M  +3 -4      plugins/codeview/kdevcodeview_part.h  
 M  +8 -1      plugins/documentview/kdevdocumentview.cpp  
 M  +14 -10    plugins/documentview/kdevdocumentview_part.cpp  
 M  +4 -4      plugins/documentview/kdevdocumentview_part.h  
 M  +29 -23    plugins/fileselector/fileselector_part.cpp  
 M  +4 -0      plugins/fileselector/fileselector_part.h  
 M  +4 -2      plugins/fileselector/fileselector_widget.cpp  
 M  +18 -19    plugins/guibuilder/guibuilder_part.cpp  
 M  +8 -0      plugins/konsole/kdevkonsoleview.cpp  
 M  +10 -14    plugins/konsole/kdevkonsoleview_part.cpp  
 M  +4 -0      plugins/konsole/kdevkonsoleview_part.h  
 M  +1 -0      src/kdevelopui.rc  

More information about the KDevelop-devel mailing list