Create new files for the folder commands, and move the "Create new

folder" implementation into them.

svn path=/trunk/; revision=9889
This commit is contained in:
Ettore Perazzoli
2001-05-19 12:40:00 +00:00
parent e2edef6e5e
commit bb6a06a3cb
5 changed files with 181 additions and 12 deletions

View File

@ -1,3 +1,12 @@
2001-05-19 Ettore Perazzoli <ettore@ximian.com>
* e-shell-view-menu.c (command_create_folder): Call
`e_shell_command_create_new_folder()' implemented in
`e-shell-folder-commands.c'.
* e-shell-folder-commands.c: New.
* e-shell-folder-commands.h: New.
2001-05-17 Ettore Perazzoli <ettore@ximian.com>
* e-storage-set-view.c

View File

@ -96,6 +96,8 @@ evolution_SOURCES = \
e-setup.c \
e-setup.h \
e-shell-constants.h \
e-shell-folder-commands.c \
e-shell-folder-commands.h \
e-shell-folder-creation-dialog.c \
e-shell-folder-creation-dialog.h \
e-shell-folder-selection-dialog.c \

View File

@ -0,0 +1,125 @@
/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */
/* e-shell-folder-commands.h
*
* Copyright (C) 2001 Ximian, Inc.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public
* License along with this program; if not, write to the
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*
* Author: Ettore Perazzoli
*/
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
#include "e-shell-folder-commands.h"
#include "e-shell-constants.h"
#include "e-shell-folder-creation-dialog.h"
void
e_shell_command_create_new_folder (EShell *shell,
EShellView *shell_view)
{
const char *current_uri;
const char *default_folder;
g_return_if_fail (shell != NULL);
g_return_if_fail (E_IS_SHELL (shell));
g_return_if_fail (shell_view != NULL && E_IS_SHELL_VIEW (shell_view));
current_uri = e_shell_view_get_current_uri (shell_view);
if (strncmp (current_uri, E_SHELL_URI_PREFIX, E_SHELL_URI_PREFIX_LEN) == 0)
default_folder = current_uri + E_SHELL_URI_PREFIX_LEN;
else
default_folder = NULL;
e_shell_show_folder_creation_dialog (shell, GTK_WINDOW (shell_view), default_folder,
NULL /* result_callback */,
NULL /* result_callback_data */);
}
void
e_shell_command_open_folder_in_other_window (EShell *shell,
EShellView *shell_view)
{
g_return_if_fail (shell != NULL);
g_return_if_fail (E_IS_SHELL (shell));
g_return_if_fail (shell_view != NULL && E_IS_SHELL_VIEW (shell_view));
g_warning ("To be implemented");
}
void
e_shell_command_copy_folder (EShell *shell,
EShellView *shell_view)
{
g_return_if_fail (shell != NULL);
g_return_if_fail (E_IS_SHELL (shell));
g_return_if_fail (shell_view != NULL && E_IS_SHELL_VIEW (shell_view));
g_warning ("To be implemented");
}
void
e_shell_command_move_folder (EShell *shell,
EShellView *shell_view)
{
g_return_if_fail (shell != NULL);
g_return_if_fail (E_IS_SHELL (shell));
g_return_if_fail (shell_view != NULL && E_IS_SHELL_VIEW (shell_view));
}
void
e_shell_command_rename_folder (EShell *shell,
EShellView *shell_view)
{
g_return_if_fail (shell != NULL);
g_return_if_fail (E_IS_SHELL (shell));
g_return_if_fail (shell_view != NULL && E_IS_SHELL_VIEW (shell_view));
g_warning ("To be implemented");
}
void
e_shell_command_add_to_shortcut_bar (EShell *shell,
EShellView *shell_view)
{
g_return_if_fail (shell != NULL);
g_return_if_fail (E_IS_SHELL (shell));
g_return_if_fail (shell_view != NULL && E_IS_SHELL_VIEW (shell_view));
g_warning ("To be implemented");
}
void
e_shell_command_folder_properties (EShell *shell,
EShellView *shell_view)
{
g_return_if_fail (shell != NULL);
g_return_if_fail (E_IS_SHELL (shell));
g_return_if_fail (shell_view != NULL && E_IS_SHELL_VIEW (shell_view));
g_warning ("To be implemented");
}

View File

@ -0,0 +1,42 @@
/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */
/* e-shell-folder-commands.h
*
* Copyright (C) 2001 Ximian, Inc.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public
* License along with this program; if not, write to the
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*
* Author: Ettore Perazzoli
*/
#ifndef E_SHELL_FOLDER_COMMANDS_H
#define E_SHELL_FOLDER_COMMANDS_H
#include "e-shell.h"
#include "e-shell-view.h"
void e_shell_command_create_new_folder (EShell *shell, EShellView *shell_view);
void e_shell_command_open_folder_in_other_window (EShell *shell, EShellView *shell_view);
void e_shell_command_copy_folder (EShell *shell, EShellView *shell_view);
void e_shell_command_move_folder (EShell *shell, EShellView *shell_view);
void e_shell_command_rename_folder (EShell *shell, EShellView *shell_view);
void e_shell_command_add_to_shortcut_bar (EShell *shell, EShellView *shell_view);
void e_shell_command_folder_properties (EShell *shell, EShellView *shell_view);
#endif

View File

@ -47,6 +47,8 @@
#include "e-shell-view-menu.h"
#include "e-shell-importer.h"
#include "e-shell-folder-commands.h"
#include "e-util/e-gui-utils.h"
@ -410,22 +412,11 @@ command_create_folder (BonoboUIComponent *uih,
{
EShellView *shell_view;
EShell *shell;
const char *current_uri;
const char *default_folder;
shell_view = E_SHELL_VIEW (data);
shell = e_shell_view_get_shell (shell_view);
current_uri = e_shell_view_get_current_uri (shell_view);
if (strncmp (current_uri, E_SHELL_URI_PREFIX, E_SHELL_URI_PREFIX_LEN) == 0)
default_folder = current_uri + E_SHELL_URI_PREFIX_LEN;
else
default_folder = NULL;
e_shell_show_folder_creation_dialog (shell, GTK_WINDOW (shell_view), default_folder,
NULL /* result_callback */,
NULL /* result_callback_data */);
e_shell_command_create_new_folder (shell, shell_view);
}
static void