widget/gtk/nsFilePicker.h

Wed, 31 Dec 2014 06:09:35 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 31 Dec 2014 06:09:35 +0100
changeset 0
6474c204b198
permissions
-rw-r--r--

Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.

     1 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
     2 /* This Source Code Form is subject to the terms of the Mozilla Public
     3  * License, v. 2.0. If a copy of the MPL was not distributed with this
     4  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
     6 #ifndef nsFilePicker_h__
     7 #define nsFilePicker_h__
     9 #include <gtk/gtk.h>
    11 #include "nsBaseFilePicker.h"
    12 #include "nsString.h"
    13 #include "nsTArray.h"
    14 #include "nsCOMArray.h"
    16 class nsIWidget;
    17 class nsIFile;
    19 class nsFilePicker : public nsBaseFilePicker
    20 {
    21 public:
    22   nsFilePicker();
    23   virtual ~nsFilePicker();
    25   NS_DECL_ISUPPORTS
    27   // nsIFilePicker (less what's in nsBaseFilePicker)
    28   NS_IMETHOD Open(nsIFilePickerShownCallback *aCallback);
    29   NS_IMETHODIMP AppendFilters(int32_t aFilterMask);
    30   NS_IMETHODIMP AppendFilter(const nsAString& aTitle, const nsAString& aFilter);
    31   NS_IMETHODIMP SetDefaultString(const nsAString& aString);
    32   NS_IMETHODIMP GetDefaultString(nsAString& aString);
    33   NS_IMETHODIMP SetDefaultExtension(const nsAString& aExtension);
    34   NS_IMETHODIMP GetDefaultExtension(nsAString& aExtension);
    35   NS_IMETHODIMP GetFilterIndex(int32_t *aFilterIndex);
    36   NS_IMETHODIMP SetFilterIndex(int32_t aFilterIndex);
    37   NS_IMETHODIMP GetFile(nsIFile **aFile);
    38   NS_IMETHODIMP GetFileURL(nsIURI **aFileURL);
    39   NS_IMETHODIMP GetFiles(nsISimpleEnumerator **aFiles);
    40   NS_IMETHODIMP Show(int16_t *aReturn);
    42   // nsBaseFilePicker
    43   virtual void InitNative(nsIWidget *aParent, const nsAString& aTitle);
    45   static void Shutdown();
    47 protected:
    49   void ReadValuesFromFileChooser(GtkWidget *file_chooser);
    51   static void OnResponse(GtkWidget* dialog, gint response_id,
    52                          gpointer user_data);
    53   static void OnDestroy(GtkWidget* dialog, gpointer user_data);
    54   void Done(GtkWidget* dialog, gint response_id);
    56   nsCOMPtr<nsIWidget>    mParentWidget;
    57   nsCOMPtr<nsIFilePickerShownCallback> mCallback;
    58   nsCOMArray<nsIFile> mFiles;
    60   int16_t   mSelectedType;
    61   int16_t   mResult;
    62   bool      mRunning;
    63   bool      mAllowURLs;
    64   nsCString mFileURL;
    65   nsString  mTitle;
    66   nsString  mDefault;
    67   nsString  mDefaultExtension;
    69   nsTArray<nsCString> mFilters;
    70   nsTArray<nsCString> mFilterNames;
    72 private:
    73   static nsIFile *mPrevDisplayDirectory;
    74 };
    76 #endif

mercurial