* 簡易FTPクライアント
* SNS連携(タイムライン表示とか) ← ファイラーの機能か?
-#### 2014/08/26 Ver0.13
+#### 2014/08/26 Ver0.13 公開
* 「最新バージョンをチェック」を「アップデートの確認」に文言変更。
合わせて、ショートカットキーを「V」から「Shift+Z」に変更。
* テキストビューアのコンテキストメニューに「選択範囲をクリップボードにコピー」を追加。
+ * テキストビューアについても、メニューまたはキーボードで文字の大きさを変更できるようにした。
+ * テキストビューアについても、カーソル移動系アクションを有効にした。
+ * 不具合修正
+ * 環境設定ダイアログで、「起動時のアップデート確認」の設定表示・変更ができていなかった。
#### 2014/08/26 Ver0.12 公開
* コンテキストメニューを実装。
◇ 連絡先 ◇
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
-- 新規作成。
-
-
+ * 新規。
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
{\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
{\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
{\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
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
<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
QRadioButton *radioBtn;
//>>>>> 起動と終了
- // 終了時の確認ダイアログ
- ui->confirmExit->setChecked(settings.value(IniKey_ConfirmExit).toBool());
// 起動時のサイズ
ui->bootSize->setChecked(true);
strValue = settings.value(IniKey_BootSizeSpec).toString();
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);
QAbstractButton *selected;
//>>>>> 起動と終了
- // 終了時の確認ダイアログ
- settings.setValue(IniKey_ConfirmExit, ui->confirmExit->isChecked());
// 起動時のサイズ
if (!ui->bootSize->isChecked()) {
settings.setValue(IniKey_BootSizeSpec, "");
}
// 起動時の設定削除
settings.setValue(IniKey_ResetOnBoot, ui->resetOnBoot->isChecked());
+ // 終了時の確認ダイアログ
+ settings.setValue(IniKey_ConfirmExit, ui->confirmExit->isChecked());
+ // アップデートのチェック
+ settings.setValue(IniKey_CheckUpdates, ui->checkUpdates->isChecked());
//>>>>> 色とフォント
saveAppearance(settings);
<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>
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"));