Gefu is an Experimental File Utility.
-#### 2014/09/18 Ver0.25
+#### 2014/09/22 Ver0.25
* 内蔵ビューアでのファイル読み込みを別スレッド化しました。
* 内蔵バイナリビューアを実装しました。
* 内蔵イメージビューアを自前描画に変更しました。
===============================================================================\r
Gefu(げふぅ) - Gefu is an Experimental File Utility - \r
- Version 0.24\r
+ Version 0.25\r
===============================================================================\r
- 2014/09/16 @miyabi_satoh\r
+ 2014/09/22 @miyabi_satoh\r
\r
◇ 概要 ◇\r
\r
◇ ファイル構成 ◇\r
Windows\r
- Gefu.exe ... Gefu本体\r
+ - ReadMe.txt ... このファイル\r
- icudt52.dll ... Qtライブラリ\r
- icuin52.dll ... 〃\r
- icuuc52.dll ... 〃\r
◇ アップデート ◇\r
Windows\r
1. GefuXXX_Setuo.exe をダウンロード、実行します。\r
- 2. インストールウィザードの指示に従ってください。\r
+ 2. Gefu.exe が起動している場合は、終了します。\r
+ 3. インストールウィザードの指示に従ってください。\r
\r
Mac\r
1. GefuXXX.app.zip をダウンロード、展開します。\r
Mac\r
1. Gefu.app を削除します。\r
2. 設定ファイルまで削除したい場合は、以下のファイルを削除します。\r
- ~/.config/sourceforge.jp/Gefu.ini\r
+ ~/.config/gefu/Gefu.ini\r
\r
◇ 使い方 ◇\r
基本的には、WindowsのエクスプローラやMacのFinderと同じ感覚で使ってください。\r
- NuoveXT Icons by Saki http://www.iconarchive.com/show/nuoveXT-icons-by-saki.html\r
- 32x32 Free Design Icons http://www.small-icons.com/packs/32x32-free-design-icons.htm\r
\r
-\r
◇ 連絡先 ◇\r
Web: https://sourceforge.jp/projects/gefu/\r
http://gefu.sourceforge.jp/\r
Twitter: https://twitter.com/miyabi_satoh\r
\r
◇ 履歴 ◇\r
-#### 2014/09/18 Ver0.25\r
+#### 2014/09/22 Ver0.25\r
* 内蔵ビューアでのファイル読み込みを別スレッド化しました。\r
+ * 内蔵バイナリビューアを実装しました。\r
+ * 内蔵イメージビューアを自前描画に変更しました。\r
+ * 内蔵テキストビューアを自前描画に変更しました。\r
\r
#### 2014/09/16 Ver 0.24\r
* ツールバーの表示/非表示を切り替えられるようにしました。\r
= テキストビューア
||キー ||装飾なし ||Shift ||Alt ||Ctrl(Command) ||覚え方 ||
+||A || || || ||すべて選択 ||All ||
||C ||ファイル名をクリップボードにコピー ||フルパスをクリップボードにコピー || ||選択範囲をクリップボードにコピー ||Copy ||
||E || || || ||EUC-JPで再読込 ||EUC-JP ||
||G || || || || ||Go ||
||= ||等倍 || || || || ||
||9 ||右に90度回転 || || || || ||
||0 ||右に180度回転 || || || || ||
+
+= バイナリビューア
+||キー ||装飾なし ||Shift ||Alt ||Ctrl(Command) ||覚え方 ||
+||A || || || ||すべて選択 ||All ||
+||C || || || ||選択範囲をクリップボードにコピー ||Copy ||
+||RETURN ||フォルダビューに戻る || || || || ||
+||BACKSPACE ||フォルダビューに戻る || || || || ||
}\r
else {\r
QKeyEvent event = QKeyEvent(QEvent::KeyPress, Qt::Key_PageDown, Qt::NoModifier);\r
+ qDebug() << w->objectName();\r
qApp->sendEvent(w, &event);\r
}\r
}\r
opDlg.setWorker(worker);\r
opDlg.setAutoClose(prefs.isAutoCloseDelete());\r
\r
-// int row = focusItemView()->currentIndex().row();\r
-\r
opDlg.exec();\r
\r
-// if (row >= activeModel()->rowCount()) {\r
-// row = activeModel()->rowCount() - 1;\r
-// }\r
-// focusItemView()->setCurrentIndex(activeModel()->index(row, 1));\r
-\r
prefs.setAutoCloseDelete(opDlg.autoClose());\r
}\r
\r
sendEventOther(&event2);\r
}\r
\r
-/////////////////////////////////////////////////////////////////////////////////\r
-///// \brief MainWindow::onScaleDown\r
-/////\r
-///// 表示を縮小します。\r
-/////\r
-//void MainWindow::onScaleDown()\r
-//{\r
-// qDebug() << "MainWindow::onScaleDown()";\r
-\r
-// AbstractView *view = dynamic_cast<AbstractView*>(qApp->focusWidget());\r
-// if (view) {\r
-// view->scaleDown();\r
-// }\r
-\r
-// Preferences prefs(this);\r
-// ui->LPanel->updateAppearance(prefs);\r
-// ui->RPanel->updateAppearance(prefs);\r
-// ui->FPanel->updateAppearance(prefs);\r
-//}\r
-\r
-/////////////////////////////////////////////////////////////////////////////////\r
-///// \brief MainWindow::onScaleUp\r
-/////\r
-///// 表示を拡大します。\r
-/////\r
-//void MainWindow::onScaleUp()\r
-//{\r
-// qDebug() << "MainWindow::onScaleUp()";\r
-\r
-// AbstractView *view = dynamic_cast<AbstractView*>(qApp->focusWidget());\r
-// if (view) {\r
-// view->scaleUp();\r
-// }\r
-// else {\r
-// qDebug() << qApp->focusWidget()->objectName();\r
-// }\r
-\r
-// Preferences prefs(this);\r
-// ui->LPanel->updateAppearance(prefs);\r
-// ui->RPanel->updateAppearance(prefs);\r
-// ui->FPanel->updateAppearance(prefs);\r
-//}\r
-\r
///////////////////////////////////////////////////////////////////////////////\r
/// \brief MainWindow::initBookmarkMenu\r
///\r
void MainWindow::sendEventOther(QEvent *event)\r
{\r
qDebug() << "MainWindow::sendEventOther()";\r
-#if 0\r
- // フォーカスを持たない、可視状態のビューを検索する\r
- foreach (QWidget *w, findChildren<QWidget*>()) {\r
- AbstractView *view = dynamic_cast<AbstractView*>(w);\r
- if (view) {\r
- if (w->isVisible() && !w->hasFocus()) {\r
- qDebug() << "Send event to" << w->objectName();\r
- qApp->sendEvent(w, event);\r
- }\r
- }\r
- }\r
-#endif\r
+\r
qApp->sendEvent(inactivePanel()->visibleView(), event);\r
}\r
\r
}\r
}\r
\r
-\r
///////////////////////////////////////////////////////////////////////////////\r
/// \brief MainWindow::onToggleSearch\r
/// \param checked メニューのチェック状態\r
connect(ui->toggle_Toolbar, SIGNAL(toggled(bool)), this, SLOT(onToggleToolbar(bool)));\r
\r
connect(ui->view_Back, SIGNAL(triggered()), this, SLOT(view_finished()));\r
-\r
}\r
\r
///////////////////////////////////////////////////////////////////////////////\r
break;\r
\r
case ModeView:\r
-// ui->FPanel->updateAppearance(Preferences(this));\r
ui->FPanel->setViewItem(focusItemView()->currentIndex());\r
ui->splitter->setVisible(false);\r
ui->FPanel->setVisible(true);\r
ui->action_KeyHome->setEnabled(isView);\r
ui->action_KeyUp->setEnabled(isView);\r
ui->action_Quit->setEnabled(true);\r
- ui->action_ScaleDown->setEnabled(isView);\r
- ui->action_ScaleUp->setEnabled(isView);\r
ui->action_SearchNext->setEnabled(isSearch);\r
ui->action_SearchPrev->setEnabled(isSearch);\r
ui->action_Setting->setEnabled(true);\r
reconnectAction(ui->action_ScaleDown, SIGNAL(triggered()), w, SLOT(onScaleDown()));\r
reconnectAction(ui->action_ScaleUp, SIGNAL(triggered()), w, SLOT(onScaleUp()));\r
}\r
+ else {\r
+ ui->action_ScaleDown->setEnabled(false);\r
+ ui->action_ScaleUp->setEnabled(false);\r
+ }\r
\r
ui->toggle_FullMode->setEnabled(m_viewMode == ModeBasic || m_viewMode == ModeFull);\r
\r
- if (w->objectName() == "thumbnailView") {\r
+ if (isImageView) {\r
ui->action_KeyLeft->setEnabled(false);\r
ui->action_KeyRight->setEnabled(false);\r
}\r
connect(view, SIGNAL(statusChanged(QString)), mainWnd, SLOT(view_statusChanged(QString)));
view->installEventFilter(mainWnd);
view->setData(pixmap);
- emit showed(view);
+ emit showed(ui->scrollArea);
return;
}
connect(view, SIGNAL(statusChanged(QString)), mainWnd, SLOT(view_statusChanged(QString)));
view->installEventFilter(mainWnd);
view->setData(data);
- emit showed(view);
+ emit showed(ui->scrollArea);
return;
}
connect(view, SIGNAL(statusChanged(QString)), mainWnd, SLOT(view_statusChanged(QString)));
view->installEventFilter(mainWnd);
view->setData(data);
- emit showed(view);
+ emit showed(ui->scrollArea);
}
<enum>QTabWidget::Rounded</enum>
</property>
<property name="currentIndex">
- <number>1</number>
+ <number>3</number>
</property>
<widget class="QWidget" name="tabGeneral">
<attribute name="title">
<tabstop>sBoxUnmatch</tabstop>
<tabstop>sBoxUnmatchBg</tabstop>
<tabstop>tvFg</tabstop>
+ <tabstop>tvCtrl</tabstop>
<tabstop>tvBg</tabstop>
+ <tabstop>hvFg</tabstop>
+ <tabstop>hvBg</tabstop>
<tabstop>gvBg</tabstop>
+ <tabstop>darkFactor</tabstop>
<tabstop>importAppearance</tabstop>
<tabstop>exportAppearance</tabstop>
+ <tabstop>allFg</tabstop>
+ <tabstop>allBg</tabstop>
<tabstop>fvFont</tabstop>
<tabstop>lBoxFont</tabstop>
<tabstop>sBoxFont</tabstop>
<tabstop>tvFont</tabstop>
+ <tabstop>hvFont</tabstop>
+ <tabstop>lineHeight</tabstop>
<tabstop>allFont</tabstop>
<tabstop>editorPath</tabstop>
<tabstop>browseEditor</tabstop>
<tabstop>archiverPath</tabstop>
<tabstop>browseArchiver</tabstop>
<tabstop>buttonBox</tabstop>
+ <tabstop>tabWidget</tabstop>
</tabstops>
<resources/>
<connections>
#ifndef VERSION_H
#define VERSION_H
-#define VERSION_VALUE 0.24
+#define VERSION_VALUE 0.25
#endif // VERSION_H