OSDN Git Service

Ver0.13
authorMasayuki Satoh <miyabi.satoh@gmail.com>
Tue, 26 Aug 2014 11:54:41 +0000 (20:54 +0900)
committerMasayuki Satoh <miyabi.satoh@gmail.com>
Tue, 26 Aug 2014 11:54:41 +0000 (20:54 +0900)
README.md
ReadMe.txt
filetablemodel.cpp
mainwindow.cpp
mainwindow.ui
preferencedialog.cpp
preferencedialog.ui
simpletextview.cpp

index 0dcbfac..54f1515 100644 (file)
--- a/README.md
+++ b/README.md
@@ -12,10 +12,14 @@ Gefu is an Experimental File Utility.
   * 簡易FTPクライアント
   * SNS連携(タイムライン表示とか) ← ファイラーの機能か?
 
-#### 2014/08/26 Ver0.13
+#### 2014/08/26 Ver0.13 公開
   * 「最新バージョンをチェック」を「アップデートの確認」に文言変更。
     合わせて、ショートカットキーを「V」から「Shift+Z」に変更。
   * テキストビューアのコンテキストメニューに「選択範囲をクリップボードにコピー」を追加。
+  * テキストビューアについても、メニューまたはキーボードで文字の大きさを変更できるようにした。
+  * テキストビューアについても、カーソル移動系アクションを有効にした。
+  * 不具合修正
+    * 環境設定ダイアログで、「起動時のアップデート確認」の設定表示・変更ができていなかった。
 
 #### 2014/08/26 Ver0.12 公開
   * コンテキストメニューを実装。
index 4e63ab2..e9526f3 100644 (file)
 
 ◇ 連絡先 ◇
  Web:     https://sourceforge.jp/projects/gefu/
+          http://gefu.sourceforge.jp/
  Mail:    miyabi.satoh@gmail.com
  Twitter: https://twitter.com/miyabi_satoh
 
 ◇ 履歴 ◇
+#### 2014/08/26 Ver0.13
+  * 「最新バージョンをチェック」を「アップデートの確認」に文言変更。
+    合わせて、ショートカットキーを「V」から「Shift+Z」に変更。
+  * テキストビューアのコンテキストメニューに「選択範囲をクリップボードにコピー」を追加。
+  * テキストビューアについても、メニューまたはキーボードで文字の大きさを変更できるようにした。
+  * テキストビューアについても、カーソル移動系アクションを有効にした。
+  * 不具合修正
+    * 環境設定ダイアログで、「起動時のアップデート確認」の設定表示・変更ができていなかった。
+
 #### 2014/08/26 Ver0.12
-- コンテキストメニューを実装。
-- 拡張子を分離して表示するようにした。
-- ファイルビューの状態で文字の大きさを変更できるようにした。
-- GUIまわり(メニュー、ツールバー、ダイアログ)を調整。
-- テキストビューアの外観設定が反映されていなかったのを修正。
+  * コンテキストメニューを実装。
+  * 拡張子を分離して表示するようにした。
+  * ファイルビューの状態で文字の大きさを変更できるようにした。
+  * GUIまわり(メニュー、ツールバー、ダイアログ)を調整。
+  * テキストビューアの外観設定が反映されていなかったのを修正。
 
 #### 2014/08/25 Ver0.11
-- ファイル検索機能を実装。
-- 内部構造を大幅に変更。
-  (各ビューで処理していたアクションを、メインウィンドウで処理するように変更。)
-- 起動時の位置とサイズが常にデフォルト値になっていたのを修正。
-- バージョン情報ダイアログのリンク先をSourceForgeに変更。
+  * ファイル検索機能を実装。
+  * 内部構造を大幅に変更。
+    各ビューで処理していたアクションを、メインウィンドウで処理するように変更。
+  * 起動時の位置とサイズが常にデフォルト値になっていたのを修正。
+  * バージョン情報ダイアログのリンク先をSourceForgeに変更。
 
 #### 2014/08/24 Ver0.10
-- SourceForge.jp でプロジェクト公開。
-- 環境設定ダイアログの変更
-    - コントロールの活性・非活性切り替えを修正。
-    - フォント選択をダイアログ使用に変更。
-    - ファイルビューのサンプル表示を実際の形に変更。
-    - テキストビューアの設定を追加。
-- 安直な文字コード判別を実装
-    - BOMがあれば、それに従う。
-    - 先頭1KB中に文字コードを示す文字列("shift_jis"等)があれば、その文字コードに変換する。
-    - バイト単位で調べて推測(http://dobon.net/vb/dotnet/string/detectcode.html よりコードを拝借)
+  * 環境設定ダイアログの変更
+    * コントロールの活性・非活性切り替えを修正。
+    * フォント選択をダイアログ使用に変更。
+    * ファイルビューのサンプル表示を実際の形に変更。
+    * テキストビューアの設定を追加。
+  * 安直な文字コード判別を実装
+    * BOMがあれば、それに従う。
+    * 先頭1KB中に文字コードを示す文字列("shift_jis"等)があれば、その文字コードに変換する。
+    * バイト単位で調べて推測(http://dobon.net/vb/dotnet/string/detectcode.html よりコードを拝借)
 
 #### 2014/08/24 Ver0.09
-- 左右矢印キーに機能割り当て
-    - 左ペインで左矢印/右ペインで右矢印 → 親フォルダに移動
-    - 左ペインで右矢印/右ペインで左矢印 → 反対側のペインにフォーカス
-- ファイル名をクリップボードにコピーを実装。
-- フォルダ名をクリップボードにコピーを実装。
-- 簡易テキストビューアをとりあえず実装。
-  → 次バージョンでオプション設定等
-- 不具合修正
-    - Windows版で初回起動時、タイトルバーが画面外に出ていた。
-      → デフォルト位置・サイズ変更。
+  * 左右矢印キーに機能割り当て
+    * 左ペインで左矢印/右ペインで右矢印 → 親フォルダに移動
+    * 左ペインで右矢印/右ペインで左矢印 → 反対側のペインにフォーカス
+  * ファイル名をクリップボードにコピーを実装。
+  * フォルダ名をクリップボードにコピーを実装。
+  * 簡易テキストビューアをとりあえず実装。→ 次バージョンでオプション設定等
+  * 不具合修正
+    * Windows版で初回起動時、タイトルバーが画面外に出ていた。→ デフォルト位置・サイズ変更。
 
 #### 2014/08/23 Ver0.08
-- 「ターミナルで開く」を実装。
-- Shift+ダブルクリックで、ファイルを外部エディタで開くようにした。
-- Ctrl+ダブルクリックで、フォルダをターミナルで開くようにした。
-- 「色とフォント」にインポート・エクスポート機能を追加。
-- マスク表示(フィルタ)機能を追加。
-- 最新バージョンのチェック機能を追加。
-- 不具合修正
-    - Windows版でドライブ直下のフォルダを開くと落ちるのを修正。
+  * 「ターミナルで開く」を実装。
+  * Shift+ダブルクリックで、ファイルを外部エディタで開くようにした。
+  * Ctrl+ダブルクリックで、フォルダをターミナルで開くようにした。
+  * 「色とフォント」にインポート・エクスポート機能を追加。
+  * マスク表示(フィルタ)機能を追加。
+  * 最新バージョンのチェック機能を追加。
+  * 不具合修正
+    * Windows版でドライブ直下のフォルダを開くと落ちるのを修正。
 
 #### 2014/08/23 Ver0.07
-- ダブルクリック時、ファイルは標準の関連付けで実行するようにした。
-- 設定項目追加。
-- 「外部エディタで開く」を実装。
-- 不具合修正
-    - 初期表示時にカーソルがハイライトされない問題を修正。
+  * ダブルクリック時、ファイルは標準の関連付けで実行するようにした。
+  * 設定項目追加。
+  * 「外部エディタで開く」を実装。
+  * 不具合修正
+    * 初期表示時にカーソルがハイライトされない問題を修正。
 
 #### 2014/08/22 Ver0.06
-- 外部および内部のドラッグ&ドロップ処理を実装。
-- 一部ダイアログのレイアウト、初期サイズを調整。
-- 不具合修正
-    - 同一ファイルに対する強制上書きが考慮されていなかった。
-      → 先・元が同一の場合はスキップするようにした。
+  * 外部および内部のドラッグ&ドロップ処理を実装。
+  * 一部ダイアログのレイアウト、初期サイズを調整。
+  * 不具合修正
+    * 同一ファイルに対する強制上書きが考慮されていなかった。⇛ 先・元が同一の場合はスキップするようにした。
 
 #### 2014/08/22 Ver0.05
-- 外部アプリケーションからのドロップ処理を実装。
+  * 外部アプリケーションからのドロップ処理を実装。
 
 #### 2014/08/22 Ver0.04
-- 不具合修正
-    - ソート順でフォルダ位置が先頭以外の場合、".."もソートされていたのを修正。
-      (ソート方法によらず、".."は必ず先頭にした)
-    - 各ダイアログのフォーカス周りを修正。
-    - is "an" Experimental ... とか、バージョン情報ダイアログの修正。
-    - MacのDockにアイコンが正しく表示されていなかったのを修正。
-    - フォルダ内容変更による再読込時、カーソル位置が初期化されていたのを修正。
-- 「最新の情報に更新」を追加。
+  * 不具合修正
+    * ソート順でフォルダ位置が先頭以外の場合、".."もソートされていたのを修正。(ソート方法によらず、".."は必ず先頭にした)
+    * 各ダイアログのフォーカス周りを修正。
+    * is "an" Experimental ... とか、バージョン情報ダイアログの修正。
+    * MacのDockにアイコンが正しく表示されていなかったのを修正。
+    * フォルダ内容変更による再読込時、カーソル位置が初期化されていたのを修正。
+  * 「最新の情報に更新」を追加。
 
 #### 2014/08/21 Ver0.03
-- 環境設定ダイアログおよびオプションを実装。
-    - 終了時の確認ダイアログ。
-    - 起動時のウィンドウ位置・サイズ。
-    - 起動時に設定をリセット。
-    - 色とフォントの設定。
+  * 環境設定ダイアログおよびオプションを実装。
+    * 終了時の確認ダイアログ。
+    * 起動時のウィンドウ位置・サイズ。
+    * 起動時に設定をリセット。
+    * 色とフォントの設定。
 
 #### 2014/08/20 Ver0.02
-- QTableWidget -> QTableView + Modelへ変更し高速化。
-- フォルダ履歴機能を実装。
-- 行の高さを調整。
-- マーク時の背景色、前景色を変更。
-- ウィンドウの位置・サイズを保存するようにした。
+  * QTableWidget -> QTableView + Modelへ変更し高速化。
+  * フォルダ履歴機能を実装。
+  * 行の高さを調整。
+  * マーク時の背景色、前景色を変更。
+  * ウィンドウの位置・サイズを保存するようにした。
 
 #### 2014/08/18 Ver0.01
-- 名前変更ダイアログ(単一)のレイアウトを修正。
-- すべて選択等で、カーソル位置が変わらないようにした。
-- マークしているフォルダ数、ファイル数、合計ファイルサイズの表示を追加。
-- ファイルサイズを小数点第一位まで表示するようにした。
-- システム属性ファイルの表示/非表示機能を追加。
-- 名前ソートで大文字小文字を区別しないようにした。
-- ソート方法の選択機能を追加。
+  * 名前変更ダイアログ(単一)のレイアウトを修正。
+  * すべて選択等で、カーソル位置が変わらないようにした。
+  * マークしているフォルダ数、ファイル数、合計ファイルサイズの表示を追加。
+  * ファイルサイズを小数点第一位まで表示するようにした。
+  * システム属性ファイルの表示/非表示機能を追加。
+  * 名前ソートで大文字小文字を区別しないようにした。
+  * ソート方法の選択機能を追加。
 
 #### 2014/08/18 Ver0.00
-- 新規作成。
-
-
+  * 新規。
index b6c03a2..6676531 100644 (file)
@@ -165,9 +165,6 @@ void FileTableModel::updateAppearance()
     m_HiddenBrush = QBrush(settings.value(IniKey_ViewColorFgHidden).value<QColor>());\r
     m_ReadonlyBrush = QBrush(settings.value(IniKey_ViewColorFgReadonly).value<QColor>());\r
     m_ReadonlyBrush = QBrush(settings.value(IniKey_ViewColorFgReadonly).value<QColor>());\r
-\r
-//    beginResetModel();\r
-//    endResetModel();\r
 }\r
 \r
 void FileTableModel::directoryChange(const QString &path)\r
index 6bf1598..f2712c2 100644 (file)
@@ -1131,19 +1131,33 @@ void MainWindow::setCursorToBegin()
 {\r
     qDebug() << "MainWindow::setCursorToBegin();";\r
 \r
-    FolderView *v = folderView();\r
-    int row = 0;\r
-    v->setCurrentIndex(v->model()->index(row, 0));\r
+    if (ui->textView->hasFocus()) {\r
+        QTextCursor cursor = ui->textView->textCursor();\r
+        cursor.movePosition(QTextCursor::Start);\r
+        ui->textView->setTextCursor(cursor);\r
+    }\r
+    else {\r
+        FolderView *v = folderView();\r
+        int row = 0;\r
+        v->setCurrentIndex(v->model()->index(row, 0));\r
+    }\r
 }\r
 \r
 void MainWindow::cursorDown()\r
 {\r
     qDebug() << "MainWindow::cursorDown();";\r
 \r
-    FolderView *v = folderView();\r
-    int row = v->currentIndex().row() + 1;\r
-    if (row < v->model()->rowCount()) {\r
-        v->setCurrentIndex(v->model()->index(row, 0));\r
+    if (ui->textView->hasFocus()) {\r
+        QTextCursor cursor = ui->textView->textCursor();\r
+        cursor.movePosition(QTextCursor::Down);\r
+        ui->textView->setTextCursor(cursor);\r
+    }\r
+    else {\r
+        FolderView *v = folderView();\r
+        int row = v->currentIndex().row() + 1;\r
+        if (row < v->model()->rowCount()) {\r
+            v->setCurrentIndex(v->model()->index(row, 0));\r
+        }\r
     }\r
 }\r
 \r
@@ -1151,10 +1165,17 @@ void MainWindow::cursorUp()
 {\r
     qDebug() << "MainWindow::cursorUp();";\r
 \r
-    FolderView *v = folderView();\r
-    int row = v->currentIndex().row() - 1;\r
-    if (row >= 0) {\r
-        v->setCurrentIndex(v->model()->index(row, 0));\r
+    if (ui->textView->hasFocus()) {\r
+        QTextCursor cursor = ui->textView->textCursor();\r
+        cursor.movePosition(QTextCursor::Up);\r
+        ui->textView->setTextCursor(cursor);\r
+    }\r
+    else {\r
+        FolderView *v = folderView();\r
+        int row = v->currentIndex().row() - 1;\r
+        if (row >= 0) {\r
+            v->setCurrentIndex(v->model()->index(row, 0));\r
+        }\r
     }\r
 }\r
 \r
@@ -1162,9 +1183,16 @@ void MainWindow::setCursorToEnd()
 {\r
     qDebug() << "MainWindow::setCursorToEnd();";\r
 \r
-    FolderView *v = folderView();\r
-    int row = v->model()->rowCount() - 1;\r
-    v->setCurrentIndex(v->model()->index(row, 0));\r
+    if (ui->textView->hasFocus()) {\r
+        QTextCursor cursor = ui->textView->textCursor();\r
+        cursor.movePosition(QTextCursor::End);\r
+        ui->textView->setTextCursor(cursor);\r
+    }\r
+    else {\r
+        FolderView *v = folderView();\r
+        int row = v->model()->rowCount() - 1;\r
+        v->setCurrentIndex(v->model()->index(row, 0));\r
+    }\r
 }\r
 \r
 void MainWindow::setFontSizeDown()\r
@@ -1565,6 +1593,10 @@ void MainWindow::updateActions()
         ui->check_Update->setEnabled(true);\r
         ui->view_FontSizeDown->setEnabled(true);\r
         ui->view_FontSizeUp->setEnabled(true);\r
+        ui->move_Begin->setEnabled(true);\r
+        ui->move_Down->setEnabled(true);\r
+        ui->move_End->setEnabled(true);\r
+        ui->move_Up->setEnabled(true);\r
         ui->copy_Filename->setEnabled(true);\r
         ui->copy_Fullpath->setEnabled(true);\r
         ui->help_About->setEnabled(true);\r
index 41c28e6..5976040 100644 (file)
     <addaction name="move_Root"/>\r
     <addaction name="move_Jump"/>\r
     <addaction name="separator"/>\r
-    <addaction name="move_Down"/>\r
     <addaction name="move_Up"/>\r
+    <addaction name="move_Down"/>\r
     <addaction name="move_Begin"/>\r
     <addaction name="move_End"/>\r
+    <addaction name="separator"/>\r
+    <addaction name="move_UpOther"/>\r
+    <addaction name="move_DownOther"/>\r
+    <addaction name="move_BeginOther"/>\r
+    <addaction name="move_EndOther"/>\r
    </widget>\r
    <widget class="QMenu" name="menu_Operate">\r
     <property name="title">\r
     <string>-</string>\r
    </property>\r
   </action>\r
+  <action name="move_UpOther">\r
+   <property name="text">\r
+    <string>隣ペインのカーソルを上に</string>\r
+   </property>\r
+   <property name="toolTip">\r
+    <string>隣ペインのカーソルを上に</string>\r
+   </property>\r
+   <property name="shortcut">\r
+    <string>Shift+Up</string>\r
+   </property>\r
+  </action>\r
+  <action name="move_DownOther">\r
+   <property name="text">\r
+    <string>隣ペインのカーソルを下に</string>\r
+   </property>\r
+   <property name="toolTip">\r
+    <string>隣ペインのカーソルを下に</string>\r
+   </property>\r
+   <property name="shortcut">\r
+    <string>Shift+Down</string>\r
+   </property>\r
+  </action>\r
+  <action name="move_BeginOther">\r
+   <property name="text">\r
+    <string>隣ペインのカーソルを先頭に</string>\r
+   </property>\r
+   <property name="toolTip">\r
+    <string>隣ペインのカーソルを先頭に</string>\r
+   </property>\r
+   <property name="shortcut">\r
+    <string>Alt+Up</string>\r
+   </property>\r
+  </action>\r
+  <action name="move_EndOther">\r
+   <property name="text">\r
+    <string>隣ペインのカーソルを末尾に</string>\r
+   </property>\r
+   <property name="toolTip">\r
+    <string>隣ペインのカーソルを末尾に</string>\r
+   </property>\r
+   <property name="shortcut">\r
+    <string>Alt+Down</string>\r
+   </property>\r
+  </action>\r
  </widget>\r
  <layoutdefault spacing="6" margin="11"/>\r
  <customwidgets>\r
index 156d8b4..53c59c9 100644 (file)
@@ -77,8 +77,6 @@ PreferenceDialog::PreferenceDialog(QWidget *parent) :
     QRadioButton *radioBtn;
 
     //>>>>> 起動と終了
-    // 終了時の確認ダイアログ
-    ui->confirmExit->setChecked(settings.value(IniKey_ConfirmExit).toBool());
     // 起動時のサイズ
     ui->bootSize->setChecked(true);
     strValue = settings.value(IniKey_BootSizeSpec).toString();
@@ -115,6 +113,10 @@ PreferenceDialog::PreferenceDialog(QWidget *parent) :
     ui->relativeTop->setValue(point.y());
     // 起動時の設定削除
     ui->resetOnBoot->setChecked(settings.value(IniKey_ResetOnBoot).toBool());
+    // アップデートの確認
+    ui->checkUpdates->setChecked(settings.value(IniKey_CheckUpdates).toBool());
+    // 終了時の確認ダイアログ
+    ui->confirmExit->setChecked(settings.value(IniKey_ConfirmExit).toBool());
 
     //>>>>> 色とフォント、テキストビューア
     loadAppearance(settings, false);
@@ -491,8 +493,6 @@ void PreferenceDialog::accept()
     QAbstractButton *selected;
 
     //>>>>> 起動と終了
-    // 終了時の確認ダイアログ
-    settings.setValue(IniKey_ConfirmExit, ui->confirmExit->isChecked());
     // 起動時のサイズ
     if (!ui->bootSize->isChecked()) {
         settings.setValue(IniKey_BootSizeSpec, "");
@@ -525,6 +525,10 @@ void PreferenceDialog::accept()
     }
     // 起動時の設定削除
     settings.setValue(IniKey_ResetOnBoot, ui->resetOnBoot->isChecked());
+    // 終了時の確認ダイアログ
+    settings.setValue(IniKey_ConfirmExit, ui->confirmExit->isChecked());
+    // アップデートのチェック
+    settings.setValue(IniKey_CheckUpdates, ui->checkUpdates->isChecked());
 
     //>>>>> 色とフォント
     saveAppearance(settings);
index 02176b2..5c0a88e 100644 (file)
@@ -26,7 +26,7 @@
       <enum>Qt::StrongFocus</enum>
      </property>
      <property name="currentIndex">
-      <number>3</number>
+      <number>0</number>
      </property>
      <widget class="QWidget" name="tabBoot_Exit">
       <attribute name="title">
           <enum>Qt::StrongFocus</enum>
          </property>
          <property name="text">
-          <string>起動時に最新バージョンをチェックする</string>
+          <string>起動時にアップデートを確認する</string>
          </property>
         </widget>
        </item>
index 8be88a8..1a55536 100644 (file)
@@ -46,13 +46,13 @@ SimpleTextView::SimpleTextView(QWidget *parent) :
     m_copy = new QAction(tr("選択範囲をクリップボードにコピー"), this);
     m_back = new QAction(tr("戻る"), this);
 
-    m_convEUC->setShortcut(QKeySequence("E"));
-    m_convJIS->setShortcut(QKeySequence("J"));
-    m_convSJIS->setShortcut(QKeySequence("S"));
-    m_convUTF8->setShortcut(QKeySequence("U"));
-    m_convUTF16->setShortcut(QKeySequence("I"));
-    m_convUTF16BE->setShortcut(QKeySequence("J"));
-    m_convUTF16LE->setShortcut(QKeySequence("N"));
+    m_convEUC->setShortcut(QKeySequence("Shift+E"));
+    m_convJIS->setShortcut(QKeySequence("Shift+J"));
+    m_convSJIS->setShortcut(QKeySequence("Shift+S"));
+    m_convUTF8->setShortcut(QKeySequence("Shift+U"));
+    m_convUTF16->setShortcut(QKeySequence("Shift+I"));
+    m_convUTF16BE->setShortcut(QKeySequence("Shift+O"));
+    m_convUTF16LE->setShortcut(QKeySequence("Shift+P"));
     m_copy->setShortcut(QKeySequence::Copy);
     m_back->setShortcut(QKeySequence("Return"));