app: Make GimpDockWindow implement GimpDockContainer

Make GimpDockWindow implement the GimpDockContainer interface. The
plan is to make GimpImageWindow also implement the GimpDockContainer
interface when we start to session manage docks in single-window mode.
This commit is contained in:
Martin Nordholts
2011-05-09 18:03:18 +02:00
parent 2287b6e008
commit 4b9243fc60
5 changed files with 59 additions and 32 deletions

View File

@ -30,6 +30,7 @@
#include "widgets/gimpdialogfactory.h"
#include "widgets/gimpdock.h"
#include "widgets/gimpdockcolumns.h"
#include "widgets/gimpdockcontainer.h"
#include "widgets/gimpdockwindow.h"
#include "widgets/gimptoolbox.h"
@ -164,16 +165,18 @@ gimp_ui_configurer_move_docks_to_columns (GimpUIConfigurer *ui_configurer,
for (dialog_iter = dialogs; dialog_iter; dialog_iter = dialog_iter->next)
{
GimpDockWindow *dock_window = NULL;
GList *docks = NULL;
GList *dock_iter = NULL;
GimpDockWindow *dock_window = NULL;
GimpDockContainer *dock_container = NULL;
GList *docks = NULL;
GList *dock_iter = NULL;
if (!GIMP_IS_DOCK_WINDOW (dialog_iter->data))
continue;
dock_window = GIMP_DOCK_WINDOW (dialog_iter->data);
dock_window = GIMP_DOCK_WINDOW (dialog_iter->data);
dock_container = GIMP_DOCK_CONTAINER (dock_window);
docks = g_list_copy (gimp_dock_window_get_docks (dock_window));
docks = g_list_copy (gimp_dock_container_get_docks (dock_container));
for (dock_iter = docks; dock_iter; dock_iter = dock_iter->next)
{
GimpDock *dock = GIMP_DOCK (dock_iter->data);
@ -200,7 +203,7 @@ gimp_ui_configurer_move_docks_to_columns (GimpUIConfigurer *ui_configurer,
* destroyed
*/
if (GTK_IS_WIDGET (dock_window) &&
g_list_length (gimp_dock_window_get_docks (dock_window)) == 0)
g_list_length (gimp_dock_container_get_docks (dock_container)) == 0)
{
gimp_dialog_factory_remove_dialog (gimp_dialog_factory_get_singleton (),
GTK_WIDGET (dock_window));