OSDN Git Service

Ver0.13
authorMasayuki Satoh <miyabi.satoh@gmail.com>
Tue, 26 Aug 2014 10:42:30 +0000 (19:42 +0900)
committerMasayuki Satoh <miyabi.satoh@gmail.com>
Tue, 26 Aug 2014 10:42:30 +0000 (19:42 +0900)
Gefu.pro
README.md
ReadMe.txt
mainwindow.cpp
mainwindow.ui
simpleimageview.cpp [new file with mode: 0644]
simpleimageview.h [new file with mode: 0644]
simpletextview.cpp
simpletextview.h

index 2355b5b..525b5d0 100644 (file)
--- a/Gefu.pro
+++ b/Gefu.pro
@@ -34,7 +34,8 @@ SOURCES += main.cpp\
     simpletextview.cpp \
     searchbox.cpp \
     folderview.cpp \
-    locationbox.cpp
+    locationbox.cpp \
+    simpleimageview.cpp
 
 HEADERS  += mainwindow.h \
     renamesingledialog.h \
@@ -57,7 +58,8 @@ HEADERS  += mainwindow.h \
     searchbox.h \
     folderview.h \
     locationbox.h \
-    version.h
+    version.h \
+    simpleimageview.h
 
 FORMS    += mainwindow.ui \
     renamesingledialog.ui \
index c6dd011..ffb7eed 100644 (file)
--- a/README.md
+++ b/README.md
@@ -4,106 +4,110 @@ Gefu
 Gefu is an Experimental File Utility.
 
 ### TODO
-- オプション
-    - ファンクションキー
-    - キーバインドカスタマイズ
-- 簡易画像ビューア
-- 簡易アーカイバ
-- 簡易FTPクライアント
-- SNS連携(タイムライン表示とか) ← ファイラーの機能か?
-
-#### 2014/08/26 Ver0.12
-- コンテキストメニューを実装。
-- 拡張子を分離して表示するようにした。
-- ファイルビューの状態で文字の大きさを変更できるようにした。
-- GUIまわり(メニュー、ツールバー、ダイアログ)を調整。
-- テキストビューアの外観設定が反映されていなかったのを修正。
+  * オプション
+    * ファンクションキー
+    * キーバインドカスタマイズ
+  * 簡易画像ビューア
+  * 簡易アーカイバ
+  * 簡易FTPクライアント
+  * SNS連携(タイムライン表示とか) ← ファイラーの機能か?
+
+#### 2014/08/26 Ver0.13
+  * 「最新バージョンをチェック」を「アップデートの確認」に文言変更。
+    合わせて、ショートカットキーを「V」から「Shift+Z」に変更。
+
+#### 2014/08/26 Ver0.12 公開
+  * コンテキストメニューを実装。
+  * 拡張子を分離して表示するようにした。
+  * ファイルビューの状態で文字の大きさを変更できるようにした。
+  * GUIまわり(メニュー、ツールバー、ダイアログ)を調整。
+  * テキストビューアの外観設定が反映されていなかったのを修正。
 
 #### 2014/08/25 Ver0.11 公開
-- ファイル検索機能を実装。
-- 内部構造を大幅に変更。
-  各ビューで処理していたアクションを、メインウィンドウで処理するように変更。
-- 起動時の位置とサイズが常にデフォルト値になっていたのを修正。
-- バージョン情報ダイアログのリンク先をSourceForgeに変更。
+  * ファイル検索機能を実装。
+  * 内部構造を大幅に変更。
+    各ビューで処理していたアクションを、メインウィンドウで処理するように変更。
+  * 起動時の位置とサイズが常にデフォルト値になっていたのを修正。
+  * バージョン情報ダイアログのリンク先をSourceForgeに変更。
 
 #### 2014/08/24 Ver0.10 公開
-- 環境設定ダイアログの変更
-    - コントロールの活性・非活性切り替えを修正。
-    - フォント選択をダイアログ使用に変更。
-    - ファイルビューのサンプル表示を実際の形に変更。
-    - テキストビューアの設定を追加。
-- 安直な文字コード判別を実装
-    - 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 a30c4a5..4e63ab2 100644 (file)
@@ -1,8 +1,8 @@
 ===============================================================================
     Gefu(げふぅ) - Gefu is an Experimental File Utility - 
-    Version 0.11
+    Version 0.12
 ===============================================================================
-                                                       2014/08/25 @miyabi_satoh
+                                                       2014/08/26 @miyabi_satoh
 
 ◇ 概要 ◇
 
  Twitter: https://twitter.com/miyabi_satoh
 
 ◇ 履歴 ◇
+#### 2014/08/26 Ver0.12
+- コンテキストメニューを実装。
+- 拡張子を分離して表示するようにした。
+- ファイルビューの状態で文字の大きさを変更できるようにした。
+- GUIまわり(メニュー、ツールバー、ダイアログ)を調整。
+- テキストビューアの外観設定が反映されていなかったのを修正。
+
 #### 2014/08/25 Ver0.11
 - ファイル検索機能を実装。
 - 内部構造を大幅に変更。
index 108d547..a21a989 100644 (file)
@@ -55,8 +55,9 @@ MainWindow::MainWindow(QWidget *parent) :
     connect(qApp, SIGNAL(focusChanged(QWidget*,QWidget*)), this, SLOT(focusChange(QWidget*,QWidget*)));\r
     connect(ui->textView, SIGNAL(viewFinished(QWidget*)), this, SLOT(viewFinish(QWidget*)));\r
 \r
-    // ã\83\86ã\82­ã\82¹ã\83\88ã\83\93ã\83¥ã\83¼ã\82¢ã\81¯å\88\9dæ\9c\9fç\8a¶æ\85\8bã\81§é\9d\9e表示\r
+    // ビューアは初期状態で非表示\r
     ui->textView->setVisible(false);\r
+    ui->graphicsView->setVisible(false);\r
 \r
     for (int i = 1; i <= 2; i++) {\r
         LocationBox *locationBox = findChild<LocationBox*>(QString("locationBox%1").arg(i));\r
index 458d098..41c28e6 100644 (file)
      </widget>\r
     </item>\r
     <item>\r
-     <widget class="SimpleTextView" name="textView"/>\r
+     <widget class="SimpleImageView" name="graphicsView"/>\r
+    </item>\r
+    <item>\r
+     <widget class="SimpleTextView" name="textView">\r
+      <property name="plainText">\r
+       <string>Simple Text</string>\r
+      </property>\r
+     </widget>\r
     </item>\r
     <item>\r
      <layout class="QHBoxLayout" name="horizontalLayout">\r
    </attribute>\r
    <addaction name="action_OpenEditor"/>\r
    <addaction name="action_Search"/>\r
+   <addaction name="action_Setting"/>\r
    <addaction name="separator"/>\r
    <addaction name="mark_All"/>\r
    <addaction name="mark_AllFiles"/>\r
   </action>\r
   <action name="check_Update">\r
    <property name="text">\r
-    <string>最新バージョンをチェック</string>\r
+    <string>アップデートの確認</string>\r
    </property>\r
    <property name="toolTip">\r
-    <string>最新バージョンをチェック</string>\r
+    <string>アップデートの確認</string>\r
    </property>\r
    <property name="shortcut">\r
-    <string>V</string>\r
+    <string>Shift+Z</string>\r
    </property>\r
   </action>\r
   <action name="copy_Filename">\r
    <extends>QLineEdit</extends>\r
    <header>locationbox.h</header>\r
   </customwidget>\r
+  <customwidget>\r
+   <class>SimpleImageView</class>\r
+   <extends>QGraphicsView</extends>\r
+   <header>simpleimageview.h</header>\r
+  </customwidget>\r
  </customwidgets>\r
  <resources>\r
   <include location="resource.qrc"/>\r
diff --git a/simpleimageview.cpp b/simpleimageview.cpp
new file mode 100644 (file)
index 0000000..474cacf
--- /dev/null
@@ -0,0 +1,6 @@
+#include "simpleimageview.h"
+
+SimpleImageView::SimpleImageView(QWidget *parent) :
+    QGraphicsView(parent)
+{
+}
diff --git a/simpleimageview.h b/simpleimageview.h
new file mode 100644 (file)
index 0000000..434afdf
--- /dev/null
@@ -0,0 +1,18 @@
+#ifndef SIMPLEIMAGEVIEW_H
+#define SIMPLEIMAGEVIEW_H
+
+#include <QGraphicsView>
+
+class SimpleImageView : public QGraphicsView
+{
+    Q_OBJECT
+public:
+    explicit SimpleImageView(QWidget *parent = 0);
+
+signals:
+
+public slots:
+
+};
+
+#endif // SIMPLEIMAGEVIEW_H
index 570c1a1..8be88a8 100644 (file)
@@ -29,6 +29,7 @@ SimpleTextView::SimpleTextView(QWidget *parent) :
     m_convUTF8(NULL),
     m_convUTF16BE(NULL),
     m_convUTF16LE(NULL),
+    m_copy(NULL),
     m_back(NULL)
 {
     setReadOnly(true);
@@ -42,6 +43,7 @@ SimpleTextView::SimpleTextView(QWidget *parent) :
     m_convUTF16 = new QAction(tr("UTF-16で再読込"), this);
     m_convUTF16BE = new QAction(tr("UTF-16BEで再読込"), this);
     m_convUTF16LE = new QAction(tr("UTF-16LEで再読込"), this);
+    m_copy = new QAction(tr("選択範囲をクリップボードにコピー"), this);
     m_back = new QAction(tr("戻る"), this);
 
     m_convEUC->setShortcut(QKeySequence("E"));
@@ -51,6 +53,7 @@ SimpleTextView::SimpleTextView(QWidget *parent) :
     m_convUTF16->setShortcut(QKeySequence("I"));
     m_convUTF16BE->setShortcut(QKeySequence("J"));
     m_convUTF16LE->setShortcut(QKeySequence("N"));
+    m_copy->setShortcut(QKeySequence::Copy);
     m_back->setShortcut(QKeySequence("Return"));
 
     connect(m_convEUC, SIGNAL(triggered()), this, SLOT(convertFromEUC()));
@@ -60,7 +63,12 @@ SimpleTextView::SimpleTextView(QWidget *parent) :
     connect(m_convUTF16, SIGNAL(triggered()), this, SLOT(convertFromUTF16()));
     connect(m_convUTF16BE, SIGNAL(triggered()), this, SLOT(convertFromUTF16BE()));
     connect(m_convUTF16LE, SIGNAL(triggered()), this, SLOT(convertFromUTF16LE()));
+    connect(m_copy, SIGNAL(triggered()), this, SLOT(copy()));
     connect(m_back, SIGNAL(triggered()), this, SLOT(back()));
+
+    connect(this, SIGNAL(copyAvailable(bool)), this, SLOT(onCopyAvailable(bool)));
+
+    m_copy->setEnabled(false);
 }
 
 void SimpleTextView::setSource(const QByteArray &source)
@@ -185,6 +193,11 @@ void SimpleTextView::convertFromUTF16LE()
     getMainWnd()->statusBar()->showMessage("UTF-16LE");
 }
 
+void SimpleTextView::onCopyAvailable(bool yes)
+{
+    m_copy->setEnabled(yes);
+}
+
 void SimpleTextView::back()
 {
     emit viewFinished(this);
@@ -249,6 +262,8 @@ void SimpleTextView::contextMenuEvent(QContextMenuEvent *event)
     menu.addAction(m_convUTF16BE);
     menu.addAction(m_convUTF16LE);
     menu.addSeparator();
+    menu.addAction(m_copy);
+    menu.addSeparator();
     menu.addAction(m_back);
     menu.exec(event->globalPos());
 }
index 9a9d65f..44cd562 100644 (file)
@@ -20,6 +20,7 @@ private:
     QAction *m_convUTF16;
     QAction *m_convUTF16BE;
     QAction *m_convUTF16LE;
+    QAction *m_copy;
     QAction *m_back;
     QByteArray m_source;
 
@@ -38,6 +39,7 @@ private slots:
     void convertFromUTF16();
     void convertFromUTF16BE();
     void convertFromUTF16LE();
+    void onCopyAvailable(bool yes);
     void back();
 
     // QWidget interface