Index: /trunk/ab5.0/abdev/abdev/DialogBoxes.cpp
===================================================================
--- /trunk/ab5.0/abdev/abdev/DialogBoxes.cpp	(revision 717)
+++ /trunk/ab5.0/abdev/abdev/DialogBoxes.cpp	(revision 718)
@@ -1020,5 +1020,4 @@
 BOOL bOptionToolbar;
 BOOL bOptionRad;
-BOOL bOptionWeb;
 BOOL temp_bSaveCheckProject;
 BOOL temp_bLineAdjust;
@@ -1039,7 +1038,4 @@
 CTheme obj_temp_Theme;
 
-BOOL temp_bCtrlKeyHyperLink;
-BOOL temp_bSaveWebFindStr;
-CDBDomain *pobj_temp_DBDomain;
 
 void SaveSetting(void){
@@ -1118,14 +1114,4 @@
 		//ライン アジャスタ
 		pobj_nv->bLineAdjust=temp_bLineAdjust;
-	}
-	if(bOptionWeb){
-		pobj_nv->bCtrlKeyHyperLink=temp_bCtrlKeyHyperLink;
-
-		pobj_nv->bSaveWebFindStr=temp_bSaveWebFindStr;
-
-		//SideWebウィンドウを再表示
-		//delete pobj_SideWeb;
-		//pobj_SideWeb=new CSideWeb(hOwner);
-		//ActiveBasic::IDE::Program::mainFrame.Resized();
 	}
 	return;
@@ -1962,145 +1948,4 @@
 	return 0;
 }
-char szDomainAdd_Name[255];
-char szDomainAdd_Domain[255];
-BOOL CALLBACK Dlg_Option_Web_Domain_Add(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam){
-	switch(message){
-		case WM_INITDIALOG:
-			SetPosCenter(hwnd);
-			SetFocus(GetDlgItem(hwnd,IDC_NAME));
-
-			if(lParam!=-1){
-				SetWindowText(hwnd,"Web検索用ドメインを編集");
-				SetDlgItemText(hwnd,IDC_NAME,szDomainAdd_Name);
-				SetDlgItemText(hwnd,IDC_DOMAIN,szDomainAdd_Domain);
-			}
-			break;
-		case WM_COMMAND:
-			switch(LOWORD(wParam)){
-				case IDOK:
-					GetDlgItemText(hwnd,IDC_NAME,szDomainAdd_Name,255);
-					GetDlgItemText(hwnd,IDC_DOMAIN,szDomainAdd_Domain,255);
-					EndDialog(hwnd,1);
-					return 1;
-				case IDCANCEL:
-					EndDialog(hwnd,0);
-					return 1;
-			}
-			return 0;
-	}
-	return 0;
-}
-BOOL CALLBACK Dlg_Option_Web(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam){
-	HWND hListView;
-	NMHDR *nmhdr;
-	int i;
-	char temporary[255];
-	switch(message){
-		case WM_INITDIALOG:
-
-			bOptionWeb=1;
-
-
-			//Ctrlキーによるハイパーリンク
-			if(pobj_nv->bCtrlKeyHyperLink) SendDlgItemMessage(hwnd,IDC_CTRLKEY_HYPERLINK,BM_SETCHECK,BST_CHECKED,0);
-
-			//Web検索文字列を保存するかどうか
-			if(pobj_nv->bSaveWebFindStr) SendDlgItemMessage(hwnd,IDC_SAVE_WEBFINDSTR,BM_SETCHECK,BST_CHECKED,0);
-
-
-			//拡張スタイル
-			DWORD dwStyle;
-			hListView=GetDlgItem(hwnd,IDC_DOMAIN_LIST);
-			dwStyle=ListView_GetExtendedListViewStyle(hListView);
-			dwStyle|=LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES;
-			ListView_SetExtendedListViewStyle(hListView,dwStyle);
-
-			LV_COLUMN ListView_Column;
-			ListView_Column.mask=LVCF_FMT | LVCF_WIDTH | LVCF_TEXT | LVCF_SUBITEM;
-			ListView_Column.fmt=LVCFMT_LEFT;
-
-			ListView_Column.cx=80;
-			ListView_Column.pszText="表示名";
-			ListView_Column.iSubItem=0;
-			ListView_InsertColumn(hListView,ListView_Column.iSubItem,&ListView_Column);
-
-			ListView_Column.cx=200;
-			ListView_Column.pszText="ドメイン";
-			ListView_Column.iSubItem++;
-			ListView_InsertColumn(hListView,ListView_Column.iSubItem,&ListView_Column);
-
-			//一時オブジェクトにコピー
-			pobj_temp_DBDomain->copy_get(pobj_nv->pobj_DBDomain);
-
-			//ドメインリストにデータをセット
-			pobj_temp_DBDomain->SetListView(hListView);
-
-			break;
-		case WM_COMMAND:
-			switch(LOWORD(wParam)){
-				case IDC_ADD:
-					if(!DialogBoxParam(hResInst,MAKEINTRESOURCE(IDD_OPTION_WEB_DOMAIN_ADD),hwnd,(DLGPROC)Dlg_Option_Web_Domain_Add,-1)) return 1;
-
-					pobj_temp_DBDomain->add(szDomainAdd_Name,szDomainAdd_Domain);
-					return 1;
-				case IDC_DELETE:
-					hListView=GetDlgItem(hwnd,IDC_DOMAIN_LIST);
-					for(i=0;i<ListView_GetItemCount(hListView);i++){
-						if(ListView_GetItemState(hListView,i,LVIS_SELECTED)){
-							ListView_GetItemText(hListView,i,0,temporary,255);
-							pobj_temp_DBDomain->del(temporary);
-							break;
-						}
-					}
-					return 1;
-				case IDC_EDIT:
-					hListView=GetDlgItem(hwnd,IDC_DOMAIN_LIST);
-					for(i=0;i<ListView_GetItemCount(hListView);i++){
-						if(ListView_GetItemState(hListView,i,LVIS_SELECTED)){
-							ListView_GetItemText(hListView,i,0,temporary,255);
-
-							ListView_GetItemText(hListView,i,0,szDomainAdd_Name,255);
-							ListView_GetItemText(hListView,i,1,szDomainAdd_Domain,255);
-							lstrcpy(temporary,szDomainAdd_Name);
-							if(!DialogBoxParam(hResInst,MAKEINTRESOURCE(IDD_OPTION_WEB_DOMAIN_ADD),hwnd,(DLGPROC)Dlg_Option_Web_Domain_Add,i)) return 1;
-
-							pobj_temp_DBDomain->change(temporary,szDomainAdd_Name,szDomainAdd_Domain);
-						}
-					}
-					return 1;
-			}
-			return 0;
-		case WM_NOTIFY:
-			nmhdr=(NMHDR *)lParam;
-			if(nmhdr->code==PSN_APPLY||nmhdr->code==PSN_KILLACTIVE){
-
-				//Ctrlキーによるハイパーリンク
-				if(SendDlgItemMessage(hwnd,IDC_CTRLKEY_HYPERLINK,BM_GETCHECK,0,0)) temp_bCtrlKeyHyperLink=1;
-				else temp_bCtrlKeyHyperLink=0;
-
-				//Web検索文字列を保存するかどうか
-				if(SendDlgItemMessage(hwnd,IDC_SAVE_WEBFINDSTR,BM_GETCHECK,0,0)) temp_bSaveWebFindStr=1;
-				else temp_bSaveWebFindStr=0;
-
-				if(nmhdr->code==PSN_APPLY) SaveSetting();
-			}
-			if(nmhdr->idFrom==IDC_DOMAIN_LIST){
-				if(nmhdr->code==NM_DBLCLK){
-					LPNMLISTVIEW lpnmListView;
-					lpnmListView=(LPNMLISTVIEW)lParam;
-
-					char szBeforeName[255];
-					ListView_GetItemText(nmhdr->hwndFrom,lpnmListView->iItem,0,szDomainAdd_Name,255);
-					ListView_GetItemText(nmhdr->hwndFrom,lpnmListView->iItem,1,szDomainAdd_Domain,255);
-					lstrcpy(szBeforeName,szDomainAdd_Name);
-					if(!DialogBoxParam(hResInst,MAKEINTRESOURCE(IDD_OPTION_WEB_DOMAIN_ADD),hwnd,(DLGPROC)Dlg_Option_Web_Domain_Add,lpnmListView->iItem)) return 1;
-
-					pobj_temp_DBDomain->change(szBeforeName,szDomainAdd_Name,szDomainAdd_Domain);
-				}
-			}
-			return 1;
-	}
-	return 0;
-}
 void DlgOptionSetting(HWND hwnd){
 	PROPSHEETHEADER psh;
@@ -2115,5 +1960,4 @@
 	bOptionToolbar=0;
 	bOptionRad=0;
-	bOptionWeb=0;
 
 	i=0;
@@ -2159,21 +2003,6 @@
 #endif
 
+
 	i++;
-	psp[i].dwSize=sizeof(PROPSHEETPAGE);
-	psp[i].dwFlags=PSP_DEFAULT;
-	psp[i].hInstance=hResInst;
-	psp[i].pszTemplate=MAKEINTRESOURCE(IDD_OPTION_WEB);
-	psp[i].pfnDlgProc=(DLGPROC)Dlg_Option_Web;
-	hpsp[i]=CreatePropertySheetPage(&psp[i]);
-
-	i++;
-
-
-
-	///////////////////////////
-	// 一時オブジェクトを生成
-	///////////////////////////
-
-	pobj_temp_DBDomain=new CDBDomain();
 
 
@@ -2189,12 +2018,4 @@
 	psh.ppsp=psp;
 	PropertySheet(&psh);
-
-
-
-	///////////////////////////
-	// 一時オブジェクトを破棄
-	///////////////////////////
-
-	delete pobj_temp_DBDomain;
 }
 BOOL CALLBACK DialogAbout(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam){
Index: /trunk/ab5.0/abdev/abdev/NonVolatile.cpp
===================================================================
--- /trunk/ab5.0/abdev/abdev/NonVolatile.cpp	(revision 717)
+++ /trunk/ab5.0/abdev/abdev/NonVolatile.cpp	(revision 718)
@@ -518,8 +518,8 @@
 
 	//Ctrlキーによるハイパーリンク
-	bCtrlKeyHyperLink=1;
+	bCtrlKeyHyperLink=0;
 
 	//Web検索文字列を保存するかどうか
-	bSaveWebFindStr=1;
+	bSaveWebFindStr=0;
 
 	//アクティブ デザイン テーマ
Index: /trunk/ab5.0/jenga/include/common/Environment.h
===================================================================
--- /trunk/ab5.0/jenga/include/common/Environment.h	(revision 717)
+++ /trunk/ab5.0/jenga/include/common/Environment.h	(revision 718)
@@ -19,5 +19,5 @@
 	{
 		static std::string appDir;
-		if( appDir.size() == 0 )
+		if( appDir.empty() )
 		{
 			char temporary[MAX_PATH];
@@ -40,5 +40,5 @@
 	{
 		static std::string appFileName;
-		if( appFileName.size() == 0 )
+		if( appFileName.empty() )
 		{
 			char temporary[MAX_PATH];
@@ -57,5 +57,5 @@
 	{
 		static std::string appFilePath;
-		if( appFilePath.size() == 0 )
+		if( appFilePath.empty() )
 		{
 			char temporary[MAX_PATH];
@@ -66,4 +66,25 @@
 		return appFilePath;
 	}
+
+	static const std::string &GetUserAppDir()
+	{
+		static std::string userAppDir;
+		if( userAppDir.empty() )
+		{
+			char szDirPath[MAX_PATH];
+			if( SHGetSpecialFolderPath( NULL, szDirPath, CSIDL_APPDATA, TRUE ) == FALSE )
+			{
+				throw;
+			}
+			userAppDir = szDirPath;
+
+			if( userAppDir[userAppDir.size()-1] == '\\' )
+			{
+				userAppDir = userAppDir.substr( 0, userAppDir.size() - 1 );
+			}
+		}
+
+		return userAppDir;
+	}
 };
 
Index: /trunk/ab5.0/jenga/src/common/Directory.cpp
===================================================================
--- /trunk/ab5.0/jenga/src/common/Directory.cpp	(revision 717)
+++ /trunk/ab5.0/jenga/src/common/Directory.cpp	(revision 718)
@@ -8,5 +8,10 @@
 	if ( isMake )
 	{
-		if (!::MakeSureDirectoryPathExists(path.c_str()))
+		std::string tempPath = path;
+		if( !tempPath.empty() && tempPath[tempPath.size()-1] != '\\' )
+		{
+			tempPath += "\\";
+		}
+		if (!::MakeSureDirectoryPathExists(tempPath.c_str()))
 		{
 			Jenga::Throw( "MakeSureDirectoryPathExists failed!" );
