From 1413921194dab27acbd45f3f40795a62b9241a88 Mon Sep 17 00:00:00 2001 From: Masayuki Satoh Date: Tue, 26 Aug 2014 20:54:41 +0900 Subject: [PATCH] Ver0.13 --- README.md | 6 +- ReadMe.txt | 157 ++++++++++++++++++++++++++------------------------- filetablemodel.cpp | 3 - mainwindow.cpp | 60 +++++++++++++++----- mainwindow.ui | 51 ++++++++++++++++- preferencedialog.cpp | 12 ++-- preferencedialog.ui | 4 +- simpletextview.cpp | 14 ++--- 8 files changed, 198 insertions(+), 109 deletions(-) diff --git a/README.md b/README.md index 0dcbfac..54f1515 100644 --- 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 公開 * コンテキストメニューを実装。 diff --git a/ReadMe.txt b/ReadMe.txt index 4e63ab2..e9526f3 100644 --- a/ReadMe.txt +++ b/ReadMe.txt @@ -85,109 +85,112 @@ ◇ 連絡先 ◇ 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 -- 新規作成。 - - + * 新規。 diff --git a/filetablemodel.cpp b/filetablemodel.cpp index b6c03a2..6676531 100644 --- a/filetablemodel.cpp +++ b/filetablemodel.cpp @@ -165,9 +165,6 @@ void FileTableModel::updateAppearance() m_HiddenBrush = QBrush(settings.value(IniKey_ViewColorFgHidden).value()); m_ReadonlyBrush = QBrush(settings.value(IniKey_ViewColorFgReadonly).value()); m_ReadonlyBrush = QBrush(settings.value(IniKey_ViewColorFgReadonly).value()); - -// beginResetModel(); -// endResetModel(); } void FileTableModel::directoryChange(const QString &path) diff --git a/mainwindow.cpp b/mainwindow.cpp index 6bf1598..f2712c2 100644 --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -1131,19 +1131,33 @@ void MainWindow::setCursorToBegin() { qDebug() << "MainWindow::setCursorToBegin();"; - FolderView *v = folderView(); - int row = 0; - v->setCurrentIndex(v->model()->index(row, 0)); + if (ui->textView->hasFocus()) { + QTextCursor cursor = ui->textView->textCursor(); + cursor.movePosition(QTextCursor::Start); + ui->textView->setTextCursor(cursor); + } + else { + FolderView *v = folderView(); + int row = 0; + v->setCurrentIndex(v->model()->index(row, 0)); + } } void MainWindow::cursorDown() { qDebug() << "MainWindow::cursorDown();"; - FolderView *v = folderView(); - int row = v->currentIndex().row() + 1; - if (row < v->model()->rowCount()) { - v->setCurrentIndex(v->model()->index(row, 0)); + if (ui->textView->hasFocus()) { + QTextCursor cursor = ui->textView->textCursor(); + cursor.movePosition(QTextCursor::Down); + ui->textView->setTextCursor(cursor); + } + else { + FolderView *v = folderView(); + int row = v->currentIndex().row() + 1; + if (row < v->model()->rowCount()) { + v->setCurrentIndex(v->model()->index(row, 0)); + } } } @@ -1151,10 +1165,17 @@ void MainWindow::cursorUp() { qDebug() << "MainWindow::cursorUp();"; - FolderView *v = folderView(); - int row = v->currentIndex().row() - 1; - if (row >= 0) { - v->setCurrentIndex(v->model()->index(row, 0)); + if (ui->textView->hasFocus()) { + QTextCursor cursor = ui->textView->textCursor(); + cursor.movePosition(QTextCursor::Up); + ui->textView->setTextCursor(cursor); + } + else { + FolderView *v = folderView(); + int row = v->currentIndex().row() - 1; + if (row >= 0) { + v->setCurrentIndex(v->model()->index(row, 0)); + } } } @@ -1162,9 +1183,16 @@ void MainWindow::setCursorToEnd() { qDebug() << "MainWindow::setCursorToEnd();"; - FolderView *v = folderView(); - int row = v->model()->rowCount() - 1; - v->setCurrentIndex(v->model()->index(row, 0)); + if (ui->textView->hasFocus()) { + QTextCursor cursor = ui->textView->textCursor(); + cursor.movePosition(QTextCursor::End); + ui->textView->setTextCursor(cursor); + } + else { + FolderView *v = folderView(); + int row = v->model()->rowCount() - 1; + v->setCurrentIndex(v->model()->index(row, 0)); + } } void MainWindow::setFontSizeDown() @@ -1565,6 +1593,10 @@ void MainWindow::updateActions() ui->check_Update->setEnabled(true); ui->view_FontSizeDown->setEnabled(true); ui->view_FontSizeUp->setEnabled(true); + ui->move_Begin->setEnabled(true); + ui->move_Down->setEnabled(true); + ui->move_End->setEnabled(true); + ui->move_Up->setEnabled(true); ui->copy_Filename->setEnabled(true); ui->copy_Fullpath->setEnabled(true); ui->help_About->setEnabled(true); diff --git a/mainwindow.ui b/mainwindow.ui index 41c28e6..5976040 100644 --- a/mainwindow.ui +++ b/mainwindow.ui @@ -447,10 +447,15 @@ - + + + + + + @@ -1124,6 +1129,50 @@ - + + + 隣ペインのカーソルを上に + + + 隣ペインのカーソルを上に + + + Shift+Up + + + + + 隣ペインのカーソルを下に + + + 隣ペインのカーソルを下に + + + Shift+Down + + + + + 隣ペインのカーソルを先頭に + + + 隣ペインのカーソルを先頭に + + + Alt+Up + + + + + 隣ペインのカーソルを末尾に + + + 隣ペインのカーソルを末尾に + + + Alt+Down + + diff --git a/preferencedialog.cpp b/preferencedialog.cpp index 156d8b4..53c59c9 100644 --- a/preferencedialog.cpp +++ b/preferencedialog.cpp @@ -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); diff --git a/preferencedialog.ui b/preferencedialog.ui index 02176b2..5c0a88e 100644 --- a/preferencedialog.ui +++ b/preferencedialog.ui @@ -26,7 +26,7 @@ Qt::StrongFocus - 3 + 0 @@ -497,7 +497,7 @@ Qt::StrongFocus - 起動時に最新バージョンをチェックする + 起動時にアップデートを確認する diff --git a/simpletextview.cpp b/simpletextview.cpp index 8be88a8..1a55536 100644 --- a/simpletextview.cpp +++ b/simpletextview.cpp @@ -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")); -- 2.11.0