OSDN Git Service

設定ファイルに書き込めなかった場合にダイアログを表示していたのを抑制するよう変更。
authorsirakaba <sirakaba@9df91469-1e22-0410-86e7-ea8537beb833>
Sat, 28 Jan 2012 03:37:49 +0000 (03:37 +0000)
committersirakaba <sirakaba@9df91469-1e22-0410-86e7-ea8537beb833>
Sat, 28 Jan 2012 03:37:49 +0000 (03:37 +0000)
git-svn-id: svn+ssh://svn.sourceforge.jp/svnroot/tpi/tpi@594 9df91469-1e22-0410-86e7-ea8537beb833

doc/history.html
src/lychee/cls_config.cpp
src/lychee/cls_config.h

index ace2612..1d08cc2 100644 (file)
@@ -35,6 +35,7 @@
     <ul>\r
      <li class="add">TPI_INFO_HANDLE_ON_COMMANDを追加。</li>\r
      <li class="chg">Command()に書庫のハンドルを渡せるよう変更。</li>\r
+     <li class="chg">設定ファイルに書き込めなかった場合にダイアログを表示していたのを抑制するよう変更。</li>\r
     </ul>\r
    </dd>\r
    <dt>Lychee</dt>\r
index 84194ea..15311dd 100644 (file)
@@ -70,11 +70,14 @@ myConfig::myConfig() : wxFileConfig(wxEmptyString, wxEmptyString, L_DIR_BIN wxT(
                this->myReadHistory(CONF_HISTORY_FULL, i);\r
        }\r
        this->bWriteHistory = false;\r
+\r
+       // 設定ファイルが書き込めるか調査。\r
+       this->bWritable = ::wxFileName::IsFileWritable(L_DIR_BIN wxT("lychee.conf"));\r
 }\r
 \r
 myConfig::~myConfig()\r
 {\r
-       if (this->bWriteHistory)\r
+       if (this->bWritable && this->bWriteHistory)\r
        {\r
                this->myWriteHistoryLoop(CONF_HISTORY_PATH);\r
                this->myWriteHistoryLoop(CONF_HISTORY_NAME);\r
@@ -105,17 +108,17 @@ bool myConfig::ReadId(myConfigId confId, bool defaultVal)
 \r
 bool myConfig::WriteId(myConfigId confId, const wxString & value)\r
 {\r
-       return this->Write(this->label[confId], value);\r
+       return this->bWritable && this->Write(this->label[confId], value);\r
 }\r
 \r
 bool myConfig::WriteId(myConfigId confId, int value)\r
 {\r
-       return this->Write(this->label[confId], value);\r
+       return this->bWritable && this->Write(this->label[confId], value);\r
 }\r
 \r
 bool myConfig::WriteId(myConfigId confId, bool value)\r
 {\r
-       return this->Write(this->label[confId], value);\r
+       return this->bWritable && this->Write(this->label[confId], value);\r
 }\r
 \r
 //******************************************************************************\r
index 366a277..4aff5b9 100644 (file)
@@ -85,7 +85,7 @@ public:
 private:\r
        wxString label[CONF_LAST];\r
        wxArrayString asHistory[CONF_HISTORY_COUNT - CONF_HISTORY_PATH];\r
-       bool bWriteHistory;\r
+       bool bWriteHistory, bWritable;\r
 \r
        void myReadHistory(myConfigId confId, size_t i);\r
        void myWriteHistory(myConfigId confId, size_t i);\r