Code

Node tool: fix Tab and Shift+Tab
[inkscape.git] / src / ui / dialog / filedialogimpl-gtkmm.h
index 94067a921ea289659776da7fe91cd75c84454729..af607c1244899f706d5ee832a21a5ca8f2e58504 100644 (file)
@@ -1,24 +1,25 @@
-#ifndef __FILE_DIALOGIMPL_H__
-#define __FILE_DIALOGIMPL_H__
-/**
- * Implementation of the file dialog interfaces defined in filedialogimpl.h
- *
- * Authors:
+/** @file
+ * @brief Implementation of the file dialog interfaces defined in filedialogimpl.h
+ */
+/* Authors:
  *   Bob Jamison
+ *   Johan Engelen <johan@shouraizou.nl>
  *   Joel Holdsworth
  *   Bruno Dilly
  *   Other dudes from The Inkscape Organization
  *
- * Copyright (C) 2004-2007 Bob Jamison
- * Copyright (C) 2006 Johan Engelen <johan@shouraizou.nl>
- * Copyright (C) 2007-2008 Joel Holdsworth
+ * Copyright (C) 2004-2008 Authors
  * Copyright (C) 2004-2007 The Inkscape Organization
  *
  * Released under GNU GPL, read the file 'COPYING' for more information
  */
+
+#ifndef __FILE_DIALOGIMPL_H__
+#define __FILE_DIALOGIMPL_H__
+
 #include "filedialog.h"
+#include "extension/system.h"
+
 //General includes
 #include <unistd.h>
 #include <sys/stat.h>
 //Another hack
 #include <gtk/gtkentry.h>
 #include <gtk/gtkexpander.h>
-#ifdef WITH_GNOME_VFS
-# include <libgnomevfs/gnome-vfs-init.h>  // gnome_vfs_initialized
-#endif
 
 //Inkscape includes
-#include "prefs-utils.h"
-#include <extension/input.h>
-#include <extension/output.h>
-#include <extension/db.h>
+#include "extension/input.h"
+#include "extension/output.h"
+#include "extension/db.h"
 #include "inkscape.h"
 #include "svg-view-widget.h"
-#include "gc-core.h"
 
 //For export dialog
 #include "ui/widget/scalar-unit.h"
+
 namespace Inkscape
 {
 namespace UI
@@ -192,7 +188,7 @@ public:
 protected:
     void cleanup( bool showConfirmed );
 
-    Glib::ustring preferenceBase;
+    Glib::ustring const preferenceBase;
     /**
      * What type of 'open' are we? (open, import, place, etc)
      */
@@ -250,7 +246,7 @@ public:
     Glib::ustring getFilename();
 
     std::vector<Glib::ustring> getFilenames();
-       
+
        Glib::ustring getCurrentDirectory();
 
 private:
@@ -285,11 +281,13 @@ class FileSaveDialogImplGtk : public FileSaveDialog, public FileDialogBaseGtk
 {
 
 public:
-    FileSaveDialogImplGtk(Gtk::Window &parentWindow, 
-                          const Glib::ustring &dir,
-                       FileDialogType fileTypes,
-                       const Glib::ustring &title,
-                       const Glib::ustring &default_key);
+    FileSaveDialogImplGtk(Gtk::Window &parentWindow,
+                          const Glib::ustring &dir,
+                          FileDialogType fileTypes,
+                          const Glib::ustring &title,
+                          const Glib::ustring &default_key,
+                          const gchar* docTitle,
+                          const Inkscape::Extension::FileSaveMethod save_method);
 
     virtual ~FileSaveDialogImplGtk();
 
@@ -305,6 +303,12 @@ private:
     void change_path(const Glib::ustring& path);
     void updateNameAndExtension();
 
+    /**
+     * The file save method (essentially whether the dialog was invoked by "Save as ..." or "Save a
+     * copy ..."), which is used to determine file extensions and save paths.
+     */
+    Inkscape::Extension::FileSaveMethod save_method;
+
     /**
      * Fix to allow the user to type the file name
      */
@@ -353,6 +357,8 @@ private:
 
 
 
+#ifdef NEW_EXPORT_DIALOG
+
 //########################################################################
 //# F I L E     E X P O R T
 //########################################################################
@@ -381,10 +387,10 @@ public:
 
     /**
      * Return the scope of the export.  One of the enumerated types
-     * in ScopeType     
+     * in ScopeType
      */
     ScopeType getScope()
-        { 
+        {
         if (pageButton.get_active())
             return SCOPE_PAGE;
         else if (selectionButton.get_active())
@@ -395,25 +401,25 @@ public:
             return SCOPE_DOCUMENT;
 
         }
-    
+
     /**
      * Return left side of the exported region
      */
     double getSourceX()
         { return sourceX0Spinner.getValue(); }
-    
+
     /**
      * Return the top of the exported region
      */
     double getSourceY()
         { return sourceY1Spinner.getValue(); }
-    
+
     /**
      * Return the width of the exported region
      */
     double getSourceWidth()
         { return sourceWidthSpinner.getValue(); }
-    
+
     /**
      * Return the height of the exported region
      */
@@ -569,10 +575,11 @@ private:
     Glib::ustring myFilename;
 };
 
+#endif // NEW_EXPORT_DIALOG
 
-}
-}
-}
+} // namespace Dialog
+} // namespace UI
+} // namespace Inkscape
 
 #endif /*__FILE_DIALOGIMPL_H__*/
 
@@ -585,4 +592,4 @@ private:
   fill-column:99
   End:
 */
-// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4 :
+// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:fileencoding=utf-8:textwidth=99 :