* Added information dialog for folder creation
[modest] / src / gnome / modest-platform.c
index 1877709..999e462 100644 (file)
  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-#include <modest-platform.h>
 #include <libgnomevfs/gnome-vfs-mime.h>
 #include <libgnomeui/gnome-icon-lookup.h>
 #include <tny-gnome-device.h>
 
+#include "modest-platform.h"
+#include "modest-mail-operation-queue.h"
+#include "modest-runtime.h"
+
 gboolean
 modest_platform_init (void)
 {      
@@ -77,3 +80,112 @@ modest_platform_get_file_icon_name (const gchar* name, const gchar* mime_type,
 
        return icon_name;
 }
+
+gboolean 
+modest_platform_activate_uri (const gchar *uri)
+{
+       modest_runtime_not_implemented (NULL);
+       return FALSE;
+}
+
+gboolean 
+modest_platform_show_uri_popup (const gchar *uri)
+{
+       modest_runtime_not_implemented (NULL);
+       return FALSE;
+}
+
+GdkPixbuf*
+modest_platform_get_icon (const gchar *name)
+{
+       GError *err = NULL;
+       GdkPixbuf* pixbuf;
+
+       g_return_val_if_fail (name, NULL);
+
+       pixbuf = gdk_pixbuf_new_from_file (name, &err);
+
+       if (!pixbuf) {
+               g_printerr ("modest: error while loading icon '%s': %s\n",
+                           name, err->message);
+               g_error_free (err);
+       }
+       
+       return pixbuf;
+}
+
+
+const gchar*
+modest_platform_get_app_name (void)
+{
+       return ("Modest");
+}
+
+gint 
+modest_platform_run_new_folder_dialog (GtkWindow *parent_window,
+                                      TnyFolderStore *parent_folder,
+                                      gchar *suggested_name,
+                                      gchar **folder_name)
+{
+       GtkWidget *dialog, *entry;
+       gboolean finished = FALSE;
+       gint result;
+       TnyFolder *new_folder;
+       ModestMailOperation *mail_op;
+
+       /* Ask the user for the folder name */
+       dialog = gtk_dialog_new_with_buttons (_("New Folder Name"),
+                                             parent_window,
+                                             GTK_DIALOG_MODAL,
+                                             GTK_STOCK_CANCEL,
+                                             GTK_RESPONSE_REJECT,
+                                             GTK_STOCK_OK,
+                                             GTK_RESPONSE_ACCEPT,
+                                             NULL);
+       gtk_box_pack_start (GTK_BOX(GTK_DIALOG(dialog)->vbox), 
+                           gtk_label_new (_("Please enter a name for the new folder")),
+                           FALSE, FALSE, 0);
+               
+       entry = gtk_entry_new_with_max_length (40);
+       gtk_box_pack_start (GTK_BOX(GTK_DIALOG(dialog)->vbox), 
+                           entry,
+                           TRUE, FALSE, 0);
+       
+       gtk_widget_show_all (GTK_WIDGET(GTK_DIALOG(dialog)->vbox));
+
+       result = gtk_dialog_run (GTK_DIALOG(dialog));
+       if (result == GTK_RESPONSE_ACCEPT)
+               *folder_name = g_strdup (gtk_entry_get_text (GTK_ENTRY (entry)));
+
+       gtk_widget_destroy (dialog);
+
+       return result;
+}
+
+gint
+modest_platform_run_confirmation_dialog (GtkWindow *parent_window,
+                                        ModestConfirmationDialogType type,
+                                        gpointer user_data)
+{
+       switch (type) {
+       case MODEST_CONFIRMATION_DELETE_FOLDER:
+               break;
+       };
+
+       /* TODO implement confirmation dialog */
+       return GTK_RESPONSE_CANCEL;
+}
+
+void
+modest_platform_run_information_dialog (GtkWindow *parent_window,
+                                       ModestInformationDialogType type)
+{
+       switch (type) {
+       case MODEST_INFORMATION_CREATE_FOLDER:
+               break;
+       case MODEST_INFORMATION_DELETE_FOLDER:
+               break;
+       };
+
+       /* TODO: implement a information dialog */
+}