OSDN Git Service

Ver0.19
authorMasayuki Satoh <miyabi.satoh@gmail.com>
Sat, 30 Aug 2014 23:06:11 +0000 (08:06 +0900)
committerMasayuki Satoh <miyabi.satoh@gmail.com>
Sat, 30 Aug 2014 23:06:11 +0000 (08:06 +0900)
common.h
filetablemodel.cpp
filetablemodel.h
folderview.cpp
folderview.h
locationbox.cpp
mainwindow.cpp
preferencedialog.cpp
preferencedialog.ui

index c732ae8..80e4b47 100644 (file)
--- a/common.h
+++ b/common.h
@@ -42,7 +42,6 @@ extern void Sleep(int msec);
 #define IniKey_ViewColorFgSystem        "Appearance/ViewColorFgSystem"\r
 #define IniKey_ViewColorFgHidden        "Appearance/ViewColorFgHidden"\r
 #define IniKey_ViewColorFgReadonly      "Appearance/ViewColorFgReadonly"\r
-#define IniKey_EnableDarker             "Appearance/Darker"\r
 #define IniKey_Darkness                 "Appearance/Darkness"\r
 #define IniKey_ConfirmExit              "Confirm/Exit"\r
 #define IniKey_ConfirmCopy              "Confirm/Copy"\r
index da31c82..86c7449 100644 (file)
@@ -16,7 +16,7 @@ FileTableModel::FileTableModel(QObject *parent) :
     m_fileInfoList(),\r
     m_checkStates(),\r
     m_IconFactory(),\r
-    m_fsWatcher(NULL),\r
+    m_fsWatcher(this),\r
     m_font(),\r
     m_NormalBrush(),\r
     m_NormalTextBrush(),\r
@@ -26,8 +26,6 @@ FileTableModel::FileTableModel(QObject *parent) :
     m_HiddenBrush(),\r
     m_ReadonlyBrush()\r
 {\r
-    m_fsWatcher = new QFileSystemWatcher(this);\r
-\r
     // デフォルトフィルタを設定する\r
     setFilter(QDir::NoDot | QDir::AllDirs | QDir::Files);\r
 }\r
@@ -101,8 +99,8 @@ bool FileTableModel::setPath(const QString &path)
     m_checkStates.resize(m_fileInfoList.size());\r
     m_checkStates.fill(Qt::Unchecked);\r
 \r
-    m_fsWatcher->addPath(path);\r
-    connect(m_fsWatcher, SIGNAL(directoryChanged(QString)),\r
+    m_fsWatcher.addPath(path);\r
+    connect(&m_fsWatcher, SIGNAL(directoryChanged(QString)),\r
             this, SLOT(directoryChange(QString)));\r
 \r
     endResetModel();\r
@@ -112,55 +110,23 @@ bool FileTableModel::setPath(const QString &path)
     return !m_fileInfoList.isEmpty();\r
 }\r
 \r
-Qt::CheckState FileTableModel::checkState(const QModelIndex &index) const\r
-{\r
-    return m_checkStates[index.row()];\r
-}\r
-\r
-void FileTableModel::setCheckState(const QModelIndex &index, Qt::CheckState state)\r
-{\r
-    qDebug() << "FileTableModel::setCheckState();";\r
-\r
-    beginResetModel();\r
-    m_checkStates[index.row()] = state;\r
-    if (state == Qt::Checked && index.row() == 0 &&\r
-        m_fileInfoList[0].fileName() == "..")\r
-    {\r
-        m_checkStates[0] = Qt::Unchecked;\r
-    }\r
-    endResetModel();;\r
-    emit dataChanged(index, this->index(index.row(), 3));\r
-}\r
-\r
-void FileTableModel::setCheckStateAll(Qt::CheckState state)\r
-{\r
-    qDebug() << "FileTableModel::setCheckStateAll();";\r
-\r
-    beginResetModel();\r
-    m_checkStates.fill(state);\r
-    if (state == Qt::Checked && m_fileInfoList.size() > 1 &&\r
-        m_fileInfoList[0].fileName() == "..")\r
-    {\r
-        m_checkStates[0] = Qt::Unchecked;\r
-    }\r
-    endResetModel();\r
-    emit dataChanged(QModelIndex(), QModelIndex());\r
-}\r
-\r
 QFileInfo FileTableModel::fileInfo(const QModelIndex &index) const\r
 {\r
-    if (!index.isValid()) {\r
-        qDebug() << "fileInfo() : index is invalid.";\r
-        return QFileInfo();\r
+    qDebug() << "FileTableModel::fileInfo()" << index;\r
+\r
+    if (index.isValid()) {\r
+        return m_fileInfoList[index.row()];\r
     }\r
-    return m_fileInfoList[index.row()];\r
+    return QFileInfo();\r
 }\r
 \r
 void FileTableModel::updateAppearance(bool darker)\r
 {\r
+    qDebug() << "FileTableModel::updateAppearance();" << darker;\r
+\r
     QSettings settings;\r
     int darkness = 100;\r
-    if (darker && settings.value(IniKey_EnableDarker).toBool()) {\r
+    if (darker) {\r
         darkness += settings.value(IniKey_Darkness).toInt();\r
     }\r
     m_font = settings.value(IniKey_ViewFont).value<QFont>();\r
@@ -177,25 +143,12 @@ void FileTableModel::updateAppearance(bool darker)
 \r
 void FileTableModel::directoryChange(const QString &path)\r
 {\r
-    qDebug() << "FileTableModel::directoryChange";\r
+    qDebug() << "FileTableModel::directoryChange" << path;\r
 \r
-    m_fsWatcher->removePath(m_dir.absolutePath());\r
+    m_fsWatcher.removePath(m_dir.absolutePath());\r
     setPath(path);\r
 }\r
 \r
-QFileInfoList FileTableModel::checkedItems() const\r
-{\r
-    QFileInfoList list;\r
-    for (int n = 0; n < m_checkStates.size(); n++) {\r
-        if (m_fileInfoList[n].fileName() != ".." &&\r
-            m_checkStates[n] == Qt::Checked)\r
-        {\r
-            list.append(m_fileInfoList[n]);\r
-        }\r
-    }\r
-    return list;\r
-}\r
-\r
 int FileTableModel::rowCount(const QModelIndex &parent) const\r
 {\r
     Q_UNUSED(parent);\r
@@ -222,6 +175,7 @@ QVariant FileTableModel::data(const QModelIndex &index, int role) const
         switch (index.column()) {\r
         case 0: // チェックボックス\r
             return QString("");\r
+\r
         case 1: // ファイル名\r
             if (info.isDir()) {\r
                 return info.fileName();\r
@@ -267,7 +221,8 @@ QVariant FileTableModel::data(const QModelIndex &index, int role) const
             }\r
             else {\r
                 // infoを使うと、正しいアイコンが取れない場合がある…なぜ?\r
-                return m_IconFactory.icon(QFileInfo(info.absoluteFilePath()));\r
+//                return m_IconFactory.icon(QFileInfo(info.absoluteFilePath()));\r
+                return m_IconFactory.icon(QFileInfo(info));\r
             }\r
         }\r
         break;\r
@@ -342,10 +297,12 @@ QVariant FileTableModel::headerData(int section, Qt::Orientation orientation, in
 Qt::ItemFlags FileTableModel::flags(const QModelIndex &index) const\r
 {\r
     Qt::ItemFlags flags = Qt::ItemIsEnabled | Qt::ItemIsSelectable;\r
+\r
     if (!index.isValid()) {\r
-        flags |= Qt::ItemIsDropEnabled;\r
+        return flags | Qt::ItemIsDropEnabled;\r
     }\r
-    else if (m_fileInfoList[index.row()].fileName() != "..") {\r
+\r
+    if (m_fileInfoList[index.row()].fileName() != "..") {\r
         if (index.column() == 0) {\r
             flags |= Qt::ItemIsUserCheckable;\r
         }\r
@@ -356,7 +313,7 @@ Qt::ItemFlags FileTableModel::flags(const QModelIndex &index) const
 \r
 bool FileTableModel::setData(const QModelIndex &index, const QVariant &value, int role)\r
 {\r
-    qDebug() << "FileTableModel::setData()";\r
+    qDebug() << "FileTableModel::setData()" << index;\r
 \r
     if (!index.isValid()) {\r
         return false;\r
@@ -366,7 +323,7 @@ bool FileTableModel::setData(const QModelIndex &index, const QVariant &value, in
     case Qt::CheckStateRole:\r
         if (index.column() == 0) {\r
             m_checkStates[index.row()] = static_cast<Qt::CheckState>(value.toInt());\r
-            emit dataChanged(index, this->index(index.row(), 3));\r
+            emit dataChanged(index, index);\r
             return true;\r
         }\r
         break;\r
@@ -377,11 +334,15 @@ bool FileTableModel::setData(const QModelIndex &index, const QVariant &value, in
 \r
 Qt::DropActions FileTableModel::supportedDropActions() const\r
 {\r
-    return Qt::CopyAction | Qt::MoveAction;\r
+    qDebug() << "FileTableModel::supportedDropActions()";\r
+\r
+    return Qt::CopyAction;\r
 }\r
 \r
 QStringList FileTableModel::mimeTypes() const\r
 {\r
+    qDebug() << "FileTableModel::mimeTypes()";\r
+\r
     QStringList types;\r
 \r
     types << "text/uri-list";\r
index b161f66..2bc028d 100644 (file)
@@ -14,33 +14,26 @@ class FileTableModel : public QAbstractTableModel
 public:\r
     explicit FileTableModel(QObject *parent = 0);\r
 \r
+    // action\r
     bool setPath(const QString &path);\r
+    void updateAppearance(bool darker = false);\r
 \r
+    // getter\r
+    QDir::SortFlags sorting() const { return m_dir.sorting(); }\r
     QDir::Filters filter() const { return m_dir.filter(); }\r
-    void setFilter(QDir::Filters filters) { m_dir.setFilter(filters); }\r
-\r
     QStringList nameFilters() const { return m_dir.nameFilters(); }\r
-    void setNameFilters(const QStringList &nameFiltes) {\r
-        m_dir.setNameFilters(nameFiltes);\r
-    }\r
-\r
-    QDir::SortFlags sorting() const { return m_dir.sorting(); }\r
-    void setSorting(QDir::SortFlags sort) { m_dir.setSorting(sort); }\r
-\r
-    Qt::CheckState checkState(const QModelIndex &index) const;\r
-    void setCheckState(const QModelIndex &index, Qt::CheckState state);\r
-    void setCheckStateAll(Qt::CheckState state);\r
     const QString absolutePath() const { return m_dir.absolutePath(); }\r
-\r
-    QFileInfoList checkedItems() const;\r
     QFileInfo fileInfo(const QModelIndex &index) const;\r
-\r
-    void updateAppearance(bool darker = false);\r
-\r
     QFont font() const { return m_font; }\r
 \r
+    // setter\r
+    void setSorting(QDir::SortFlags sort) { m_dir.setSorting(sort); }\r
+    void setFilter(QDir::Filters filters) { m_dir.setFilter(filters); }\r
+    void setNameFilters(const QStringList &nameFiltes) {\r
+        m_dir.setNameFilters(nameFiltes);\r
+    }\r
+\r
 signals:\r
-//    void rootChanged(const QString &root);\r
     void selectionChanged(int checkedFoldrs, int checkedFiles, quint64 totalSize);\r
 \r
 public slots:\r
@@ -51,7 +44,7 @@ private:
     QFileInfoList m_fileInfoList;\r
     QVector<Qt::CheckState> m_checkStates;\r
     QFileIconProvider m_IconFactory;\r
-    QFileSystemWatcher *m_fsWatcher;\r
+    QFileSystemWatcher m_fsWatcher;\r
     QFont m_font;\r
     QBrush m_NormalBrush;\r
     QBrush m_NormalTextBrush;\r
@@ -61,8 +54,6 @@ private:
     QBrush m_HiddenBrush;\r
     QBrush m_ReadonlyBrush;\r
 \r
-//    void stateChanged();\r
-\r
     // QAbstractItemModel interface\r
 public:\r
     int rowCount(const QModelIndex &parent = QModelIndex()) const;\r
index 02931ae..082364a 100644 (file)
@@ -95,7 +95,7 @@ void FolderView::updateAppearance(bool darker)
     QSettings settings;
     QPalette pal = palette();
     int darkness = 100;
-    if (darker && settings.value(IniKey_EnableDarker).toBool()) {
+    if (darker) {
         darkness += settings.value(IniKey_Darkness).toInt();
     }
     pal.setColor(QPalette::Base, settings.value(IniKey_ViewColorBgNormal).value<QColor>().darker(darkness));
@@ -185,14 +185,16 @@ void FolderView::searchPrev(const QString &text)
     emit itemNotFound();
 }
 
-void FolderView::setCheckStateAll(bool checked)
+void FolderView::setCheckStateAll(Qt::CheckState state)
 {
-    qDebug() << side() << "markAll();";
+    qDebug() << side() << "setCheckStateAll();" << state;
 
     QModelIndex current = currentIndex();
 
     setUpdatesEnabled(false);
-    m_model.setCheckStateAll(checked ? Qt::Checked : Qt::Unchecked);
+    for (int n = 0; n < m_model.rowCount(); n++) {
+        m_model.setData(m_model.index(n, 0), state, Qt::CheckStateRole);
+    }
     setUpdatesEnabled(true);
 
     setCurrentIndex(current);
@@ -200,19 +202,19 @@ void FolderView::setCheckStateAll(bool checked)
 
 void FolderView::setCheckStateAllFiles()
 {
-    qDebug() << side() << "markAllFiles();";
+    qDebug() << side() << "setCheckStateAllFiles();";
 
     QModelIndex current = currentIndex();
 
     setUpdatesEnabled(false);
     for (int n = 0; n < m_model.rowCount(); n++) {
-        QModelIndex index = m_model.index(n, 1);
+        QModelIndex index = m_model.index(n, 0);
         QFileInfo info = m_model.fileInfo(index);
         if (info.isDir()) {
-            m_model.setCheckState(index, Qt::Unchecked);
+            m_model.setData(index, Qt::Unchecked, Qt::CheckStateRole);
         }
         else {
-            m_model.setCheckState(index, Qt::Checked);
+            m_model.setData(index, Qt::Checked, Qt::CheckStateRole);
         }
     }
     setUpdatesEnabled(true);
@@ -228,12 +230,12 @@ void FolderView::invertCheckState()
 
     setUpdatesEnabled(false);
     for (int n = 0; n < m_model.rowCount(); n++) {
-        QModelIndex index = m_model.index(n, 1);
-        if (m_model.checkState(index) == Qt::Checked) {
-            m_model.setCheckState(index, Qt::Unchecked);
+        QModelIndex index = m_model.index(n, 0);
+        if (m_model.data(index, Qt::CheckStateRole).toInt() == Qt::Checked) {
+            m_model.setData(index, Qt::Unchecked, Qt::CheckStateRole);
         }
         else {
-            m_model.setCheckState(index, Qt::Checked);
+            m_model.setData(index, Qt::Checked, Qt::CheckStateRole);
         }
     }
     setUpdatesEnabled(true);
@@ -247,11 +249,12 @@ void FolderView::toggleCheckState(const QModelIndex &index)
 
     QFileInfo info = m_model.fileInfo(index);
     if (info.fileName() != "..") {
-        if (m_model.checkState(index) == Qt::Checked) {
-            m_model.setCheckState(index, Qt::Unchecked);
+        QModelIndex chkIndex = m_model.index(index.row(), 0);
+        if (m_model.data(chkIndex, Qt::CheckStateRole).toInt() == Qt::Checked) {
+            m_model.setData(chkIndex, Qt::Unchecked, Qt::CheckStateRole);
         }
         else {
-            m_model.setCheckState(index, Qt::Checked);
+            m_model.setData(chkIndex, Qt::Checked, Qt::CheckStateRole);
         }
     }
     // 最終行でなければ、次のアイテムに移動する
@@ -292,7 +295,14 @@ QFileInfoList FolderView::checkedItems() const
 {
     qDebug() << side() << "checkedItems()";
 
-    return m_model.checkedItems();
+    QFileInfoList list;
+    for (int n = 0; n < m_model.rowCount(); n++) {
+        QModelIndex index = m_model.index(n, 0);
+        if (m_model.data(index, Qt::CheckStateRole).toInt() == Qt::Checked) {
+            list << m_model.fileInfo(index);
+        }
+    }
+    return list;
 }
 
 QFileInfoList FolderView::selectedItems() const
@@ -300,7 +310,7 @@ QFileInfoList FolderView::selectedItems() const
     qDebug() << side() << "selectedItems";
 
     // マークされているアイテムを取得する
-    QFileInfoList list = m_model.checkedItems();
+    QFileInfoList list = checkedItems();
 
     // 一つもマークされていなければ、カーソル位置のアイテムを取得する
     if (list.isEmpty()) {
index 8eba938..42705a8 100644 (file)
@@ -24,7 +24,7 @@ public:
     void searchNext(const QString &text);
     void searchPrev(const QString &text);
 
-    void setCheckStateAll(bool checked);
+    void setCheckStateAll(Qt::CheckState state);
     void setCheckStateAllFiles();
     void invertCheckState();
     void toggleCheckState(const QModelIndex &index);
index f801e94..2468434 100644 (file)
@@ -24,7 +24,7 @@ void LocationBox::updateAppearance(bool darker)
 
     QPalette pal = palette();
     int darkness = 100;
-    if (darker && settings.value(IniKey_EnableDarker).toBool()) {
+    if (darker) {
         darkness += settings.value(IniKey_Darkness).toInt();
     }
     pal.setColor(QPalette::Base, settings.value(IniKey_BoxColorBg).value<QColor>().darker(darkness));
index c3d97ab..2f05cc5 100644 (file)
@@ -283,7 +283,7 @@ void MainWindow::markAll()
     FolderView *view = static_cast<FolderView*>(qApp->focusWidget());\r
     Q_CHECK_PTR(view);\r
 \r
-    view->setCheckStateAll(true);\r
+    view->setCheckStateAll(Qt::Checked);\r
 }\r
 \r
 void MainWindow::markAllFiles()\r
@@ -303,7 +303,7 @@ void MainWindow::markAllOff()
     FolderView *view = static_cast<FolderView*>(qApp->focusWidget());\r
     Q_CHECK_PTR(view);\r
 \r
-    view->setCheckStateAll(false);\r
+    view->setCheckStateAll(Qt::Unchecked);\r
 }\r
 \r
 void MainWindow::markInvert()\r
@@ -1647,7 +1647,7 @@ void MainWindow::updateActions()
             }\r
         }\r
 \r
-        if (info.fileName() == "..") {\r
+        if (info.fileName() == ".." && view->checkedItems().isEmpty()) {\r
             // ファイル操作を抑止\r
             ui->cmd_Copy->setEnabled(false);\r
             ui->cmd_Delete->setEnabled(false);\r
index e0fb5be..0220dab 100644 (file)
@@ -56,8 +56,6 @@ PreferenceDialog::PreferenceDialog(QWidget *parent) :
     connect(ui->clrFgSystem, SIGNAL(clicked()), this, SLOT(selectViewColor()));
     connect(ui->chooseViewFont, SIGNAL(clicked()), this, SLOT(chooseFont()));
 
-    connect(ui->enableDarker, SIGNAL(toggled(bool)), this, SLOT(setControlsEnabled(bool)));
-
     connect(ui->importAppearance, SIGNAL(clicked()), this, SLOT(importAppearance()));
     connect(ui->exportAppearance, SIGNAL(clicked()), this, SLOT(exportAppearance()));
 
@@ -122,7 +120,6 @@ PreferenceDialog::PreferenceDialog(QWidget *parent) :
 
     //>>>>> 色とフォント、テキストビューア
     loadAppearance(settings, false);
-    ui->enableDarker->setChecked(settings.value(IniKey_EnableDarker).toBool());
     ui->dark->setValue(settings.value(IniKey_Darkness).toInt());
 
     //>>>>> ファイル操作
@@ -363,9 +360,6 @@ void PreferenceDialog::setControlsEnabled(bool enabled)
     else if (sender() == ui->enableViewerIgnoreExt) {
         ui->viewerIgnoreExt->setEnabled(enabled);
     }
-    else if (sender() == ui->enableDarker) {
-        ui->dark->setEnabled(enabled);
-    }
 }
 
 void PreferenceDialog::setIgnoreExtDefault()
@@ -539,7 +533,6 @@ void PreferenceDialog::accept()
 
     //>>>>> 色とフォント
     saveAppearance(settings);
-    settings.setValue(IniKey_EnableDarker, ui->enableDarker->isChecked());
     settings.setValue(IniKey_Darkness, ui->dark->value());
 
     //>>>>> ファイル操作
index eccefc5..1522a8c 100644 (file)
@@ -6,8 +6,8 @@
    <rect>
     <x>0</x>
     <y>0</y>
-    <width>581</width>
-    <height>584</height>
+    <width>683</width>
+    <height>530</height>
    </rect>
   </property>
   <property name="sizePolicy">
@@ -19,7 +19,7 @@
   <property name="windowTitle">
    <string>環境設定</string>
   </property>
-  <layout class="QVBoxLayout" name="verticalLayout_3">
+  <layout class="QVBoxLayout" name="verticalLayout_5">
    <item>
     <widget class="QTabWidget" name="tabWidget">
      <property name="focusPolicy">
          </property>
          <layout class="QVBoxLayout" name="verticalLayout_2">
           <property name="spacing">
-           <number>4</number>
+           <number>0</number>
           </property>
           <property name="leftMargin">
            <number>4</number>
          <property name="title">
           <string>ファイルビュー</string>
          </property>
-         <layout class="QVBoxLayout" name="verticalLayout_5">
+         <layout class="QVBoxLayout" name="verticalLayout_3">
           <property name="spacing">
-           <number>4</number>
-          </property>
-          <property name="leftMargin">
-           <number>4</number>
-          </property>
-          <property name="topMargin">
-           <number>4</number>
-          </property>
-          <property name="rightMargin">
-           <number>4</number>
-          </property>
-          <property name="bottomMargin">
-           <number>4</number>
+           <number>0</number>
           </property>
           <item>
            <layout class="QHBoxLayout" name="horizontalLayout_21">
            </layout>
           </item>
           <item>
-           <layout class="QHBoxLayout" name="horizontalLayout_18">
+           <layout class="QHBoxLayout" name="horizontalLayout_14">
             <property name="spacing">
-             <number>4</number>
-            </property>
-            <property name="leftMargin">
-             <number>4</number>
-            </property>
-            <property name="topMargin">
-             <number>4</number>
-            </property>
-            <property name="rightMargin">
-             <number>4</number>
-            </property>
-            <property name="bottomMargin">
-             <number>4</number>
+             <number>-1</number>
             </property>
             <item>
              <widget class="QGroupBox" name="groupBox_3">
               <property name="title">
                <string>文字色</string>
               </property>
-              <layout class="QHBoxLayout" name="horizontalLayout_19">
+              <layout class="QHBoxLayout" name="horizontalLayout_13">
+               <property name="topMargin">
+                <number>12</number>
+               </property>
                <item>
                 <widget class="QPushButton" name="clrFgSystem">
+                 <property name="sizePolicy">
+                  <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
+                   <horstretch>0</horstretch>
+                   <verstretch>0</verstretch>
+                  </sizepolicy>
+                 </property>
+                 <property name="minimumSize">
+                  <size>
+                   <width>100</width>
+                   <height>0</height>
+                  </size>
+                 </property>
                  <property name="focusPolicy">
                   <enum>Qt::StrongFocus</enum>
                  </property>
                </item>
                <item>
                 <widget class="QPushButton" name="clrFgMark">
+                 <property name="sizePolicy">
+                  <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
+                   <horstretch>0</horstretch>
+                   <verstretch>0</verstretch>
+                  </sizepolicy>
+                 </property>
+                 <property name="minimumSize">
+                  <size>
+                   <width>100</width>
+                   <height>0</height>
+                  </size>
+                 </property>
                  <property name="focusPolicy">
                   <enum>Qt::StrongFocus</enum>
                  </property>
                  <property name="text">
-                  <string>マーク</string>
+                  <string> マーク </string>
                  </property>
                 </widget>
                </item>
                <item>
                 <widget class="QPushButton" name="clrFgHidden">
+                 <property name="sizePolicy">
+                  <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
+                   <horstretch>0</horstretch>
+                   <verstretch>0</verstretch>
+                  </sizepolicy>
+                 </property>
+                 <property name="minimumSize">
+                  <size>
+                   <width>100</width>
+                   <height>0</height>
+                  </size>
+                 </property>
                  <property name="focusPolicy">
                   <enum>Qt::StrongFocus</enum>
                  </property>
                </item>
                <item>
                 <widget class="QPushButton" name="clrFgReadonly">
+                 <property name="sizePolicy">
+                  <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
+                   <horstretch>0</horstretch>
+                   <verstretch>0</verstretch>
+                  </sizepolicy>
+                 </property>
+                 <property name="minimumSize">
+                  <size>
+                   <width>100</width>
+                   <height>0</height>
+                  </size>
+                 </property>
                  <property name="focusPolicy">
                   <enum>Qt::StrongFocus</enum>
                  </property>
              </widget>
             </item>
             <item>
+             <spacer name="horizontalSpacer_9">
+              <property name="orientation">
+               <enum>Qt::Horizontal</enum>
+              </property>
+              <property name="sizeType">
+               <enum>QSizePolicy::Fixed</enum>
+              </property>
+              <property name="sizeHint" stdset="0">
+               <size>
+                <width>10</width>
+                <height>20</height>
+               </size>
+              </property>
+             </spacer>
+            </item>
+            <item>
              <widget class="QGroupBox" name="groupBox_4">
               <property name="title">
                <string>背景色</string>
               </layout>
              </widget>
             </item>
+            <item>
+             <spacer name="horizontalSpacer_3">
+              <property name="orientation">
+               <enum>Qt::Horizontal</enum>
+              </property>
+              <property name="sizeHint" stdset="0">
+               <size>
+                <width>40</width>
+                <height>20</height>
+               </size>
+              </property>
+             </spacer>
+            </item>
+           </layout>
+          </item>
+          <item>
+           <layout class="QHBoxLayout" name="horizontalLayout_11">
+            <item>
+             <widget class="QLabel" name="label_18">
+              <property name="text">
+               <string>非アクティブパネルの暗さ(0〜100)</string>
+              </property>
+             </widget>
+            </item>
+            <item>
+             <widget class="QSpinBox" name="dark">
+              <property name="prefix">
+               <string/>
+              </property>
+              <property name="maximum">
+               <number>100</number>
+              </property>
+             </widget>
+            </item>
+            <item>
+             <spacer name="horizontalSpacer_2">
+              <property name="orientation">
+               <enum>Qt::Horizontal</enum>
+              </property>
+              <property name="sizeHint" stdset="0">
+               <size>
+                <width>40</width>
+                <height>20</height>
+               </size>
+              </property>
+             </spacer>
+            </item>
            </layout>
           </item>
           <item>
         </widget>
        </item>
        <item>
-        <widget class="QGroupBox" name="enableDarker">
-         <property name="title">
-          <string>非アクティブパネルの色を暗くする</string>
-         </property>
-         <property name="flat">
-          <bool>false</bool>
-         </property>
-         <property name="checkable">
-          <bool>true</bool>
-         </property>
-         <layout class="QHBoxLayout" name="horizontalLayout_11">
-          <item>
-           <widget class="QLabel" name="label_18">
-            <property name="text">
-             <string>暗さ(0〜100)</string>
-            </property>
-           </widget>
-          </item>
-          <item>
-           <widget class="QSpinBox" name="dark">
-            <property name="prefix">
-             <string/>
-            </property>
-            <property name="maximum">
-             <number>100</number>
-            </property>
-           </widget>
-          </item>
-          <item>
-           <spacer name="horizontalSpacer_2">
-            <property name="orientation">
-             <enum>Qt::Horizontal</enum>
-            </property>
-            <property name="sizeHint" stdset="0">
-             <size>
-              <width>40</width>
-              <height>20</height>
-             </size>
-            </property>
-           </spacer>
-          </item>
-         </layout>
-        </widget>
-       </item>
-       <item>
         <layout class="QHBoxLayout" name="horizontalLayout_28">
          <property name="spacing">
           <number>4</number>
       <attribute name="title">
        <string>ファイル操作</string>
       </attribute>
-      <layout class="QVBoxLayout" name="verticalLayout_8">
-       <property name="spacing">
-        <number>-1</number>
-       </property>
-       <property name="leftMargin">
-        <number>4</number>
-       </property>
-       <property name="topMargin">
-        <number>4</number>
-       </property>
-       <property name="rightMargin">
-        <number>4</number>
-       </property>
-       <property name="bottomMargin">
-        <number>4</number>
-       </property>
+      <layout class="QVBoxLayout" name="verticalLayout_6">
        <item>
-        <widget class="QGroupBox" name="groupBox_5">
-         <property name="title">
-          <string>操作の開始時、確認ダイアログを表示する</string>
-         </property>
-         <layout class="QHBoxLayout" name="horizontalLayout_24">
-          <property name="spacing">
-           <number>-1</number>
-          </property>
-          <property name="leftMargin">
-           <number>4</number>
-          </property>
-          <property name="topMargin">
-           <number>4</number>
-          </property>
-          <property name="rightMargin">
-           <number>4</number>
-          </property>
-          <property name="bottomMargin">
-           <number>4</number>
-          </property>
-          <item>
-           <widget class="QCheckBox" name="confirmCopy">
-            <property name="focusPolicy">
-             <enum>Qt::StrongFocus</enum>
-            </property>
-            <property name="text">
-             <string>コピー</string>
-            </property>
-           </widget>
-          </item>
-          <item>
-           <widget class="QCheckBox" name="confirmMove">
-            <property name="focusPolicy">
-             <enum>Qt::StrongFocus</enum>
-            </property>
-            <property name="text">
-             <string>移動</string>
-            </property>
-           </widget>
-          </item>
-          <item>
-           <widget class="QCheckBox" name="confirmDelete">
-            <property name="focusPolicy">
-             <enum>Qt::StrongFocus</enum>
-            </property>
-            <property name="text">
-             <string>削除</string>
-            </property>
-           </widget>
-          </item>
-          <item>
-           <widget class="QCheckBox" name="confirmRename">
-            <property name="focusPolicy">
-             <enum>Qt::StrongFocus</enum>
-            </property>
-            <property name="text">
-             <string>名前変更</string>
-            </property>
-           </widget>
-          </item>
-          <item>
-           <spacer name="horizontalSpacer_14">
-            <property name="orientation">
-             <enum>Qt::Horizontal</enum>
-            </property>
-            <property name="sizeHint" stdset="0">
-             <size>
-              <width>40</width>
-              <height>20</height>
-             </size>
-            </property>
-           </spacer>
-          </item>
-         </layout>
-        </widget>
-       </item>
-       <item>
-        <widget class="QGroupBox" name="groupBox_6">
-         <property name="title">
-          <string>操作の成功時、進捗ダイアログを自動で閉じる</string>
-         </property>
-         <layout class="QHBoxLayout" name="horizontalLayout_25">
-          <property name="spacing">
-           <number>-1</number>
-          </property>
-          <property name="leftMargin">
-           <number>4</number>
-          </property>
-          <property name="topMargin">
-           <number>4</number>
-          </property>
-          <property name="rightMargin">
-           <number>4</number>
-          </property>
-          <property name="bottomMargin">
-           <number>4</number>
-          </property>
-          <item>
-           <widget class="QCheckBox" name="autoCloseCopy">
-            <property name="focusPolicy">
-             <enum>Qt::StrongFocus</enum>
+        <layout class="QHBoxLayout" name="horizontalLayout_12">
+         <item>
+          <widget class="QGroupBox" name="groupBox_5">
+           <property name="title">
+            <string>操作の開始時、確認ダイアログを表示する</string>
+           </property>
+           <layout class="QHBoxLayout" name="horizontalLayout_24">
+            <property name="spacing">
+             <number>-1</number>
             </property>
-            <property name="text">
-             <string>コピー</string>
+            <property name="leftMargin">
+             <number>4</number>
             </property>
-           </widget>
-          </item>
-          <item>
-           <widget class="QCheckBox" name="autoCloseMove">
-            <property name="focusPolicy">
-             <enum>Qt::StrongFocus</enum>
+            <property name="topMargin">
+             <number>4</number>
             </property>
-            <property name="text">
-             <string>移動</string>
+            <property name="rightMargin">
+             <number>4</number>
             </property>
-           </widget>
-          </item>
-          <item>
-           <widget class="QCheckBox" name="autoCloseDelete">
-            <property name="focusPolicy">
-             <enum>Qt::StrongFocus</enum>
+            <property name="bottomMargin">
+             <number>4</number>
             </property>
-            <property name="text">
-             <string>削除</string>
+            <item>
+             <widget class="QCheckBox" name="confirmCopy">
+              <property name="focusPolicy">
+               <enum>Qt::StrongFocus</enum>
+              </property>
+              <property name="text">
+               <string>コピー</string>
+              </property>
+             </widget>
+            </item>
+            <item>
+             <widget class="QCheckBox" name="confirmMove">
+              <property name="focusPolicy">
+               <enum>Qt::StrongFocus</enum>
+              </property>
+              <property name="text">
+               <string>移動</string>
+              </property>
+             </widget>
+            </item>
+            <item>
+             <widget class="QCheckBox" name="confirmDelete">
+              <property name="focusPolicy">
+               <enum>Qt::StrongFocus</enum>
+              </property>
+              <property name="text">
+               <string>削除</string>
+              </property>
+             </widget>
+            </item>
+            <item>
+             <widget class="QCheckBox" name="confirmRename">
+              <property name="focusPolicy">
+               <enum>Qt::StrongFocus</enum>
+              </property>
+              <property name="text">
+               <string>名前変更</string>
+              </property>
+             </widget>
+            </item>
+           </layout>
+          </widget>
+         </item>
+         <item>
+          <widget class="QGroupBox" name="groupBox_6">
+           <property name="title">
+            <string>操作の成功時、進捗ダイアログを自動で閉じる</string>
+           </property>
+           <layout class="QHBoxLayout" name="horizontalLayout_25">
+            <property name="spacing">
+             <number>-1</number>
             </property>
-           </widget>
-          </item>
-          <item>
-           <widget class="QCheckBox" name="autoCloseRename">
-            <property name="focusPolicy">
-             <enum>Qt::StrongFocus</enum>
+            <property name="leftMargin">
+             <number>4</number>
             </property>
-            <property name="text">
-             <string>名前変更</string>
+            <property name="topMargin">
+             <number>4</number>
             </property>
-           </widget>
-          </item>
-          <item>
-           <spacer name="horizontalSpacer_15">
-            <property name="orientation">
-             <enum>Qt::Horizontal</enum>
+            <property name="rightMargin">
+             <number>4</number>
             </property>
-            <property name="sizeHint" stdset="0">
-             <size>
-              <width>40</width>
-              <height>20</height>
-             </size>
+            <property name="bottomMargin">
+             <number>4</number>
             </property>
-           </spacer>
-          </item>
-         </layout>
-        </widget>
+            <item>
+             <widget class="QCheckBox" name="autoCloseCopy">
+              <property name="focusPolicy">
+               <enum>Qt::StrongFocus</enum>
+              </property>
+              <property name="text">
+               <string>コピー</string>
+              </property>
+             </widget>
+            </item>
+            <item>
+             <widget class="QCheckBox" name="autoCloseMove">
+              <property name="focusPolicy">
+               <enum>Qt::StrongFocus</enum>
+              </property>
+              <property name="text">
+               <string>移動</string>
+              </property>
+             </widget>
+            </item>
+            <item>
+             <widget class="QCheckBox" name="autoCloseDelete">
+              <property name="focusPolicy">
+               <enum>Qt::StrongFocus</enum>
+              </property>
+              <property name="text">
+               <string>削除</string>
+              </property>
+             </widget>
+            </item>
+            <item>
+             <widget class="QCheckBox" name="autoCloseRename">
+              <property name="focusPolicy">
+               <enum>Qt::StrongFocus</enum>
+              </property>
+              <property name="text">
+               <string>名前変更</string>
+              </property>
+             </widget>
+            </item>
+           </layout>
+          </widget>
+         </item>
+         <item>
+          <spacer name="horizontalSpacer_10">
+           <property name="orientation">
+            <enum>Qt::Horizontal</enum>
+           </property>
+           <property name="sizeHint" stdset="0">
+            <size>
+             <width>40</width>
+             <height>20</height>
+            </size>
+           </property>
+          </spacer>
+         </item>
+        </layout>
        </item>
        <item>
-        <widget class="QGroupBox" name="groupBox_7">
-         <property name="title">
-          <string>同名ファイル存在時の既定の動作</string>
-         </property>
-         <layout class="QGridLayout" name="gridLayout">
-          <property name="leftMargin">
-           <number>4</number>
-          </property>
-          <property name="topMargin">
-           <number>4</number>
-          </property>
-          <property name="rightMargin">
-           <number>4</number>
-          </property>
-          <property name="bottomMargin">
-           <number>4</number>
-          </property>
-          <property name="spacing">
-           <number>-1</number>
-          </property>
-          <item row="0" column="0">
-           <widget class="QRadioButton" name="rbOverWrite">
-            <property name="focusPolicy">
-             <enum>Qt::StrongFocus</enum>
-            </property>
-            <property name="text">
-             <string>上書き</string>
-            </property>
-            <attribute name="buttonGroup">
-             <string notr="true">overwriteOptions</string>
-            </attribute>
-           </widget>
-          </item>
-          <item row="0" column="1">
-           <widget class="QRadioButton" name="rbOverWriteIfNew">
-            <property name="focusPolicy">
-             <enum>Qt::StrongFocus</enum>
-            </property>
-            <property name="text">
-             <string>新しければ上書き</string>
-            </property>
-            <attribute name="buttonGroup">
-             <string notr="true">overwriteOptions</string>
-            </attribute>
-           </widget>
-          </item>
-          <item row="0" column="2">
-           <widget class="QRadioButton" name="rbSkip">
-            <property name="focusPolicy">
-             <enum>Qt::StrongFocus</enum>
-            </property>
-            <property name="text">
-             <string>スキップ</string>
+        <layout class="QHBoxLayout" name="horizontalLayout_15">
+         <item>
+          <widget class="QGroupBox" name="groupBox_7">
+           <property name="title">
+            <string>同名ファイル存在時の既定の動作</string>
+           </property>
+           <layout class="QGridLayout" name="gridLayout">
+            <property name="leftMargin">
+             <number>4</number>
             </property>
-            <attribute name="buttonGroup">
-             <string notr="true">overwriteOptions</string>
-            </attribute>
-           </widget>
-          </item>
-          <item row="1" column="0" colspan="2">
-           <widget class="QRadioButton" name="rbAppendNumber">
-            <property name="focusPolicy">
-             <enum>Qt::StrongFocus</enum>
+            <property name="topMargin">
+             <number>4</number>
             </property>
-            <property name="text">
-             <string>ファイル名末尾に数字を付与</string>
+            <property name="rightMargin">
+             <number>4</number>
             </property>
-            <attribute name="buttonGroup">
-             <string notr="true">overwriteOptions</string>
-            </attribute>
-           </widget>
-          </item>
-          <item row="1" column="2">
-           <widget class="QRadioButton" name="rbRename">
-            <property name="focusPolicy">
-             <enum>Qt::StrongFocus</enum>
+            <property name="bottomMargin">
+             <number>4</number>
             </property>
-            <property name="text">
-             <string>名前を変更</string>
+            <property name="spacing">
+             <number>-1</number>
             </property>
-            <attribute name="buttonGroup">
-             <string notr="true">overwriteOptions</string>
-            </attribute>
-           </widget>
-          </item>
-         </layout>
-        </widget>
+            <item row="0" column="0">
+             <widget class="QRadioButton" name="rbOverWrite">
+              <property name="focusPolicy">
+               <enum>Qt::StrongFocus</enum>
+              </property>
+              <property name="text">
+               <string>上書き</string>
+              </property>
+              <attribute name="buttonGroup">
+               <string notr="true">overwriteOptions</string>
+              </attribute>
+             </widget>
+            </item>
+            <item row="0" column="1">
+             <widget class="QRadioButton" name="rbOverWriteIfNew">
+              <property name="focusPolicy">
+               <enum>Qt::StrongFocus</enum>
+              </property>
+              <property name="text">
+               <string>新しければ上書き</string>
+              </property>
+              <attribute name="buttonGroup">
+               <string notr="true">overwriteOptions</string>
+              </attribute>
+             </widget>
+            </item>
+            <item row="0" column="2">
+             <widget class="QRadioButton" name="rbSkip">
+              <property name="focusPolicy">
+               <enum>Qt::StrongFocus</enum>
+              </property>
+              <property name="text">
+               <string>スキップ</string>
+              </property>
+              <attribute name="buttonGroup">
+               <string notr="true">overwriteOptions</string>
+              </attribute>
+             </widget>
+            </item>
+            <item row="1" column="0" colspan="2">
+             <widget class="QRadioButton" name="rbAppendNumber">
+              <property name="focusPolicy">
+               <enum>Qt::StrongFocus</enum>
+              </property>
+              <property name="text">
+               <string>ファイル名末尾に数字を付与</string>
+              </property>
+              <attribute name="buttonGroup">
+               <string notr="true">overwriteOptions</string>
+              </attribute>
+             </widget>
+            </item>
+            <item row="1" column="2">
+             <widget class="QRadioButton" name="rbRename">
+              <property name="focusPolicy">
+               <enum>Qt::StrongFocus</enum>
+              </property>
+              <property name="text">
+               <string>名前を変更</string>
+              </property>
+              <attribute name="buttonGroup">
+               <string notr="true">overwriteOptions</string>
+              </attribute>
+             </widget>
+            </item>
+           </layout>
+          </widget>
+         </item>
+         <item>
+          <spacer name="horizontalSpacer_11">
+           <property name="orientation">
+            <enum>Qt::Horizontal</enum>
+           </property>
+           <property name="sizeHint" stdset="0">
+            <size>
+             <width>40</width>
+             <height>20</height>
+            </size>
+           </property>
+          </spacer>
+         </item>
+        </layout>
        </item>
        <item>
         <widget class="QCheckBox" name="moveAfterCreate">
@@ -1997,8 +2035,8 @@ ABCDEFGHIJKLMNOPQRSTUVWXYZ
   </connection>
  </connections>
  <buttongroups>
-  <buttongroup name="posOptions"/>
   <buttongroup name="sizeOptions"/>
   <buttongroup name="overwriteOptions"/>
+  <buttongroup name="posOptions"/>
  </buttongroups>
 </ui>