OSDN Git Service

ツールバーの表示切替を実装
authorMasayuki Satoh <miyabi.satoh@gmail.com>
Tue, 16 Sep 2014 08:12:06 +0000 (17:12 +0900)
committerMasayuki Satoh <miyabi.satoh@gmail.com>
Tue, 16 Sep 2014 08:12:06 +0000 (17:12 +0900)
12 files changed:
Gefu.pro
README.md
ReadMe.txt
foldermodel.cpp
folderpanel.cpp
installer-full.nsi
installer.nsi
keybind.txt
mainwindow.cpp
mainwindow.h
mainwindow.ui
thumbnailworker.cpp

index 28875b4..4ff37db 100644 (file)
--- a/Gefu.pro
+++ b/Gefu.pro
@@ -11,7 +11,7 @@ greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
 
 TARGET = Gefu
 TEMPLATE = app
-VERSION = 0.2.3
+VERSION = 0.2.4
 
 SOURCES += main.cpp\
     mainwindow.cpp \
index 63e2439..dfc3290 100644 (file)
--- a/README.md
+++ b/README.md
@@ -4,10 +4,14 @@ Gefu
 Gefu is an Experimental File Utility.
 
 #### Ver 0.24
-  * ã\83\89ã\83©ã\83\83ã\82°æ¤\9cå\87ºã\81®ã\83\94ã\82¯ã\82»ã\83«é\96¾å\80¤ã\82\92å¤\89æ\9b´しました。
+  * ã\83\89ã\83©ã\83\83ã\82°æ¤\9cå\87ºã\81®ã\83\94ã\82¯ã\82»ã\83«é\96¾å\80¤ã\82\92å°\8fã\81\95ã\81\8fしました。
   * フォルダビューのコンテキストメニューを変更しました。
+  * フィルタラベルもフォルダビューと同じ文字色・背景色に変更しました。
+  * サムネイル生成スレッドの優先度を調整しました。
  * 不具合修正
     * 単画面モードで検索ボックスが表示されなかったのを修正。
+    * メニューの活性・非活性の整合性を修正。
+    * サムネイルモードで拡大が行われていたのを修正。
 
 #### 2014/09/15 Ver0.23
   * 履歴選択ダイアログで、ダブルクリックで決定するようにしました。
index e2aa50b..03f98da 100644 (file)
@@ -1,6 +1,6 @@
 ===============================================================================\r
     Gefu(げふぅ) - Gefu is an Experimental File Utility - \r
-    Version 0.23\r
+    Version 0.24\r
 ===============================================================================\r
                                                        2014/09/15 @miyabi_satoh\r
 \r
index 6723b4b..bde879b 100644 (file)
@@ -160,7 +160,10 @@ QPixmap FolderModel::pixmap(const QModelIndex &index, const QSize &size) const
     if (!pixmap.isNull()) {\r
         double scaleX = 1.0 * size.width() / pixmap.width();\r
         double scaleY = 1.0 * size.height() / pixmap.height();\r
-        double scaleFactor = (scaleX > scaleY) ? scaleY : scaleX;\r
+        double scaleFactor = qMin(scaleX, scaleY);\r
+        if (scaleFactor > 1) {\r
+            return pixmap;\r
+        }\r
         return pixmap.scaled(pixmap.size() * scaleFactor,\r
                              Qt::IgnoreAspectRatio,\r
                              Qt::SmoothTransformation);\r
index 3690a3d..775079d 100644 (file)
@@ -66,15 +66,6 @@ QAbstractItemView *FolderPanel::itemView() const
 }
 
 ///////////////////////////////////////////////////////////////////////////////
-/// \brief FolderPanel::folderView
-/// \return フォルダビューを返します。
-///
-//FolderView *FolderPanel::folderView() const
-//{
-//    return ui->folderView;
-//}
-
-///////////////////////////////////////////////////////////////////////////////
 /// \brief FolderPanel::model
 /// \return 関連付けられたフォルダモデルを返します。
 ///
@@ -176,6 +167,12 @@ void FolderPanel::updateAppearance(const Preferences &prefs)
 
     QPalette pal;
 
+    pal = ui->filterLabel->palette();
+    pal.setColor(ui->filterLabel->backgroundRole(), prefs.folderViewBgColor(model()->isActive()));
+    pal.setColor(ui->filterLabel->foregroundRole(), prefs.folderViewFgColor(model()->isActive()));
+    ui->filterLabel->setAutoFillBackground(true);
+    ui->filterLabel->setPalette(pal);
+
     pal = ui->locationBox->palette();
     pal.setColor(QPalette::Base, prefs.locationBoxBgColor(model()->isActive()));
     pal.setColor(QPalette::Text, prefs.locationBoxFgColor(model()->isActive()));
index d6507da..cae80c6 100644 (file)
@@ -2,7 +2,7 @@
 \r
 ; HM NIS Edit Wizard helper defines\r
 !define PRODUCT_NAME "Gefu"\r
-!define PRODUCT_VERSION "0.23"\r
+!define PRODUCT_VERSION "0.24"\r
 !define PRODUCT_PUBLISHER "@miyabi_satoh"\r
 !define PRODUCT_WEB_SITE "http://gefu.sourceforge.jp/"\r
 !define PRODUCT_DIR_REGKEY "Software\Microsoft\Windows\CurrentVersion\App Paths\Gefu.exe"\r
@@ -51,7 +51,7 @@ var ICONS_GROUP
 ; MUI end ------\r
 \r
 Name "${PRODUCT_NAME} ${PRODUCT_VERSION}"\r
-OutFile "Gefu023_full_setup.exe"\r
+OutFile "Gefu024_full_setup.exe"\r
 InstallDir "$PROGRAMFILES\Gefu"\r
 InstallDirRegKey HKLM "${PRODUCT_DIR_REGKEY}" ""\r
 ShowInstDetails show\r
index 6fb391a..5edf833 100644 (file)
@@ -2,7 +2,7 @@
 \r
 ; HM NIS Edit Wizard helper defines\r
 !define PRODUCT_NAME "Gefu"\r
-!define PRODUCT_VERSION "0.23"\r
+!define PRODUCT_VERSION "0.24"\r
 !define PRODUCT_PUBLISHER "@miyabi_satoh"\r
 !define PRODUCT_WEB_SITE "http://gefu.sourceforge.jp/"\r
 !define PRODUCT_DIR_REGKEY "Software\Microsoft\Windows\CurrentVersion\App Paths\Gefu.exe"\r
@@ -51,7 +51,7 @@ var ICONS_GROUP
 ; MUI end ------\r
 \r
 Name "${PRODUCT_NAME} ${PRODUCT_VERSION}"\r
-OutFile "Gefu023_Setup.exe"\r
+OutFile "Gefu024_Setup.exe"\r
 InstallDir "$PROGRAMFILES\Gefu"\r
 InstallDirRegKey HKLM "${PRODUCT_DIR_REGKEY}" ""\r
 ShowInstDetails show\r
index 8c813af..b442f3e 100644 (file)
@@ -1,6 +1,7 @@
 == キーバインド一覧
 = 共通
 ||キー      ||装飾なし                           ||Shift                            ||Alt                            ||Ctrl(Command)                ||覚え方                         ||
+||T         ||ツールバーを表示/非表示           ||                                 ||                               ||                             ||Toolbar                        ||
 ||Q         ||終了                               ||                                 ||                               ||                             ||Quit                           ||
 ||Z         ||環境設定                           ||アップデートを確認               ||                               ||                             ||                               ||
 ||+         ||フォントサイズを大きく/拡大       ||                                 ||                               ||                             ||                               ||
index 701aa9f..085a7a7 100644 (file)
@@ -1692,6 +1692,17 @@ void MainWindow::onToggleThumbnailMode(bool checked)
 }\r
 \r
 ///////////////////////////////////////////////////////////////////////////////\r
+/// \brief MainWindow::onToggleToolbar\r
+/// \param checked メニューのチェック状態\r
+///\r
+/// ツールバーの表示/非表示を切り替えます。\r
+///\r
+void MainWindow::onToggleToolbar(bool checked)\r
+{\r
+    ui->mainToolBar->setVisible(checked);\r
+}\r
+\r
+///////////////////////////////////////////////////////////////////////////////\r
 /// \brief MainWindow::onCheckUpdate\r
 /// \param silent   最新版を使用している場合に何も表示しないならtrue\r
 ///\r
@@ -1829,6 +1840,7 @@ void MainWindow::initActions()
     connect(ui->toggle_Search, SIGNAL(toggled(bool)), this, SLOT(onToggleSearch(bool)));\r
     connect(ui->toggle_System, SIGNAL(toggled(bool)), this, SLOT(onToggleSystem(bool)));\r
     connect(ui->toggle_ThumbnailMode, SIGNAL(toggled(bool)), this, SLOT(onToggleThumbnailMode(bool)));\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
@@ -2099,7 +2111,7 @@ void MainWindow::updateActions()
             ui->action_Rename->setEnabled(false);\r
         }\r
 \r
-        // 非二画面の場合、隣のパネルが必要な操作は無効にする\r
+        // 単画面またはプレビューモードの場合\r
         if (!ui->LPanel->folderPanel()->isVisible() ||\r
             !ui->RPanel->folderPanel()->isVisible())\r
         {\r
@@ -2110,9 +2122,16 @@ void MainWindow::updateActions()
             ui->action_SyncPanelTo->setEnabled(false);\r
         }\r
 \r
-        // 単画面の場合、プレビューモードは無効にする\r
+        // 単画面の場合\r
         if (m_viewMode == ModeFull) {\r
             ui->toggle_PreviewMode->setEnabled(false);\r
+            ui->action_SplitCenter->setEnabled(false);\r
+            ui->action_ExpandLeft->setEnabled(false);\r
+            ui->action_ExpandRight->setEnabled(false);\r
+            ui->action_KeyDownOther->setEnabled(false);\r
+            ui->action_KeyEndOther->setEnabled(false);\r
+            ui->action_KeyHomeOther->setEnabled(false);\r
+            ui->action_KeyUpOther->setEnabled(false);\r
         }\r
     }\r
     else if (w->objectName() == "searchBox"){\r
@@ -2150,6 +2169,10 @@ void MainWindow::updateActions()
         reconnectAction(ui->image_Rotate180, SIGNAL(triggered()), v, SLOT(rotate180()));\r
     }\r
 \r
+    ui->toggle_Toolbar->blockSignals(true);\r
+    ui->toggle_Toolbar->setChecked(ui->mainToolBar->isVisible());\r
+    ui->toggle_Toolbar->blockSignals(false);\r
+\r
     ui->action_About->setEnabled(true);\r
     ui->action_CheckUpdate->setEnabled(true);\r
     ui->action_KeyDown->setEnabled(isView);\r
index 0c0612c..97c9320 100644 (file)
@@ -81,6 +81,7 @@ private slots:
     void    onToggleSearch(bool checked);\r
     void    onToggleSystem(bool checked);\r
     void    onToggleThumbnailMode(bool checked);\r
+    void    onToggleToolbar(bool checked);\r
     void    showBookmarkDialog();\r
     void    showFilterDialog();\r
     void    showHistoryDialog();\r
index ada895c..570162f 100644 (file)
@@ -49,6 +49,9 @@
    </layout>\r
   </widget>\r
   <widget class="QToolBar" name="mainToolBar">\r
+   <property name="windowTitle">\r
+    <string>ツールバー</string>\r
+   </property>\r
    <property name="movable">\r
     <bool>false</bool>\r
    </property>\r
     <property name="title">\r
      <string>表示(&amp;V)</string>\r
     </property>\r
+    <addaction name="action_Refresh"/>\r
     <addaction name="action_SyncPanel"/>\r
     <addaction name="action_SyncPanelTo"/>\r
     <addaction name="action_Swap"/>\r
-    <addaction name="action_Refresh"/>\r
     <addaction name="toggle_FullMode"/>\r
     <addaction name="toggle_ThumbnailMode"/>\r
     <addaction name="toggle_PreviewMode"/>\r
     <addaction name="separator"/>\r
     <addaction name="action_Sort"/>\r
     <addaction name="action_Filter"/>\r
+    <addaction name="separator"/>\r
+    <addaction name="toggle_Toolbar"/>\r
    </widget>\r
    <widget class="QMenu" name="menu_Move">\r
     <property name="title">\r
   </action>\r
   <action name="action_SyncPanel">\r
    <property name="icon">\r
-    <iconset theme="隣のパネルと同じフォルダを表示">\r
-     <normaloff/>\r
-    </iconset>\r
+    <iconset theme="隣のパネルと同じフォルダを表示"/>\r
    </property>\r
    <property name="text">\r
     <string>隣のパネルと同じフォルダを表示</string>\r
     <string>.</string>\r
    </property>\r
   </action>\r
+  <action name="toggle_Toolbar">\r
+   <property name="checkable">\r
+    <bool>true</bool>\r
+   </property>\r
+   <property name="text">\r
+    <string>ツールバー</string>\r
+   </property>\r
+  </action>\r
  </widget>\r
  <layoutdefault spacing="6" margin="11"/>\r
  <customwidgets>\r
index 06e9ed7..29015e4 100644 (file)
@@ -50,22 +50,22 @@ void ThumbnailWorker::doWork()
 {
     while (loop()) {
         QString path = getPath();
-        if (path.isEmpty()) {
-            QThread::sleep(1);
-        }
-        else {
+        if (!path.isEmpty()) {
             QPixmap pixmap(path);
             if (!pixmap.isNull()) {
                 QSize size(256, 256);
                 double scaleX = 1.0 * size.width() / pixmap.width();
                 double scaleY = 1.0 * size.height() / pixmap.height();
-                double scaleFactor = (scaleX > scaleY) ? scaleY : scaleX;
-                pixmap = pixmap.scaled(pixmap.size() * scaleFactor,
-                                       Qt::IgnoreAspectRatio,
-                                       Qt::SmoothTransformation);
+                double scaleFactor = qMin(scaleX, scaleY);
+                if (scaleFactor < 1) {
+                    pixmap = pixmap.scaled(pixmap.size() * scaleFactor,
+                                           Qt::IgnoreAspectRatio,
+                                           Qt::SmoothTransformation);
+                }
                 emit resultReady(path, pixmap);
             }
         }
+        QThread::msleep(100);
     }
 
     emit finished();