[Kazehakase-devel 1821] 以前に選択したディレクトリを覚えていて欲しい

Back to archive index

Kouhei Sutou kou****@cozmi*****
2004年 12月 13日 (月) 00:08:58 JST


須藤です.

ファイルのアップロード時などにファイル選択ダイアログがでます
が,そこで選択したファイルのあるディレクトリを覚えていて,次
にダイアログが開いたときのデフォルトのディレクトリになると嬉
しいです.

ファイルアップロード時のダイアログでは添付のパッチでだいたい
私の希望する動作になります.上記の言葉の説明がわかりにくい場
合は参考になるかもしれません.

-------------- next part --------------
Index: src/mozilla/kz-mozfilepicker.cpp
===================================================================
RCS file: /cvsroot/kazehakase/kazehakase/src/mozilla/kz-mozfilepicker.cpp,v
retrieving revision 1.4
diff -u -p -r1.4 kz-mozfilepicker.cpp
--- src/mozilla/kz-mozfilepicker.cpp	30 Sep 2004 00:06:07 -0000	1.4
+++ src/mozilla/kz-mozfilepicker.cpp	12 Dec 2004 14:58:28 -0000
@@ -80,6 +80,8 @@
 /* Implementation file */
 NS_IMPL_ISUPPORTS1(KzFilePicker, nsIFilePicker)
 
+nsCString KzFilePicker::mPrevDirectory;
+
 KzFilePicker::KzFilePicker()
 {
 	NS_INIT_ISUPPORTS();
@@ -87,7 +89,10 @@ KzFilePicker::KzFilePicker()
 	/* member initializers and constructor code */
 	mFile = do_CreateInstance (NS_LOCAL_FILE_CONTRACTID);
 	mDisplayDirectory = do_CreateInstance (NS_LOCAL_FILE_CONTRACTID);
-	mDisplayDirectory->InitWithNativePath(nsDependentCString(g_get_home_dir()));
+	if (mPrevDirectory.IsEmpty()) {
+		mPrevDirectory = nsDependentCString(g_get_home_dir());
+	}
+	mDisplayDirectory->InitWithNativePath(mPrevDirectory);
 }
 
 KzFilePicker::~KzFilePicker()
@@ -435,6 +440,7 @@ NS_METHOD KzFilePicker::HandleFilePicker
 		nsCOMPtr<nsIFile> directory;
 		mFile->GetParent(getter_AddRefs(directory));
 		mDisplayDirectory = do_QueryInterface(directory);
+		mDisplayDirectory->GetNativePath(mPrevDirectory);
 		mFile->GetNativeLeafName(mDefaultString);
 	}
 
Index: src/mozilla/kz-mozfilepicker.h
===================================================================
RCS file: /cvsroot/kazehakase/kazehakase/src/mozilla/kz-mozfilepicker.h,v
retrieving revision 1.2
diff -u -p -r1.2 kz-mozfilepicker.h
--- src/mozilla/kz-mozfilepicker.h	14 Oct 2003 15:29:48 -0000	1.2
+++ src/mozilla/kz-mozfilepicker.h	12 Dec 2004 14:58:28 -0000
@@ -84,6 +84,8 @@ class KzFilePicker : public nsIFilePicke
 
 	GtkWidget *mParentWidget;	
 	GtkWidget *mFileSelector;
+
+	static nsCString mPrevDirectory;
 };
 
 #endif /* __KZ_MOZ_FILE_PICKER__ */


Kazehakase-devel メーリングリストの案内
Back to archive index