Revision 576055

Go back to digest for 27th August 2006

Features in Development Tools

Adam Treat committed changes in /trunk/KDE/kdevelop:

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
controller.

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?

File Changes

Added 13 files
  • /trunk/KDE/kdevelop/lib/settings
  •   /envsettings.ui
  •   /kcm_kdevproject_settings.desktop
  •   /kcm_kdevui_settings.desktop
  •   /kdevprojectconfig.kcfg
  •   /kdevprojectconfig.kcfgc
  •   /kdevprojectpreferences.cpp
  •   /kdevprojectpreferences.h
  •   /kdevuiconfig.kcfg
  •   /kdevuiconfig.kcfgc
  •   /kdevuipreferences.cpp
  •   /kdevuipreferences.h
  •   /projectsettings.ui
  •   /uisettings.ui
Deleted 7 files
  • /trunk/KDE/kdevelop/lib/settings
  •   /kcm_kdevelop_settings.desktop
  •   /kdevelopconfig.kcfg
  •   /kdevelopconfig.kcfgc
  •   /kdeveloppreferences.cpp
  •   /kdeveloppreferences.h
  •   /kdevenvsettings.ui
  •   /settingswidget.ui
Modified 30 files
  • /trunk/KDE/kdevelop
  •   /lib/kdevdocumentcontroller.cpp
  •   /lib/kdevmainwindow.cpp
  •   /lib/kdevmainwindow.h
  •   /lib/kdevpartcontroller.cpp
  •   /lib/kdevplugin.cpp
  •   /lib/kdevplugin.h
  •   /lib/kdevplugincontroller.cpp
  •   /lib/kdevprojectcontroller.cpp
  •   /plugins/CMakeLists.txt
  •   /src/kdevelopui.rc
  •   /languages/cpp/parsejob.cpp
  •   /languages/csharp/csharplanguagesupport.cpp
  •   /lib/projectmanager/kdevprojectmanager_part.cpp
  •   /lib/projectmanager/kdevprojectmanager_part.h
  •   /lib/settings/CMakeLists.txt
  •   /lib/settings/kdevenvwidget.h
  •   /plugins/codeview/kdevcodeview.cpp
  •   /plugins/codeview/kdevcodeview_part.cpp
  •   /plugins/codeview/kdevcodeview_part.h
  •   /plugins/documentview/kdevdocumentview.cpp
  •   /plugins/documentview/kdevdocumentview_part.cpp
  •   /plugins/documentview/kdevdocumentview_part.h
  •   /plugins/fileselector/fileselector_part.cpp
  •   /plugins/fileselector/fileselector_part.h
  •   /plugins/fileselector/fileselector_widget.cpp
  •   /plugins/guibuilder/guibuilder_part.cpp
  •   /plugins/konsole/kdevkonsoleview.cpp
  •   /plugins/konsole/kdevkonsoleview_part.cpp
  •   /plugins/konsole/kdevkonsoleview_part.h
  •   /buildtools/importers/generic/kdevgenericimporter.cpp
50 files changed in total