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__ */