OSDN Git Service

Ver0.12
authorMasayuki Satoh <miyabi.satoh@gmail.com>
Tue, 26 Aug 2014 03:30:08 +0000 (12:30 +0900)
committerMasayuki Satoh <miyabi.satoh@gmail.com>
Tue, 26 Aug 2014 03:30:08 +0000 (12:30 +0900)
17 files changed:
Gefu.pro
README.md
common.h
filetablemodel.cpp
folderview.cpp
folderview.h
mainwindow.cpp
mainwindow.h
mainwindow.ui
overwritedialog.cpp
preferencedialog.cpp
preferencedialog.ui
renamemultidialog.cpp
renamemultidialog.ui
simpletextview.cpp
simpletextview.h
version.h [new file with mode: 0644]

index a3babff..2355b5b 100644 (file)
--- a/Gefu.pro
+++ b/Gefu.pro
@@ -56,7 +56,8 @@ HEADERS  += mainwindow.h \
     simpletextview.h \
     searchbox.h \
     folderview.h \
-    locationbox.h
+    locationbox.h \
+    version.h
 
 FORMS    += mainwindow.ui \
     renamesingledialog.ui \
index 063f90d..c6dd011 100644 (file)
--- a/README.md
+++ b/README.md
@@ -4,7 +4,6 @@ Gefu
 Gefu is an Experimental File Utility.
 
 ### TODO
-- コンテキストメニュー ← 必要?
 - オプション
     - ファンクションキー
     - キーバインドカスタマイズ
@@ -13,6 +12,13 @@ Gefu is an Experimental File Utility.
 - 簡易FTPクライアント
 - SNS連携(タイムライン表示とか) ← ファイラーの機能か?
 
+#### 2014/08/26 Ver0.12
+- コンテキストメニューを実装。
+- 拡張子を分離して表示するようにした。
+- ファイルビューの状態で文字の大きさを変更できるようにした。
+- GUIまわり(メニュー、ツールバー、ダイアログ)を調整。
+- テキストビューアの外観設定が反映されていなかったのを修正。
+
 #### 2014/08/25 Ver0.11 公開
 - ファイル検索機能を実装。
 - 内部構造を大幅に変更。
index 54d56b0..1861f24 100644 (file)
--- a/common.h
+++ b/common.h
@@ -11,8 +11,6 @@ extern QString FilesizeToString(quint64 size);
 extern QString ViewerIgnoreExt();\r
 extern QString KeyEventToSequence(const QKeyEvent *event);\r
 \r
-#define VERSION_VALUE   0.11\r
-\r
 #define slash   QString("/")\r
 #define QQ(x)   ("\"" + QString(x) + "\"")\r
 \r
index 4b89099..0b08170 100644 (file)
@@ -107,9 +107,6 @@ bool FileTableModel::setPath(const QString &path)
 \r
     endResetModel();\r
 \r
-//    emit rootChanged(m_dir.absolutePath());\r
-//    stateChanged();\r
-\r
     emit dataChanged(QModelIndex(), QModelIndex());\r
     return !m_fileInfoList.isEmpty();\r
 }\r
@@ -130,8 +127,6 @@ void FileTableModel::setCheckState(const QModelIndex &index, Qt::CheckState stat
     }\r
     endResetModel();;\r
     emit dataChanged(index, this->index(index.row(), 3));\r
-\r
-//    stateChanged();\r
 }\r
 \r
 void FileTableModel::setCheckStateAll(Qt::CheckState state)\r
@@ -145,8 +140,6 @@ void FileTableModel::setCheckStateAll(Qt::CheckState state)
     }\r
     endResetModel();\r
     emit dataChanged(QModelIndex(), QModelIndex());\r
-\r
-//    stateChanged();\r
 }\r
 \r
 QFileInfo FileTableModel::fileInfo(const QModelIndex &index) const\r
@@ -184,26 +177,6 @@ void FileTableModel::directoryChange(const QString &path)
     setPath(path);\r
 }\r
 \r
-//void FileTableModel::stateChanged()\r
-//{\r
-//    int numFolder = 0;\r
-//    int numFile = 0;\r
-//    quint64 totalSize = 0;\r
-//    for (int n = 0; n < m_checkStates.size(); n++) {\r
-//        if (m_checkStates[n] == Qt::Checked) {\r
-//            if (m_fileInfoList[n].isDir()) {\r
-//                numFolder++;\r
-//            }\r
-//            else {\r
-//                numFile++;\r
-//                totalSize += m_fileInfoList[n].size();\r
-//            }\r
-//        }\r
-//    }\r
-\r
-//    emit selectionChanged(numFolder, numFile, totalSize);\r
-//}\r
-\r
 QFileInfoList FileTableModel::checkedItems() const\r
 {\r
     QFileInfoList list;\r
@@ -226,7 +199,7 @@ int FileTableModel::rowCount(const QModelIndex &parent) const
 int FileTableModel::columnCount(const QModelIndex &parent) const\r
 {\r
     Q_UNUSED(parent);\r
-    return 4;\r
+    return 5;\r
 }\r
 \r
 QVariant FileTableModel::data(const QModelIndex &index, int role) const\r
@@ -244,8 +217,30 @@ QVariant FileTableModel::data(const QModelIndex &index, int role) const
         case 0: // チェックボックス\r
             return QString("");\r
         case 1: // ファイル名\r
-            return info.fileName();\r
-        case 2: // サイズ\r
+            if (info.isDir()) {\r
+                return info.fileName();\r
+            }\r
+            if (info.fileName().left(1) == ".") {   // "."で始まるファイル\r
+                int pos = info.fileName().lastIndexOf(".");\r
+                if (pos == 0) {\r
+                    return info.fileName();\r
+                }\r
+            }\r
+            return info.completeBaseName();\r
+\r
+        case 2: // 拡張子\r
+            if (info.isDir()) {\r
+                return QString();\r
+            }\r
+            if (info.fileName().left(1) == ".") {   // "."で始まるファイル\r
+                int pos = info.fileName().lastIndexOf(".");\r
+                if (pos == 0) {\r
+                    return QString();\r
+                }\r
+            }\r
+            return info.suffix();\r
+\r
+        case 3: // サイズ\r
             if (info.isDir()) {\r
                 return QString("<DIR>");\r
             }\r
@@ -253,7 +248,8 @@ QVariant FileTableModel::data(const QModelIndex &index, int role) const
                 return FilesizeToString(info.size());\r
             }\r
             break;\r
-        case 3:\r
+\r
+        case 4: // 更新日時\r
             return info.lastModified().toString("yy/MM/dd hh:mm");\r
         }\r
         break;\r
@@ -275,12 +271,11 @@ QVariant FileTableModel::data(const QModelIndex &index, int role) const
 \r
     case Qt::TextAlignmentRole:\r
         switch (index.column()) {\r
-        case 0:\r
-        case 1:\r
-            return Qt::AlignLeft + Qt::AlignVCenter;\r
-        case 2:\r
         case 3:\r
+        case 4:\r
             return Qt::AlignRight + Qt::AlignVCenter;\r
+        default:\r
+            return Qt::AlignLeft + Qt::AlignVCenter;\r
         }\r
         break;\r
 \r
@@ -329,8 +324,9 @@ QVariant FileTableModel::headerData(int section, Qt::Orientation orientation, in
             switch (section) {\r
             case 0: return QString("");\r
             case 1: return tr("名前");\r
-            case 2: return tr("サイズ");\r
-            case 3: return tr("更新日時");\r
+            case 2: return tr("拡張子");\r
+            case 3: return tr("サイズ");\r
+            case 4: return tr("更新日時");\r
             }\r
         }\r
     }\r
@@ -363,7 +359,6 @@ bool FileTableModel::setData(const QModelIndex &index, const QVariant &value, in
         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
-//            stateChanged();\r
             return true;\r
         }\r
         break;\r
index a590e59..f08d0cd 100644 (file)
@@ -8,6 +8,7 @@
 #include <QMimeData>
 #include <QApplication>
 #include <QDrag>
+#include <QMenu>
 
 QString FilesizeToString(quint64 size)
 {
@@ -35,6 +36,8 @@ FolderView::FolderView(QWidget *parent) :
     setDragEnabled(true);
     setAcceptDrops(true);
     setDropIndicatorShown(true);
+
+    setContextMenuPolicy(Qt::DefaultContextMenu);
 }
 
 QString FolderView::side() const
@@ -52,10 +55,13 @@ void FolderView::initialize()
 {
     qDebug() << side() << "initialize";
 
+    setColumnWidth(0, 30);
+
     QHeaderView *header;
     // 列のリサイズモードを設定する
     header = horizontalHeader();
     header->setSectionResizeMode(QHeaderView::ResizeToContents);
+    header->setSectionResizeMode(0, QHeaderView::Fixed);
     header->setSectionResizeMode(1, QHeaderView::Stretch);
 
     // 前回終了時のパスを開く
@@ -348,7 +354,7 @@ void FolderView::dataChanged(const QModelIndex &topLeft, const QModelIndex &bott
 
 void FolderView::currentChanged(const QModelIndex &current, const QModelIndex &previous)
 {
-    emit currentChanged(m_model.fileInfo(current).absoluteFilePath());
+    emit currentChanged(m_model.fileInfo(current));
 
     QTableView::currentChanged(current, previous);
 }
@@ -443,3 +449,11 @@ void FolderView::dropEvent(QDropEvent *event)
 
     emit dropAccepted(list);
 }
+
+
+void FolderView::contextMenuEvent(QContextMenuEvent *event)
+{
+    qDebug() << side() << "contextMenuEvent();";
+
+    emit requestContextMenu(event);
+}
index 61f2b0c..201efb7 100644 (file)
@@ -54,13 +54,14 @@ private:
     bool m_dragging;
 
 signals:
-    void currentChanged(const QString &path);
+    void currentChanged(const QFileInfo &info);
     void dataChanged();
     void dropAccepted(const QFileInfoList &list);
     void itemFound();
     void itemNotFound();
     void retrieveStarted(const QString &path);
     void retrieveFinished();
+    void requestContextMenu(QContextMenuEvent *event);
     void keyPressed(QKeyEvent *event);
 
 public slots:
@@ -77,6 +78,7 @@ protected:
     void mouseMoveEvent(QMouseEvent *event);
     void dragEnterEvent(QDragEnterEvent *event);
     void dropEvent(QDropEvent *event);
+    void contextMenuEvent(QContextMenuEvent *event);
 };
 
 #endif // FOLDERVIEW_H
index fd69d95..108d547 100644 (file)
@@ -1,4 +1,5 @@
 #include "common.h"\r
+#include "version.h"\r
 #include "mainwindow.h"\r
 #include "preferencedialog.h"\r
 #include "folderview.h"\r
@@ -71,12 +72,13 @@ MainWindow::MainWindow(QWidget *parent) :
         connect(folderView, SIGNAL(doubleClicked(QModelIndex)), this, SLOT(open(QModelIndex)));\r
         connect(folderView, SIGNAL(dataChanged()), this, SLOT(dataChange()));\r
         connect(folderView, SIGNAL(dropAccepted(QFileInfoList)), this, SLOT(dropAccept(QFileInfoList)));\r
-        connect(folderView, SIGNAL(currentChanged(QString)), ui->statusBar, SLOT(showMessage(QString)));\r
+        connect(folderView, SIGNAL(currentChanged(QFileInfo)), this, SLOT(currentChange(QFileInfo)));\r
         connect(folderView, SIGNAL(itemFound()), this, SLOT(itemFound()));\r
         connect(folderView, SIGNAL(itemNotFound()), this, SLOT(itemNotFound()));\r
         connect(folderView, SIGNAL(keyPressed(QKeyEvent*)), this, SLOT(keyPress(QKeyEvent*)));\r
         connect(folderView, SIGNAL(retrieveFinished()), this, SLOT(retrieveFinish()));\r
         connect(folderView, SIGNAL(retrieveStarted(QString)), this, SLOT(retrieveStart(QString)));\r
+        connect(folderView, SIGNAL(requestContextMenu(QContextMenuEvent*)), this, SLOT(showContextMenu(QContextMenuEvent*)));\r
         connect(searchBox, SIGNAL(textEdited(QString)), this, SLOT(searchItem(QString)));\r
         connect(searchBox, SIGNAL(returnPressed()), this, SLOT(returnPressInSearchBox()));\r
 \r
@@ -114,16 +116,20 @@ MainWindow::MainWindow(QWidget *parent) :
     ui->action_Exec->setShortcuts(shortcuts);\r
 \r
     // MacだとShift+の形で認識されてしまうもの\r
+    shortcuts = ui->view_FontSizeUp->shortcuts();\r
+    shortcuts.append(QKeySequence("Shift++"));\r
+    ui->view_FontSizeUp->setShortcuts(shortcuts);\r
+\r
     shortcuts = ui->view_Filter->shortcuts();\r
-    shortcuts.append(QKeySequence("Shift+*"));  // マヂで!?\r
+    shortcuts.append(QKeySequence("Shift+*"));\r
     ui->view_Filter->setShortcuts(shortcuts);\r
 \r
     shortcuts = ui->action_OpenTerminal->shortcuts();\r
-    shortcuts.append(QKeySequence("Shift+>"));  // マヂで!?\r
+    shortcuts.append(QKeySequence("Shift+>"));\r
     ui->action_OpenTerminal->setShortcuts(shortcuts);\r
 \r
     shortcuts = ui->help_About->shortcuts();\r
-    shortcuts.append(QKeySequence("Shift+?"));  // マヂで!?\r
+    shortcuts.append(QKeySequence("Shift+?"));\r
     ui->help_About->setShortcuts(shortcuts);\r
 \r
     // ウィンドウタイトルを設定する\r
@@ -486,8 +492,40 @@ void MainWindow::askOverWrite(QString *copyMethod,
     worker->endAsking();\r
 }\r
 \r
+void MainWindow::currentChange(const QFileInfo &info)\r
+{\r
+    qDebug() << "MainWindow::currentChange();";\r
+\r
+    ui->statusBar->showMessage(info.absoluteFilePath());\r
+    if (info.isDir()) {\r
+        ui->action_Open->setIcon(QIcon(":/images/Open.png"));\r
+        ui->action_Open->setText(tr("開く"));\r
+        ui->action_Open->setToolTip(tr("開く"));\r
+    }\r
+    else {\r
+        ui->action_Open->setIcon(QIcon(":/images/Search text.png"));\r
+        ui->action_Open->setText(tr("テキストビューアで開く"));\r
+        ui->action_Open->setToolTip(tr("テキストビューアで開く"));\r
+        ui->action_Open->setEnabled(true);\r
+\r
+        QSettings settings;\r
+        if (!settings.value(IniKey_ViewerForceOpen).toBool()) {\r
+            QStringList list = settings.value(IniKey_ViewerIgnoreExt).toString().split(",");\r
+            foreach (const QString &ext, list) {\r
+                if (ext.toLower() == info.suffix().toLower()) {\r
+                    ui->action_Open->setEnabled(false);\r
+                    break;\r
+                }\r
+            }\r
+        }\r
+    }\r
+\r
+}\r
+\r
 void MainWindow::dataChange()\r
 {\r
+    qDebug() << "MainWindow::dataChange();";\r
+\r
     FolderView *view = static_cast<FolderView*>(sender());\r
     QFileInfoList list = view->checkedItems();\r
     if (list.isEmpty()) {\r
@@ -1128,6 +1166,34 @@ void MainWindow::setCursorToEnd()
     v->setCurrentIndex(v->model()->index(row, 0));\r
 }\r
 \r
+void MainWindow::setFontSizeDown()\r
+{\r
+    qDebug() << "MainWindow::setFontSizeDown();";\r
+\r
+    QSettings settings;\r
+\r
+    QFont font = settings.value(IniKey_ViewFont).value<QFont>();\r
+    font.setPointSize(font.pointSize() - 1);\r
+    settings.setValue(IniKey_ViewFont, font);\r
+\r
+    ui->folderView1->updateAppearance();\r
+    ui->folderView2->updateAppearance();\r
+}\r
+\r
+void MainWindow::setFontSizeUp()\r
+{\r
+    qDebug() << "MainWindow::setFontSizeUp();";\r
+\r
+    QSettings settings;\r
+\r
+    QFont font = settings.value(IniKey_ViewFont).value<QFont>();\r
+    font.setPointSize(font.pointSize() + 1);\r
+    settings.setValue(IniKey_ViewFont, font);\r
+\r
+    ui->folderView1->updateAppearance();\r
+    ui->folderView2->updateAppearance();\r
+}\r
+\r
 void MainWindow::setPathFromOther()\r
 {\r
     qDebug() << "MainWindow::setPathFromOther();";\r
@@ -1245,6 +1311,7 @@ void MainWindow::showPreferenceDialog()
         ui->locationBox2->updateAppearance();\r
         ui->folderView1->updateAppearance();\r
         ui->folderView2->updateAppearance();\r
+        ui->textView->updateAppearance();\r
 \r
         updateActions();\r
     }\r
@@ -1272,6 +1339,37 @@ void MainWindow::toggleShowSystemFiles(bool checked)
     ui->folderView2->refresh();\r
 }\r
 \r
+void MainWindow::showContextMenu(QContextMenuEvent *event)\r
+{\r
+    qDebug() << "MainWindow::showContextMenu();";\r
+\r
+    FolderView *view = static_cast<FolderView*>(sender());\r
+    QModelIndex index = view->indexAt(event->pos());\r
+\r
+    QMenu menu(this);\r
+    if (index.isValid()) {\r
+        menu.addAction(ui->action_Open);\r
+        menu.addAction(ui->action_Exec);\r
+        menu.addAction(ui->action_OpenEditor);\r
+        menu.addAction(ui->action_OpenTerminal);\r
+        menu.addSeparator();\r
+        menu.addAction(ui->copy_Filename);\r
+        menu.addAction(ui->copy_Fullpath);\r
+    }\r
+    else {\r
+        menu.addAction(ui->move_Back);\r
+        menu.addAction(ui->move_Forward);\r
+        menu.addSeparator();\r
+        menu.addAction(ui->move_Parent);\r
+        menu.addAction(ui->move_Home);\r
+        menu.addAction(ui->move_Root);\r
+        menu.addAction(ui->move_Jump);\r
+    }\r
+\r
+    menu.exec(event->globalPos());\r
+\r
+}\r
+\r
 void MainWindow::checkUpdate(bool silent)\r
 {\r
     qDebug() << "MainWindow::checkUpdate()" << silent;\r
@@ -1379,6 +1477,8 @@ void MainWindow::initActionConnections()
     connect(ui->move_Root, SIGNAL(triggered()), this, SLOT(setPathToRoot()));\r
     connect(ui->move_Up, SIGNAL(triggered()), this, SLOT(cursorUp()));\r
     connect(ui->view_Filter, SIGNAL(triggered()), this, SLOT(showFilterDialog()));\r
+    connect(ui->view_FontSizeDown, SIGNAL(triggered()), this, SLOT(setFontSizeDown()));\r
+    connect(ui->view_FontSizeUp, SIGNAL(triggered()), this, SLOT(setFontSizeUp()));\r
     connect(ui->view_FromOther, SIGNAL(triggered()), this, SLOT(setPathFromOther()));\r
     connect(ui->view_Hidden, SIGNAL(toggled(bool)), this, SLOT(toggleShowHiddenFiles(bool)));\r
     connect(ui->view_Refresh, SIGNAL(triggered()), this, SLOT(refresh()));\r
index dcb3bb3..5af393b 100644 (file)
@@ -35,6 +35,7 @@ public slots:
     void askOverWrite(QString *copyMethod, QString *alias,\r
                       const QString &srcPath, const QString &tgtPath);\r
 \r
+    void currentChange(const QFileInfo &info);\r
     void dataChange();\r
     void dropAccept(const QFileInfoList &list);\r
     void focusChange(QWidget * old, QWidget * now);\r
@@ -77,6 +78,8 @@ public slots:
     void searchPrev();\r
     void setCursorToBegin();\r
     void setCursorToEnd();\r
+    void setFontSizeDown();\r
+    void setFontSizeUp();\r
     void setPathFromOther();\r
     void setPathToHome();\r
     void setPathToOther();\r
@@ -92,6 +95,8 @@ public slots:
     void toggleShowHiddenFiles(bool checked);\r
     void toggleShowSystemFiles(bool checked);\r
 \r
+    void showContextMenu(QContextMenuEvent *event);\r
+\r
     void openRequest(const QFileInfo &info);\r
     void viewFinish(QWidget *sender);\r
 \r
index 3457703..458d098 100644 (file)
@@ -39,7 +39,7 @@
       <property name="orientation">\r
        <enum>Qt::Horizontal</enum>\r
       </property>\r
-      <widget class="QWidget" name="">\r
+      <widget class="QWidget" name="layoutWidget">\r
        <layout class="QVBoxLayout" name="verticalLayout_2">\r
         <property name="spacing">\r
          <number>0</number>\r
         </item>\r
        </layout>\r
       </widget>\r
-      <widget class="QWidget" name="">\r
+      <widget class="QWidget" name="layoutWidget">\r
        <layout class="QVBoxLayout" name="verticalLayout">\r
         <property name="spacing">\r
          <number>0</number>\r
    <attribute name="toolBarBreak">\r
     <bool>false</bool>\r
    </attribute>\r
-   <addaction name="action_Open"/>\r
    <addaction name="action_OpenEditor"/>\r
    <addaction name="action_Search"/>\r
    <addaction name="separator"/>\r
     <addaction name="view_Hidden"/>\r
     <addaction name="view_System"/>\r
     <addaction name="separator"/>\r
+    <addaction name="view_FontSizeUp"/>\r
+    <addaction name="view_FontSizeDown"/>\r
+    <addaction name="separator"/>\r
     <addaction name="view_Sort"/>\r
     <addaction name="view_Filter"/>\r
    </widget>\r
     <string>Shift+Return</string>\r
    </property>\r
   </action>\r
+  <action name="view_FontSizeUp">\r
+   <property name="icon">\r
+    <iconset resource="resource.qrc">\r
+     <normaloff>:/images/Zoom in.png</normaloff>:/images/Zoom in.png</iconset>\r
+   </property>\r
+   <property name="text">\r
+    <string>文字を大きく</string>\r
+   </property>\r
+   <property name="toolTip">\r
+    <string>文字を大きく</string>\r
+   </property>\r
+   <property name="shortcut">\r
+    <string>+</string>\r
+   </property>\r
+  </action>\r
+  <action name="view_FontSizeDown">\r
+   <property name="icon">\r
+    <iconset resource="resource.qrc">\r
+     <normaloff>:/images/Zoom out.png</normaloff>:/images/Zoom out.png</iconset>\r
+   </property>\r
+   <property name="text">\r
+    <string>文字を小さく</string>\r
+   </property>\r
+   <property name="toolTip">\r
+    <string>文字を小さく</string>\r
+   </property>\r
+   <property name="shortcut">\r
+    <string>-</string>\r
+   </property>\r
+  </action>\r
  </widget>\r
  <layoutdefault spacing="6" margin="11"/>\r
  <customwidgets>\r
index 2cdf470..a44bd47 100644 (file)
@@ -39,6 +39,9 @@ void OverWriteDialog::reset()
         radio = ui->rbOverWriteIfNew;\r
     }\r
     radio->setChecked(true);\r
+    if (radio != ui->rbRename) {\r
+        ui->lineEdit->setEnabled(false);\r
+    }\r
 \r
     ui->keepSetting->setChecked(false);\r
 }\r
index d050b10..156d8b4 100644 (file)
@@ -222,6 +222,10 @@ void PreferenceDialog::loadAppearance(QSettings &settings, bool import)
     font = settings.value(IniKey_ViewFont).value<QFont>();
     ui->viewFont->setText(tr("%1, %2pt").arg(font.family()).arg(font.pointSize()));
     // サンプル表示
+    QHeaderView *header = ui->sampleTable->verticalHeader();
+    header->setDefaultSectionSize(QFontMetrics(font).height() * 1.5);
+    ui->sampleTable->setMinimumHeight(header->sectionSize(0) * 5);
+    ui->sampleTable->setMaximumHeight(ui->sampleTable->minimumHeight() + 2);
     m_model.setFont(font);
     m_model.update();
 
@@ -277,6 +281,10 @@ void PreferenceDialog::chooseFont()
         label = ui->boxFont;
     }
     else if (sender() == ui->chooseViewFont) {
+        QHeaderView *header = ui->sampleTable->verticalHeader();
+        header->setDefaultSectionSize(QFontMetrics(font).height() * 1.5);
+        ui->sampleTable->setMinimumHeight(header->sectionSize(0) * 5);
+        ui->sampleTable->setMaximumHeight(ui->sampleTable->minimumHeight() + 2);
         m_model.setFont(font);
         m_model.update();
         label = ui->viewFont;
@@ -333,6 +341,18 @@ void PreferenceDialog::setControlsEnabled(bool enabled)
     else if (sender() == ui->viewerInherit) {
         ui->viewerClrBg->setEnabled(!enabled);
         ui->viewerClrFg->setEnabled(!enabled);
+        // サンプル表示も更新
+        QPalette pal = ui->viewerSample->palette();
+        if (enabled) {
+            pal.setColor(QPalette::Base, m_colorMap["clrBgNormal"]);
+            pal.setColor(QPalette::Text, m_colorMap["clrFgNormal"]);
+        }
+        else {
+            QSettings settings;
+            pal.setColor(QPalette::Base, settings.value(IniKey_ViewerColorBg).value<QColor>());
+            pal.setColor(QPalette::Text, settings.value(IniKey_ViewerColorFg).value<QColor>());
+        }
+        ui->viewerSample->setPalette(pal);
     }
     else if (sender() == ui->enableViewerIgnoreExt) {
         ui->viewerIgnoreExt->setEnabled(enabled);
index 7860251..02176b2 100644 (file)
@@ -6,8 +6,8 @@
    <rect>
     <x>0</x>
     <y>0</y>
-    <width>549</width>
-    <height>524</height>
+    <width>617</width>
+    <height>498</height>
    </rect>
   </property>
   <property name="sizePolicy">
       <enum>Qt::StrongFocus</enum>
      </property>
      <property name="currentIndex">
-      <number>2</number>
+      <number>3</number>
      </property>
      <widget class="QWidget" name="tabBoot_Exit">
       <attribute name="title">
        <string>起動と終了</string>
       </attribute>
-      <layout class="QVBoxLayout" name="verticalLayout_4">
-       <property name="spacing">
-        <number>-1</number>
-       </property>
+      <layout class="QVBoxLayout" name="verticalLayout">
        <item>
-        <layout class="QVBoxLayout" name="verticalLayout_3">
-         <property name="spacing">
-          <number>-1</number>
+        <widget class="QGroupBox" name="bootSize">
+         <property name="title">
+          <string>起動時のウィンドウサイズを指定する</string>
          </property>
-         <item>
-          <widget class="QCheckBox" name="bootSize">
-           <property name="focusPolicy">
-            <enum>Qt::StrongFocus</enum>
-           </property>
-           <property name="text">
-            <string>起動時のウィンドウサイズを指定する</string>
-           </property>
-          </widget>
-         </item>
-         <item>
-          <layout class="QHBoxLayout" name="horizontalLayout_9">
-           <property name="spacing">
-            <number>-1</number>
-           </property>
-           <item>
-            <spacer name="horizontalSpacer">
-             <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>
-            <layout class="QGridLayout" name="gridLayout_2">
-             <property name="spacing">
-              <number>-1</number>
-             </property>
-             <item row="0" column="0">
-              <widget class="QRadioButton" name="sizeAbsolute">
-               <property name="minimumSize">
-                <size>
-                 <width>0</width>
-                 <height>24</height>
-                </size>
-               </property>
-               <property name="focusPolicy">
-                <enum>Qt::StrongFocus</enum>
-               </property>
-               <property name="text">
-                <string>絶対指定</string>
-               </property>
-               <attribute name="buttonGroup">
-                <string notr="true">sizeOptions</string>
-               </attribute>
-              </widget>
-             </item>
-             <item row="0" column="1">
-              <layout class="QHBoxLayout" name="horizontalLayout">
-               <item>
-                <widget class="QLabel" name="label_3">
-                 <property name="text">
-                  <string>幅</string>
-                 </property>
-                </widget>
-               </item>
-               <item>
-                <widget class="QSpinBox" name="absoluteWidth">
-                 <property name="maximum">
-                  <number>9999</number>
-                 </property>
-                </widget>
-               </item>
-               <item>
-                <widget class="QLabel" name="label_2">
-                 <property name="text">
-                  <string>px</string>
-                 </property>
-                </widget>
-               </item>
-              </layout>
-             </item>
-             <item row="0" column="2">
-              <layout class="QHBoxLayout" name="horizontalLayout_2">
-               <item>
-                <widget class="QLabel" name="label_4">
-                 <property name="text">
-                  <string>高さ</string>
-                 </property>
-                </widget>
-               </item>
-               <item>
-                <widget class="QSpinBox" name="absoluteHeight">
-                 <property name="maximum">
-                  <number>9999</number>
-                 </property>
-                </widget>
-               </item>
-               <item>
-                <widget class="QLabel" name="label">
-                 <property name="text">
-                  <string>px</string>
-                 </property>
-                </widget>
-               </item>
-              </layout>
-             </item>
-             <item row="1" column="0">
-              <widget class="QRadioButton" name="sizeRelative">
-               <property name="sizePolicy">
-                <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
-                 <horstretch>0</horstretch>
-                 <verstretch>0</verstretch>
-                </sizepolicy>
-               </property>
-               <property name="minimumSize">
-                <size>
-                 <width>0</width>
-                 <height>24</height>
-                </size>
-               </property>
-               <property name="focusPolicy">
-                <enum>Qt::StrongFocus</enum>
-               </property>
-               <property name="text">
-                <string>相対指定</string>
-               </property>
-               <attribute name="buttonGroup">
-                <string notr="true">sizeOptions</string>
-               </attribute>
-              </widget>
-             </item>
-             <item row="1" column="1">
-              <layout class="QHBoxLayout" name="horizontalLayout_4">
-               <item>
-                <widget class="QLabel" name="label_5">
-                 <property name="text">
-                  <string>幅</string>
-                 </property>
-                </widget>
-               </item>
-               <item>
-                <widget class="QSpinBox" name="relativeWidth">
-                 <property name="maximum">
-                  <number>100</number>
-                 </property>
-                </widget>
-               </item>
-               <item>
-                <widget class="QLabel" name="label_6">
-                 <property name="text">
-                  <string>%</string>
-                 </property>
-                </widget>
-               </item>
-               <item>
-                <spacer name="horizontalSpacer_7">
-                 <property name="orientation">
-                  <enum>Qt::Horizontal</enum>
-                 </property>
-                 <property name="sizeHint" stdset="0">
-                  <size>
-                   <width>0</width>
-                   <height>20</height>
-                  </size>
-                 </property>
-                </spacer>
-               </item>
-              </layout>
-             </item>
-             <item row="1" column="2">
-              <layout class="QHBoxLayout" name="horizontalLayout_3">
-               <item>
-                <widget class="QLabel" name="label_7">
-                 <property name="text">
-                  <string>高さ</string>
-                 </property>
-                </widget>
-               </item>
-               <item>
-                <widget class="QSpinBox" name="relativeHeight">
-                 <property name="maximum">
-                  <number>100</number>
-                 </property>
-                </widget>
-               </item>
-               <item>
-                <widget class="QLabel" name="label_8">
-                 <property name="text">
-                  <string>%</string>
-                 </property>
-                </widget>
-               </item>
-               <item>
-                <spacer name="horizontalSpacer_8">
-                 <property name="orientation">
-                  <enum>Qt::Horizontal</enum>
-                 </property>
-                 <property name="sizeHint" stdset="0">
-                  <size>
-                   <width>0</width>
-                   <height>20</height>
-                  </size>
-                 </property>
-                </spacer>
-               </item>
-              </layout>
-             </item>
-             <item row="2" column="0" colspan="2">
-              <widget class="QRadioButton" name="sizeLast">
-               <property name="minimumSize">
-                <size>
-                 <width>0</width>
-                 <height>24</height>
-                </size>
-               </property>
-               <property name="focusPolicy">
-                <enum>Qt::StrongFocus</enum>
-               </property>
-               <property name="text">
-                <string>前回終了時のサイズ</string>
-               </property>
-               <attribute name="buttonGroup">
-                <string notr="true">sizeOptions</string>
-               </attribute>
-              </widget>
-             </item>
-            </layout>
-           </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>
-        </layout>
+         <property name="flat">
+          <bool>true</bool>
+         </property>
+         <property name="checkable">
+          <bool>true</bool>
+         </property>
+         <layout class="QHBoxLayout" name="horizontalLayout_9">
+          <item>
+           <layout class="QGridLayout" name="gridLayout_2">
+            <property name="spacing">
+             <number>-1</number>
+            </property>
+            <item row="0" column="0">
+             <widget class="QRadioButton" name="sizeAbsolute">
+              <property name="minimumSize">
+               <size>
+                <width>0</width>
+                <height>24</height>
+               </size>
+              </property>
+              <property name="focusPolicy">
+               <enum>Qt::StrongFocus</enum>
+              </property>
+              <property name="text">
+               <string>絶対指定</string>
+              </property>
+              <attribute name="buttonGroup">
+               <string notr="true">sizeOptions</string>
+              </attribute>
+             </widget>
+            </item>
+            <item row="0" column="1">
+             <layout class="QHBoxLayout" name="horizontalLayout">
+              <item>
+               <widget class="QLabel" name="label_3">
+                <property name="text">
+                 <string>幅</string>
+                </property>
+               </widget>
+              </item>
+              <item>
+               <widget class="QSpinBox" name="absoluteWidth">
+                <property name="maximum">
+                 <number>9999</number>
+                </property>
+               </widget>
+              </item>
+              <item>
+               <widget class="QLabel" name="label_2">
+                <property name="text">
+                 <string>px</string>
+                </property>
+               </widget>
+              </item>
+             </layout>
+            </item>
+            <item row="0" column="2">
+             <layout class="QHBoxLayout" name="horizontalLayout_2">
+              <item>
+               <widget class="QLabel" name="label_4">
+                <property name="text">
+                 <string>高さ</string>
+                </property>
+               </widget>
+              </item>
+              <item>
+               <widget class="QSpinBox" name="absoluteHeight">
+                <property name="maximum">
+                 <number>9999</number>
+                </property>
+               </widget>
+              </item>
+              <item>
+               <widget class="QLabel" name="label">
+                <property name="text">
+                 <string>px</string>
+                </property>
+               </widget>
+              </item>
+             </layout>
+            </item>
+            <item row="1" column="0">
+             <widget class="QRadioButton" name="sizeRelative">
+              <property name="sizePolicy">
+               <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
+                <horstretch>0</horstretch>
+                <verstretch>0</verstretch>
+               </sizepolicy>
+              </property>
+              <property name="minimumSize">
+               <size>
+                <width>0</width>
+                <height>24</height>
+               </size>
+              </property>
+              <property name="focusPolicy">
+               <enum>Qt::StrongFocus</enum>
+              </property>
+              <property name="text">
+               <string>相対指定</string>
+              </property>
+              <attribute name="buttonGroup">
+               <string notr="true">sizeOptions</string>
+              </attribute>
+             </widget>
+            </item>
+            <item row="1" column="1">
+             <layout class="QHBoxLayout" name="horizontalLayout_4">
+              <item>
+               <widget class="QLabel" name="label_5">
+                <property name="text">
+                 <string>幅</string>
+                </property>
+               </widget>
+              </item>
+              <item>
+               <widget class="QSpinBox" name="relativeWidth">
+                <property name="maximum">
+                 <number>100</number>
+                </property>
+               </widget>
+              </item>
+              <item>
+               <widget class="QLabel" name="label_6">
+                <property name="text">
+                 <string>%</string>
+                </property>
+               </widget>
+              </item>
+              <item>
+               <spacer name="horizontalSpacer_7">
+                <property name="orientation">
+                 <enum>Qt::Horizontal</enum>
+                </property>
+                <property name="sizeHint" stdset="0">
+                 <size>
+                  <width>0</width>
+                  <height>20</height>
+                 </size>
+                </property>
+               </spacer>
+              </item>
+             </layout>
+            </item>
+            <item row="1" column="2">
+             <layout class="QHBoxLayout" name="horizontalLayout_3">
+              <item>
+               <widget class="QLabel" name="label_7">
+                <property name="text">
+                 <string>高さ</string>
+                </property>
+               </widget>
+              </item>
+              <item>
+               <widget class="QSpinBox" name="relativeHeight">
+                <property name="maximum">
+                 <number>100</number>
+                </property>
+               </widget>
+              </item>
+              <item>
+               <widget class="QLabel" name="label_8">
+                <property name="text">
+                 <string>%</string>
+                </property>
+               </widget>
+              </item>
+              <item>
+               <spacer name="horizontalSpacer_8">
+                <property name="orientation">
+                 <enum>Qt::Horizontal</enum>
+                </property>
+                <property name="sizeHint" stdset="0">
+                 <size>
+                  <width>0</width>
+                  <height>20</height>
+                 </size>
+                </property>
+               </spacer>
+              </item>
+             </layout>
+            </item>
+            <item row="2" column="0" colspan="2">
+             <widget class="QRadioButton" name="sizeLast">
+              <property name="minimumSize">
+               <size>
+                <width>0</width>
+                <height>24</height>
+               </size>
+              </property>
+              <property name="focusPolicy">
+               <enum>Qt::StrongFocus</enum>
+              </property>
+              <property name="text">
+               <string>前回終了時のサイズ</string>
+              </property>
+              <attribute name="buttonGroup">
+               <string notr="true">sizeOptions</string>
+              </attribute>
+             </widget>
+            </item>
+           </layout>
+          </item>
+          <item>
+           <spacer name="horizontalSpacer">
+            <property name="orientation">
+             <enum>Qt::Horizontal</enum>
+            </property>
+            <property name="sizeHint" stdset="0">
+             <size>
+              <width>95</width>
+              <height>20</height>
+             </size>
+            </property>
+           </spacer>
+          </item>
+         </layout>
+        </widget>
        </item>
        <item>
-        <layout class="QVBoxLayout" name="verticalLayout">
-         <item>
-          <widget class="QCheckBox" name="bootPos">
-           <property name="focusPolicy">
-            <enum>Qt::StrongFocus</enum>
-           </property>
-           <property name="text">
-            <string>起動時のウィンドウ位置を指定する</string>
-           </property>
-          </widget>
-         </item>
-         <item>
-          <layout class="QHBoxLayout" name="horizontalLayout_10">
-           <item>
-            <spacer name="horizontalSpacer_3">
-             <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>
-            <layout class="QGridLayout" name="gridLayout_3">
-             <item row="0" column="0">
-              <widget class="QRadioButton" name="posAbsolute">
-               <property name="minimumSize">
-                <size>
-                 <width>0</width>
-                 <height>24</height>
-                </size>
-               </property>
-               <property name="focusPolicy">
-                <enum>Qt::StrongFocus</enum>
-               </property>
-               <property name="text">
-                <string>絶対指定</string>
-               </property>
-               <attribute name="buttonGroup">
-                <string notr="true">posOptions</string>
-               </attribute>
-              </widget>
-             </item>
-             <item row="0" column="1">
-              <layout class="QHBoxLayout" name="horizontalLayout_7">
-               <item>
-                <widget class="QLabel" name="label_13">
-                 <property name="text">
-                  <string>X</string>
-                 </property>
-                </widget>
-               </item>
-               <item>
-                <widget class="QSpinBox" name="absoluteLeft">
-                 <property name="maximum">
-                  <number>9999</number>
-                 </property>
-                </widget>
-               </item>
-               <item>
-                <widget class="QLabel" name="label_14">
-                 <property name="text">
-                  <string>px</string>
-                 </property>
-                </widget>
-               </item>
-              </layout>
-             </item>
-             <item row="0" column="2">
-              <layout class="QHBoxLayout" name="horizontalLayout_5">
-               <item>
-                <widget class="QLabel" name="label_15">
-                 <property name="text">
-                  <string>Y</string>
-                 </property>
-                </widget>
-               </item>
-               <item>
-                <widget class="QSpinBox" name="absoluteTop">
-                 <property name="maximum">
-                  <number>9999</number>
-                 </property>
-                </widget>
-               </item>
-               <item>
-                <widget class="QLabel" name="label_16">
-                 <property name="text">
-                  <string>px</string>
-                 </property>
-                </widget>
-               </item>
-              </layout>
-             </item>
-             <item row="1" column="0">
-              <widget class="QRadioButton" name="posRelative">
-               <property name="minimumSize">
-                <size>
-                 <width>0</width>
-                 <height>24</height>
-                </size>
-               </property>
-               <property name="focusPolicy">
-                <enum>Qt::StrongFocus</enum>
-               </property>
-               <property name="text">
-                <string>相対指定</string>
-               </property>
-               <attribute name="buttonGroup">
-                <string notr="true">posOptions</string>
-               </attribute>
-              </widget>
-             </item>
-             <item row="1" column="1">
-              <layout class="QHBoxLayout" name="horizontalLayout_8">
-               <item>
-                <widget class="QLabel" name="label_9">
-                 <property name="text">
-                  <string>X</string>
-                 </property>
-                </widget>
-               </item>
-               <item>
-                <widget class="QSpinBox" name="relativeLeft">
-                 <property name="maximum">
-                  <number>100</number>
-                 </property>
-                </widget>
-               </item>
-               <item>
-                <widget class="QLabel" name="label_10">
-                 <property name="text">
-                  <string>%</string>
-                 </property>
-                </widget>
-               </item>
-               <item>
-                <spacer name="horizontalSpacer_5">
-                 <property name="orientation">
-                  <enum>Qt::Horizontal</enum>
-                 </property>
-                 <property name="sizeHint" stdset="0">
-                  <size>
-                   <width>0</width>
-                   <height>20</height>
-                  </size>
-                 </property>
-                </spacer>
-               </item>
-              </layout>
-             </item>
-             <item row="1" column="2">
-              <layout class="QHBoxLayout" name="horizontalLayout_6">
-               <item>
-                <widget class="QLabel" name="label_11">
-                 <property name="text">
-                  <string>Y</string>
-                 </property>
-                </widget>
-               </item>
-               <item>
-                <widget class="QSpinBox" name="relativeTop">
-                 <property name="maximum">
-                  <number>100</number>
-                 </property>
-                </widget>
-               </item>
-               <item>
-                <widget class="QLabel" name="label_12">
-                 <property name="text">
-                  <string>%</string>
-                 </property>
-                </widget>
-               </item>
-               <item>
-                <spacer name="horizontalSpacer_6">
-                 <property name="orientation">
-                  <enum>Qt::Horizontal</enum>
-                 </property>
-                 <property name="sizeHint" stdset="0">
-                  <size>
-                   <width>0</width>
-                   <height>20</height>
-                  </size>
-                 </property>
-                </spacer>
-               </item>
-              </layout>
-             </item>
-             <item row="2" column="0">
-              <widget class="QRadioButton" name="posCenter">
-               <property name="minimumSize">
-                <size>
-                 <width>0</width>
-                 <height>24</height>
-                </size>
-               </property>
-               <property name="focusPolicy">
-                <enum>Qt::StrongFocus</enum>
-               </property>
-               <property name="text">
-                <string>画面中央</string>
-               </property>
-               <attribute name="buttonGroup">
-                <string notr="true">posOptions</string>
-               </attribute>
-              </widget>
-             </item>
-             <item row="3" column="0" colspan="2">
-              <widget class="QRadioButton" name="posLast">
-               <property name="minimumSize">
-                <size>
-                 <width>0</width>
-                 <height>24</height>
-                </size>
-               </property>
-               <property name="focusPolicy">
-                <enum>Qt::StrongFocus</enum>
-               </property>
-               <property name="text">
-                <string>前回終了時の位置</string>
-               </property>
-               <attribute name="buttonGroup">
-                <string notr="true">posOptions</string>
-               </attribute>
-              </widget>
-             </item>
-            </layout>
-           </item>
-           <item>
-            <spacer name="horizontalSpacer_4">
-             <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>
-        </layout>
+        <widget class="QGroupBox" name="bootPos">
+         <property name="title">
+          <string>起動時のウィンドウ位置を指定する</string>
+         </property>
+         <property name="flat">
+          <bool>true</bool>
+         </property>
+         <property name="checkable">
+          <bool>true</bool>
+         </property>
+         <layout class="QHBoxLayout" name="horizontalLayout_10">
+          <item>
+           <layout class="QGridLayout" name="gridLayout_3">
+            <item row="0" column="0">
+             <widget class="QRadioButton" name="posAbsolute">
+              <property name="minimumSize">
+               <size>
+                <width>0</width>
+                <height>24</height>
+               </size>
+              </property>
+              <property name="focusPolicy">
+               <enum>Qt::StrongFocus</enum>
+              </property>
+              <property name="text">
+               <string>絶対指定</string>
+              </property>
+              <attribute name="buttonGroup">
+               <string notr="true">posOptions</string>
+              </attribute>
+             </widget>
+            </item>
+            <item row="0" column="1">
+             <layout class="QHBoxLayout" name="horizontalLayout_7">
+              <item>
+               <widget class="QLabel" name="label_13">
+                <property name="text">
+                 <string>X</string>
+                </property>
+               </widget>
+              </item>
+              <item>
+               <widget class="QSpinBox" name="absoluteLeft">
+                <property name="maximum">
+                 <number>9999</number>
+                </property>
+               </widget>
+              </item>
+              <item>
+               <widget class="QLabel" name="label_14">
+                <property name="text">
+                 <string>px</string>
+                </property>
+               </widget>
+              </item>
+             </layout>
+            </item>
+            <item row="0" column="2">
+             <layout class="QHBoxLayout" name="horizontalLayout_5">
+              <item>
+               <widget class="QLabel" name="label_15">
+                <property name="text">
+                 <string>Y</string>
+                </property>
+               </widget>
+              </item>
+              <item>
+               <widget class="QSpinBox" name="absoluteTop">
+                <property name="maximum">
+                 <number>9999</number>
+                </property>
+               </widget>
+              </item>
+              <item>
+               <widget class="QLabel" name="label_16">
+                <property name="text">
+                 <string>px</string>
+                </property>
+               </widget>
+              </item>
+             </layout>
+            </item>
+            <item row="1" column="0">
+             <widget class="QRadioButton" name="posRelative">
+              <property name="minimumSize">
+               <size>
+                <width>0</width>
+                <height>24</height>
+               </size>
+              </property>
+              <property name="focusPolicy">
+               <enum>Qt::StrongFocus</enum>
+              </property>
+              <property name="text">
+               <string>相対指定</string>
+              </property>
+              <attribute name="buttonGroup">
+               <string notr="true">posOptions</string>
+              </attribute>
+             </widget>
+            </item>
+            <item row="1" column="1">
+             <layout class="QHBoxLayout" name="horizontalLayout_8">
+              <item>
+               <widget class="QLabel" name="label_9">
+                <property name="text">
+                 <string>X</string>
+                </property>
+               </widget>
+              </item>
+              <item>
+               <widget class="QSpinBox" name="relativeLeft">
+                <property name="maximum">
+                 <number>100</number>
+                </property>
+               </widget>
+              </item>
+              <item>
+               <widget class="QLabel" name="label_10">
+                <property name="text">
+                 <string>%</string>
+                </property>
+               </widget>
+              </item>
+              <item>
+               <spacer name="horizontalSpacer_5">
+                <property name="orientation">
+                 <enum>Qt::Horizontal</enum>
+                </property>
+                <property name="sizeHint" stdset="0">
+                 <size>
+                  <width>0</width>
+                  <height>20</height>
+                 </size>
+                </property>
+               </spacer>
+              </item>
+             </layout>
+            </item>
+            <item row="1" column="2">
+             <layout class="QHBoxLayout" name="horizontalLayout_6">
+              <item>
+               <widget class="QLabel" name="label_11">
+                <property name="text">
+                 <string>Y</string>
+                </property>
+               </widget>
+              </item>
+              <item>
+               <widget class="QSpinBox" name="relativeTop">
+                <property name="maximum">
+                 <number>100</number>
+                </property>
+               </widget>
+              </item>
+              <item>
+               <widget class="QLabel" name="label_12">
+                <property name="text">
+                 <string>%</string>
+                </property>
+               </widget>
+              </item>
+              <item>
+               <spacer name="horizontalSpacer_6">
+                <property name="orientation">
+                 <enum>Qt::Horizontal</enum>
+                </property>
+                <property name="sizeHint" stdset="0">
+                 <size>
+                  <width>0</width>
+                  <height>20</height>
+                 </size>
+                </property>
+               </spacer>
+              </item>
+             </layout>
+            </item>
+            <item row="2" column="0">
+             <widget class="QRadioButton" name="posCenter">
+              <property name="minimumSize">
+               <size>
+                <width>0</width>
+                <height>24</height>
+               </size>
+              </property>
+              <property name="focusPolicy">
+               <enum>Qt::StrongFocus</enum>
+              </property>
+              <property name="text">
+               <string>画面中央</string>
+              </property>
+              <attribute name="buttonGroup">
+               <string notr="true">posOptions</string>
+              </attribute>
+             </widget>
+            </item>
+            <item row="3" column="0" colspan="2">
+             <widget class="QRadioButton" name="posLast">
+              <property name="minimumSize">
+               <size>
+                <width>0</width>
+                <height>24</height>
+               </size>
+              </property>
+              <property name="focusPolicy">
+               <enum>Qt::StrongFocus</enum>
+              </property>
+              <property name="text">
+               <string>前回終了時の位置</string>
+              </property>
+              <attribute name="buttonGroup">
+               <string notr="true">posOptions</string>
+              </attribute>
+             </widget>
+            </item>
+           </layout>
+          </item>
+          <item>
+           <spacer name="horizontalSpacer_4">
+            <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="QCheckBox" name="checkUpdates">
           <item>
            <widget class="QTableView" name="sampleTable">
             <property name="sizePolicy">
-             <sizepolicy hsizetype="Expanding" vsizetype="MinimumExpanding">
+             <sizepolicy hsizetype="Expanding" vsizetype="Minimum">
               <horstretch>0</horstretch>
               <verstretch>0</verstretch>
              </sizepolicy>
             <property name="minimumSize">
              <size>
               <width>0</width>
-              <height>110</height>
+              <height>100</height>
+             </size>
+            </property>
+            <property name="maximumSize">
+             <size>
+              <width>16777215</width>
+              <height>100</height>
              </size>
             </property>
             <property name="focusPolicy">
-             <enum>Qt::NoFocus</enum>
+             <enum>Qt::ClickFocus</enum>
             </property>
             <property name="selectionMode">
              <enum>QAbstractItemView::SingleSelection</enum>
 $B ... ファイル名から拡張子を除いた部分
 $E ... 拡張子
 $F ... ファイル名($B.$Eと同じ)
-$D ... ã\83\95ã\82©ã\83«ã\83\80å\90\8d
-$P ... フルパス($D/$Fと同じ)</string>
+$D ... ã\83\95ã\82¡ã\82¤ã\83«ã\81®å ´å\90\88ã\81¯è¦ªã\83\95ã\82©ã\83«ã\83\80å\90\8dã\80\81ã\83\95ã\82©ã\83«ã\83\80ã\81®å ´å\90\88ã\81¯è\87ªèº«ã\81®ã\83\95ã\82¡ã\82¤ã\83«å\90\8d($Fã\81¨å\90\8cã\81\98)
+$P ... フルパス</string>
          </property>
         </widget>
        </item>
@@ -1740,6 +1699,24 @@ $P ... フルパス($D/$Fと同じ)</string>
           </item>
           <item>
            <widget class="QPlainTextEdit" name="viewerSample">
+            <property name="sizePolicy">
+             <sizepolicy hsizetype="Expanding" vsizetype="Minimum">
+              <horstretch>0</horstretch>
+              <verstretch>0</verstretch>
+             </sizepolicy>
+            </property>
+            <property name="minimumSize">
+             <size>
+              <width>0</width>
+              <height>130</height>
+             </size>
+            </property>
+            <property name="maximumSize">
+             <size>
+              <width>16777215</width>
+              <height>130</height>
+             </size>
+            </property>
             <property name="readOnly">
              <bool>true</bool>
             </property>
@@ -1823,6 +1800,9 @@ ABCDEFGHIJKLMNOPQRSTUVWXYZ
            <property name="spacing">
             <number>4</number>
            </property>
+           <property name="sizeConstraint">
+            <enum>QLayout::SetDefaultConstraint</enum>
+           </property>
            <property name="leftMargin">
             <number>4</number>
            </property>
@@ -1865,6 +1845,20 @@ ABCDEFGHIJKLMNOPQRSTUVWXYZ
                <height>100</height>
               </size>
              </property>
+             <property name="maximumSize">
+              <size>
+               <width>16777215</width>
+               <height>110</height>
+              </size>
+             </property>
+             <property name="plainText">
+              <string>1
+2
+3
+4
+5
+6</string>
+             </property>
             </widget>
            </item>
           </layout>
@@ -1904,14 +1898,12 @@ ABCDEFGHIJKLMNOPQRSTUVWXYZ
   </layout>
  </widget>
  <tabstops>
-  <tabstop>bootSize</tabstop>
   <tabstop>sizeAbsolute</tabstop>
   <tabstop>absoluteWidth</tabstop>
   <tabstop>absoluteHeight</tabstop>
   <tabstop>sizeRelative</tabstop>
   <tabstop>relativeWidth</tabstop>
   <tabstop>sizeLast</tabstop>
-  <tabstop>bootPos</tabstop>
   <tabstop>posAbsolute</tabstop>
   <tabstop>absoluteLeft</tabstop>
   <tabstop>absoluteTop</tabstop>
@@ -2004,8 +1996,8 @@ ABCDEFGHIJKLMNOPQRSTUVWXYZ
   </connection>
  </connections>
  <buttongroups>
-  <buttongroup name="posOptions"/>
-  <buttongroup name="overwriteOptions"/>
   <buttongroup name="sizeOptions"/>
+  <buttongroup name="overwriteOptions"/>
+  <buttongroup name="posOptions"/>
  </buttongroups>
 </ui>
index 87b3da3..d7f4021 100644 (file)
@@ -14,6 +14,7 @@ RenameMultiDialog::RenameMultiDialog(QWidget *parent) :
     labels << tr("変更前") << tr("変更後");\r
     ui->tableWidget->setHorizontalHeaderLabels(labels);\r
 \r
+    ui->tableWidget->horizontalHeader()->setSectionResizeMode(QHeaderView::ResizeToContents);\r
     ui->tableWidget->horizontalHeader()->setStretchLastSection(true);\r
 }\r
 \r
index 1e6537a..f65012f 100644 (file)
    <rect>\r
     <x>0</x>\r
     <y>0</y>\r
-    <width>412</width>\r
-    <height>539</height>\r
+    <width>476</width>\r
+    <height>550</height>\r
    </rect>\r
   </property>\r
+  <property name="sizePolicy">\r
+   <sizepolicy hsizetype="MinimumExpanding" vsizetype="Preferred">\r
+    <horstretch>0</horstretch>\r
+    <verstretch>0</verstretch>\r
+   </sizepolicy>\r
+  </property>\r
+  <property name="minimumSize">\r
+   <size>\r
+    <width>200</width>\r
+    <height>0</height>\r
+   </size>\r
+  </property>\r
   <property name="windowTitle">\r
    <string>ファイル名の一括変更</string>\r
   </property>\r
-  <layout class="QVBoxLayout" name="verticalLayout_3">\r
+  <layout class="QVBoxLayout" name="verticalLayout_6">\r
    <item>\r
-    <widget class="QTableWidget" name="tableWidget">\r
-     <property name="font">\r
-      <font>\r
-       <family>MS ゴシック</family>\r
-      </font>\r
-     </property>\r
-     <property name="focusPolicy">\r
-      <enum>Qt::WheelFocus</enum>\r
-     </property>\r
-     <property name="tabKeyNavigation">\r
-      <bool>false</bool>\r
-     </property>\r
-     <property name="showGrid">\r
-      <bool>false</bool>\r
-     </property>\r
-     <property name="wordWrap">\r
-      <bool>false</bool>\r
-     </property>\r
-     <property name="columnCount">\r
-      <number>2</number>\r
-     </property>\r
-     <attribute name="horizontalHeaderHighlightSections">\r
-      <bool>false</bool>\r
-     </attribute>\r
-     <attribute name="verticalHeaderVisible">\r
-      <bool>false</bool>\r
-     </attribute>\r
-     <column/>\r
-     <column/>\r
-    </widget>\r
-   </item>\r
-   <item>\r
-    <widget class="QGroupBox" name="groupBox">\r
-     <property name="sizePolicy">\r
-      <sizepolicy hsizetype="Preferred" vsizetype="Fixed">\r
-       <horstretch>0</horstretch>\r
-       <verstretch>0</verstretch>\r
-      </sizepolicy>\r
-     </property>\r
-     <property name="title">\r
-      <string>変換オプション</string>\r
-     </property>\r
-     <layout class="QFormLayout" name="formLayout_3">\r
-      <item row="0" column="0">\r
-       <layout class="QFormLayout" name="formLayout">\r
+    <layout class="QVBoxLayout" name="verticalLayout_4">\r
+     <item>\r
+      <widget class="QTableWidget" name="tableWidget">\r
+       <property name="minimumSize">\r
+        <size>\r
+         <width>100</width>\r
+         <height>0</height>\r
+        </size>\r
+       </property>\r
+       <property name="font">\r
+        <font>\r
+         <family>MS ゴシック</family>\r
+        </font>\r
+       </property>\r
+       <property name="focusPolicy">\r
+        <enum>Qt::WheelFocus</enum>\r
+       </property>\r
+       <property name="tabKeyNavigation">\r
+        <bool>false</bool>\r
+       </property>\r
+       <property name="showGrid">\r
+        <bool>false</bool>\r
+       </property>\r
+       <property name="wordWrap">\r
+        <bool>false</bool>\r
+       </property>\r
+       <property name="columnCount">\r
+        <number>2</number>\r
+       </property>\r
+       <attribute name="horizontalHeaderHighlightSections">\r
+        <bool>false</bool>\r
+       </attribute>\r
+       <attribute name="verticalHeaderVisible">\r
+        <bool>false</bool>\r
+       </attribute>\r
+       <column/>\r
+       <column/>\r
+      </widget>\r
+     </item>\r
+     <item>\r
+      <widget class="QGroupBox" name="groupBox">\r
+       <property name="sizePolicy">\r
+        <sizepolicy hsizetype="Fixed" vsizetype="Fixed">\r
+         <horstretch>0</horstretch>\r
+         <verstretch>0</verstretch>\r
+        </sizepolicy>\r
+       </property>\r
+       <property name="title">\r
+        <string>変換オプション</string>\r
+       </property>\r
+       <layout class="QFormLayout" name="formLayout_3">\r
+        <property name="fieldGrowthPolicy">\r
+         <enum>QFormLayout::FieldsStayAtSizeHint</enum>\r
+        </property>\r
         <item row="0" column="0">\r
-         <widget class="QLabel" name="label_3">\r
-          <property name="text">\r
-           <string>全体を...</string>\r
-          </property>\r
-         </widget>\r
+         <layout class="QFormLayout" name="formLayout">\r
+          <item row="0" column="0">\r
+           <widget class="QLabel" name="label_3">\r
+            <property name="text">\r
+             <string>全体を...</string>\r
+            </property>\r
+           </widget>\r
+          </item>\r
+          <item row="0" column="1">\r
+           <layout class="QHBoxLayout" name="horizontalLayout_3">\r
+            <item>\r
+             <widget class="QPushButton" name="btn_UpperAll">\r
+              <property name="sizePolicy">\r
+               <sizepolicy hsizetype="Fixed" vsizetype="Fixed">\r
+                <horstretch>0</horstretch>\r
+                <verstretch>0</verstretch>\r
+               </sizepolicy>\r
+              </property>\r
+              <property name="focusPolicy">\r
+               <enum>Qt::StrongFocus</enum>\r
+              </property>\r
+              <property name="text">\r
+               <string>大文字にする</string>\r
+              </property>\r
+             </widget>\r
+            </item>\r
+            <item>\r
+             <widget class="QPushButton" name="btn_LowerAll">\r
+              <property name="sizePolicy">\r
+               <sizepolicy hsizetype="Fixed" vsizetype="Fixed">\r
+                <horstretch>0</horstretch>\r
+                <verstretch>0</verstretch>\r
+               </sizepolicy>\r
+              </property>\r
+              <property name="focusPolicy">\r
+               <enum>Qt::StrongFocus</enum>\r
+              </property>\r
+              <property name="text">\r
+               <string>小文字にする</string>\r
+              </property>\r
+             </widget>\r
+            </item>\r
+           </layout>\r
+          </item>\r
+          <item row="1" column="0">\r
+           <widget class="QLabel" name="label_4">\r
+            <property name="text">\r
+             <string>拡張子を...</string>\r
+            </property>\r
+           </widget>\r
+          </item>\r
+          <item row="1" column="1">\r
+           <layout class="QHBoxLayout" name="horizontalLayout_4">\r
+            <item>\r
+             <widget class="QPushButton" name="btn_UpperExt">\r
+              <property name="sizePolicy">\r
+               <sizepolicy hsizetype="Fixed" vsizetype="Fixed">\r
+                <horstretch>0</horstretch>\r
+                <verstretch>0</verstretch>\r
+               </sizepolicy>\r
+              </property>\r
+              <property name="focusPolicy">\r
+               <enum>Qt::StrongFocus</enum>\r
+              </property>\r
+              <property name="text">\r
+               <string>大文字にする</string>\r
+              </property>\r
+             </widget>\r
+            </item>\r
+            <item>\r
+             <widget class="QPushButton" name="btn_LowerExt">\r
+              <property name="sizePolicy">\r
+               <sizepolicy hsizetype="Fixed" vsizetype="Fixed">\r
+                <horstretch>0</horstretch>\r
+                <verstretch>0</verstretch>\r
+               </sizepolicy>\r
+              </property>\r
+              <property name="focusPolicy">\r
+               <enum>Qt::StrongFocus</enum>\r
+              </property>\r
+              <property name="text">\r
+               <string>小文字にする</string>\r
+              </property>\r
+             </widget>\r
+            </item>\r
+           </layout>\r
+          </item>\r
+         </layout>\r
         </item>\r
-        <item row="0" column="1">\r
-         <layout class="QHBoxLayout" name="horizontalLayout_3">\r
+       </layout>\r
+      </widget>\r
+     </item>\r
+     <item>\r
+      <widget class="QGroupBox" name="groupBox_2">\r
+       <property name="sizePolicy">\r
+        <sizepolicy hsizetype="Fixed" vsizetype="Fixed">\r
+         <horstretch>0</horstretch>\r
+         <verstretch>0</verstretch>\r
+        </sizepolicy>\r
+       </property>\r
+       <property name="title">\r
+        <string>置換オプション</string>\r
+       </property>\r
+       <layout class="QVBoxLayout" name="verticalLayout_3">\r
+        <item>\r
+         <layout class="QHBoxLayout" name="horizontalLayout_5">\r
+          <item>\r
+           <layout class="QHBoxLayout" name="horizontalLayout_2">\r
+            <item>\r
+             <widget class="QLabel" name="label_2">\r
+              <property name="text">\r
+               <string>置換元:</string>\r
+              </property>\r
+             </widget>\r
+            </item>\r
+            <item>\r
+             <widget class="QLineEdit" name="replaceFrom">\r
+              <property name="font">\r
+               <font>\r
+                <family>MS ゴシック</family>\r
+               </font>\r
+              </property>\r
+             </widget>\r
+            </item>\r
+           </layout>\r
+          </item>\r
           <item>\r
-           <widget class="QPushButton" name="btn_UpperAll">\r
+           <layout class="QHBoxLayout" name="horizontalLayout">\r
+            <item>\r
+             <widget class="QLabel" name="label">\r
+              <property name="text">\r
+               <string>置換先:</string>\r
+              </property>\r
+             </widget>\r
+            </item>\r
+            <item>\r
+             <widget class="QLineEdit" name="replaceTo">\r
+              <property name="font">\r
+               <font>\r
+                <family>MS ゴシック</family>\r
+               </font>\r
+              </property>\r
+             </widget>\r
+            </item>\r
+           </layout>\r
+          </item>\r
+         </layout>\r
+        </item>\r
+        <item>\r
+         <layout class="QHBoxLayout" name="horizontalLayout_6">\r
+          <item>\r
+           <widget class="QSpinBox" name="insertPos">\r
             <property name="sizePolicy">\r
              <sizepolicy hsizetype="Fixed" vsizetype="Fixed">\r
               <horstretch>0</horstretch>\r
               <verstretch>0</verstretch>\r
              </sizepolicy>\r
             </property>\r
-            <property name="focusPolicy">\r
-             <enum>Qt::StrongFocus</enum>\r
+            <property name="minimum">\r
+             <number>-99</number>\r
             </property>\r
-            <property name="text">\r
-             <string>大文字にする</string>\r
+            <property name="value">\r
+             <number>0</number>\r
             </property>\r
            </widget>\r
           </item>\r
           <item>\r
-           <widget class="QPushButton" name="btn_LowerAll">\r
+           <widget class="QLabel" name="label_5">\r
             <property name="sizePolicy">\r
-             <sizepolicy hsizetype="Fixed" vsizetype="Fixed">\r
+             <sizepolicy hsizetype="Fixed" vsizetype="Preferred">\r
               <horstretch>0</horstretch>\r
               <verstretch>0</verstretch>\r
              </sizepolicy>\r
             </property>\r
-            <property name="focusPolicy">\r
-             <enum>Qt::StrongFocus</enum>\r
-            </property>\r
             <property name="text">\r
-             <string>小文字にする</string>\r
+             <string>文字目に挿入</string>\r
             </property>\r
            </widget>\r
           </item>\r
-         </layout>\r
-        </item>\r
-        <item row="1" column="0">\r
-         <widget class="QLabel" name="label_4">\r
-          <property name="text">\r
-           <string>拡張子を...</string>\r
-          </property>\r
-         </widget>\r
-        </item>\r
-        <item row="1" column="1">\r
-         <layout class="QHBoxLayout" name="horizontalLayout_4">\r
           <item>\r
-           <widget class="QPushButton" name="btn_UpperExt">\r
+           <widget class="QLineEdit" name="insertText">\r
             <property name="sizePolicy">\r
              <sizepolicy hsizetype="Fixed" vsizetype="Fixed">\r
               <horstretch>0</horstretch>\r
               <verstretch>0</verstretch>\r
              </sizepolicy>\r
             </property>\r
-            <property name="focusPolicy">\r
-             <enum>Qt::StrongFocus</enum>\r
-            </property>\r
-            <property name="text">\r
-             <string>大文字にする</string>\r
+            <property name="font">\r
+             <font>\r
+              <family>MS ゴシック</family>\r
+             </font>\r
             </property>\r
            </widget>\r
           </item>\r
           <item>\r
-           <widget class="QPushButton" name="btn_LowerExt">\r
+           <spacer name="horizontalSpacer_2">\r
+            <property name="orientation">\r
+             <enum>Qt::Horizontal</enum>\r
+            </property>\r
+            <property name="sizeHint" stdset="0">\r
+             <size>\r
+              <width>37</width>\r
+              <height>21</height>\r
+             </size>\r
+            </property>\r
+           </spacer>\r
+          </item>\r
+          <item>\r
+           <widget class="QPushButton" name="replaceExec">\r
             <property name="sizePolicy">\r
              <sizepolicy hsizetype="Fixed" vsizetype="Fixed">\r
               <horstretch>0</horstretch>\r
              <enum>Qt::StrongFocus</enum>\r
             </property>\r
             <property name="text">\r
-             <string>小文字にする</string>\r
+             <string>設定</string>\r
             </property>\r
            </widget>\r
           </item>\r
          </layout>\r
         </item>\r
        </layout>\r
-      </item>\r
-     </layout>\r
-    </widget>\r
-   </item>\r
-   <item>\r
-    <widget class="QGroupBox" name="groupBox_2">\r
-     <property name="sizePolicy">\r
-      <sizepolicy hsizetype="Preferred" vsizetype="Fixed">\r
-       <horstretch>0</horstretch>\r
-       <verstretch>0</verstretch>\r
-      </sizepolicy>\r
-     </property>\r
-     <property name="title">\r
-      <string>置換オプション</string>\r
-     </property>\r
-     <layout class="QVBoxLayout" name="verticalLayout_4">\r
-      <item>\r
-       <layout class="QHBoxLayout" name="horizontalLayout_5">\r
+      </widget>\r
+     </item>\r
+     <item>\r
+      <widget class="QGroupBox" name="groupBox_3">\r
+       <property name="sizePolicy">\r
+        <sizepolicy hsizetype="Fixed" vsizetype="Fixed">\r
+         <horstretch>0</horstretch>\r
+         <verstretch>0</verstretch>\r
+        </sizepolicy>\r
+       </property>\r
+       <property name="title">\r
+        <string>連番オプション</string>\r
+       </property>\r
+       <layout class="QVBoxLayout" name="verticalLayout_5">\r
         <item>\r
-         <layout class="QHBoxLayout" name="horizontalLayout_2">\r
+         <layout class="QHBoxLayout" name="horizontalLayout_7">\r
           <item>\r
-           <widget class="QLabel" name="label_2">\r
-            <property name="text">\r
-             <string>置換元:</string>\r
-            </property>\r
-           </widget>\r
-          </item>\r
-          <item>\r
-           <widget class="QLineEdit" name="replaceFrom">\r
-            <property name="font">\r
-             <font>\r
-              <family>MS ゴシック</family>\r
-             </font>\r
-            </property>\r
-           </widget>\r
+           <layout class="QVBoxLayout" name="verticalLayout">\r
+            <item>\r
+             <widget class="QLabel" name="label_6">\r
+              <property name="text">\r
+               <string>ファイル名前半</string>\r
+              </property>\r
+             </widget>\r
+            </item>\r
+            <item>\r
+             <widget class="QLineEdit" name="numberFirst">\r
+              <property name="font">\r
+               <font>\r
+                <family>MS ゴシック</family>\r
+               </font>\r
+              </property>\r
+              <property name="text">\r
+               <string>?B</string>\r
+              </property>\r
+             </widget>\r
+            </item>\r
+           </layout>\r
           </item>\r
-         </layout>\r
-        </item>\r
-        <item>\r
-         <layout class="QHBoxLayout" name="horizontalLayout">\r
           <item>\r
-           <widget class="QLabel" name="label">\r
+           <widget class="QLabel" name="label_7">\r
             <property name="text">\r
-             <string>置換先:</string>\r
+             <string>+連番+</string>\r
             </property>\r
            </widget>\r
           </item>\r
           <item>\r
-           <widget class="QLineEdit" name="replaceTo">\r
-            <property name="font">\r
-             <font>\r
-              <family>MS ゴシック</family>\r
-             </font>\r
-            </property>\r
-           </widget>\r
+           <layout class="QVBoxLayout" name="verticalLayout_2">\r
+            <item>\r
+             <widget class="QLabel" name="label_8">\r
+              <property name="text">\r
+               <string>ファイル名後半</string>\r
+              </property>\r
+             </widget>\r
+            </item>\r
+            <item>\r
+             <widget class="QLineEdit" name="numberLast">\r
+              <property name="font">\r
+               <font>\r
+                <family>MS ゴシック</family>\r
+               </font>\r
+              </property>\r
+              <property name="text">\r
+               <string>.?E</string>\r
+              </property>\r
+             </widget>\r
+            </item>\r
+           </layout>\r
           </item>\r
          </layout>\r
         </item>\r
-       </layout>\r
-      </item>\r
-      <item>\r
-       <layout class="QHBoxLayout" name="horizontalLayout_9">\r
         <item>\r
-         <widget class="QSpinBox" name="insertPos">\r
-          <property name="minimum">\r
-           <number>-99</number>\r
-          </property>\r
-          <property name="value">\r
-           <number>0</number>\r
-          </property>\r
-         </widget>\r
-        </item>\r
-        <item>\r
-         <layout class="QHBoxLayout" name="horizontalLayout_6">\r
+         <layout class="QHBoxLayout" name="horizontalLayout_8">\r
           <item>\r
-           <widget class="QLabel" name="label_5">\r
+           <widget class="QLabel" name="label_9">\r
             <property name="text">\r
-             <string>文字目に挿入</string>\r
+             <string>連番開始番号</string>\r
             </property>\r
            </widget>\r
           </item>\r
           <item>\r
-           <widget class="QLineEdit" name="insertText">\r
+           <widget class="QLineEdit" name="numberStart">\r
+            <property name="sizePolicy">\r
+             <sizepolicy hsizetype="Fixed" vsizetype="Fixed">\r
+              <horstretch>0</horstretch>\r
+              <verstretch>0</verstretch>\r
+             </sizepolicy>\r
+            </property>\r
+            <property name="minimumSize">\r
+             <size>\r
+              <width>65</width>\r
+              <height>0</height>\r
+             </size>\r
+            </property>\r
+            <property name="maximumSize">\r
+             <size>\r
+              <width>65</width>\r
+              <height>16777215</height>\r
+             </size>\r
+            </property>\r
             <property name="font">\r
              <font>\r
               <family>MS ゴシック</family>\r
              </font>\r
             </property>\r
+            <property name="text">\r
+             <string>001</string>\r
+            </property>\r
            </widget>\r
           </item>\r
-         </layout>\r
-        </item>\r
-        <item>\r
-         <widget class="QPushButton" name="replaceExec">\r
-          <property name="sizePolicy">\r
-           <sizepolicy hsizetype="Fixed" vsizetype="Fixed">\r
-            <horstretch>0</horstretch>\r
-            <verstretch>0</verstretch>\r
-           </sizepolicy>\r
-          </property>\r
-          <property name="focusPolicy">\r
-           <enum>Qt::StrongFocus</enum>\r
-          </property>\r
-          <property name="text">\r
-           <string>設定</string>\r
-          </property>\r
-         </widget>\r
-        </item>\r
-       </layout>\r
-      </item>\r
-     </layout>\r
-    </widget>\r
-   </item>\r
-   <item>\r
-    <widget class="QGroupBox" name="groupBox_3">\r
-     <property name="sizePolicy">\r
-      <sizepolicy hsizetype="Preferred" vsizetype="Fixed">\r
-       <horstretch>0</horstretch>\r
-       <verstretch>0</verstretch>\r
-      </sizepolicy>\r
-     </property>\r
-     <property name="title">\r
-      <string>連番オプション</string>\r
-     </property>\r
-     <layout class="QVBoxLayout" name="verticalLayout_5">\r
-      <item>\r
-       <layout class="QHBoxLayout" name="horizontalLayout_7">\r
-        <item>\r
-         <layout class="QVBoxLayout" name="verticalLayout">\r
           <item>\r
-           <widget class="QLabel" name="label_6">\r
+           <widget class="QLabel" name="label_10">\r
             <property name="text">\r
-             <string>ファイル名前半</string>\r
+             <string>増減数</string>\r
             </property>\r
            </widget>\r
           </item>\r
           <item>\r
-           <widget class="QLineEdit" name="numberFirst">\r
-            <property name="font">\r
-             <font>\r
-              <family>MS ゴシック</family>\r
-             </font>\r
+           <widget class="QSpinBox" name="numberStep">\r
+            <property name="minimum">\r
+             <number>-99</number>\r
             </property>\r
-            <property name="text">\r
-             <string>?B</string>\r
+            <property name="value">\r
+             <number>1</number>\r
             </property>\r
            </widget>\r
           </item>\r
-         </layout>\r
-        </item>\r
-        <item>\r
-         <widget class="QLabel" name="label_7">\r
-          <property name="text">\r
-           <string>+連番+</string>\r
-          </property>\r
-         </widget>\r
-        </item>\r
-        <item>\r
-         <layout class="QVBoxLayout" name="verticalLayout_2">\r
           <item>\r
-           <widget class="QLabel" name="label_8">\r
-            <property name="text">\r
-             <string>ファイル名後半</string>\r
+           <spacer name="horizontalSpacer">\r
+            <property name="orientation">\r
+             <enum>Qt::Horizontal</enum>\r
             </property>\r
-           </widget>\r
+            <property name="sizeHint" stdset="0">\r
+             <size>\r
+              <width>40</width>\r
+              <height>20</height>\r
+             </size>\r
+            </property>\r
+           </spacer>\r
           </item>\r
           <item>\r
-           <widget class="QLineEdit" name="numberLast">\r
-            <property name="font">\r
-             <font>\r
-              <family>MS ゴシック</family>\r
-             </font>\r
+           <widget class="QPushButton" name="numberExec">\r
+            <property name="sizePolicy">\r
+             <sizepolicy hsizetype="Fixed" vsizetype="Fixed">\r
+              <horstretch>0</horstretch>\r
+              <verstretch>0</verstretch>\r
+             </sizepolicy>\r
+            </property>\r
+            <property name="focusPolicy">\r
+             <enum>Qt::StrongFocus</enum>\r
             </property>\r
             <property name="text">\r
-             <string>.?E</string>\r
+             <string>設定</string>\r
             </property>\r
            </widget>\r
           </item>\r
          </layout>\r
         </item>\r
        </layout>\r
-      </item>\r
-      <item>\r
-       <layout class="QHBoxLayout" name="horizontalLayout_8">\r
-        <item>\r
-         <widget class="QLabel" name="label_9">\r
-          <property name="text">\r
-           <string>連番開始番号</string>\r
-          </property>\r
-         </widget>\r
-        </item>\r
-        <item>\r
-         <widget class="QLineEdit" name="numberStart">\r
-          <property name="sizePolicy">\r
-           <sizepolicy hsizetype="Fixed" vsizetype="Fixed">\r
-            <horstretch>0</horstretch>\r
-            <verstretch>0</verstretch>\r
-           </sizepolicy>\r
-          </property>\r
-          <property name="minimumSize">\r
-           <size>\r
-            <width>65</width>\r
-            <height>0</height>\r
-           </size>\r
-          </property>\r
-          <property name="maximumSize">\r
-           <size>\r
-            <width>65</width>\r
-            <height>16777215</height>\r
-           </size>\r
-          </property>\r
-          <property name="font">\r
-           <font>\r
-            <family>MS ゴシック</family>\r
-           </font>\r
-          </property>\r
-          <property name="text">\r
-           <string>001</string>\r
-          </property>\r
-         </widget>\r
-        </item>\r
-        <item>\r
-         <widget class="QLabel" name="label_10">\r
-          <property name="text">\r
-           <string>増減数</string>\r
-          </property>\r
-         </widget>\r
-        </item>\r
-        <item>\r
-         <widget class="QSpinBox" name="numberStep">\r
-          <property name="minimum">\r
-           <number>-99</number>\r
-          </property>\r
-          <property name="value">\r
-           <number>1</number>\r
-          </property>\r
-         </widget>\r
-        </item>\r
-        <item>\r
-         <spacer name="horizontalSpacer">\r
-          <property name="orientation">\r
-           <enum>Qt::Horizontal</enum>\r
-          </property>\r
-          <property name="sizeHint" stdset="0">\r
-           <size>\r
-            <width>40</width>\r
-            <height>20</height>\r
-           </size>\r
-          </property>\r
-         </spacer>\r
-        </item>\r
-        <item>\r
-         <widget class="QPushButton" name="numberExec">\r
-          <property name="sizePolicy">\r
-           <sizepolicy hsizetype="Fixed" vsizetype="Fixed">\r
-            <horstretch>0</horstretch>\r
-            <verstretch>0</verstretch>\r
-           </sizepolicy>\r
-          </property>\r
-          <property name="focusPolicy">\r
-           <enum>Qt::StrongFocus</enum>\r
-          </property>\r
-          <property name="text">\r
-           <string>設定</string>\r
-          </property>\r
-         </widget>\r
-        </item>\r
-       </layout>\r
-      </item>\r
-     </layout>\r
-    </widget>\r
+      </widget>\r
+     </item>\r
+    </layout>\r
    </item>\r
    <item>\r
     <widget class="QDialogButtonBox" name="buttonBox">\r
   </layout>\r
  </widget>\r
  <tabstops>\r
-  <tabstop>tableWidget</tabstop>\r
   <tabstop>btn_UpperAll</tabstop>\r
   <tabstop>btn_LowerAll</tabstop>\r
   <tabstop>btn_UpperExt</tabstop>\r
index 3a3d8f5..570c1a1 100644 (file)
@@ -32,22 +32,7 @@ SimpleTextView::SimpleTextView(QWidget *parent) :
     m_back(NULL)
 {
     setReadOnly(true);
-
-    QSettings settings;
-    QPalette palette = this->palette();
-    palette.setColor(QPalette::Base,
-                     settings.value(IniKey_ViewColorBgNormal).value<QColor>());
-    palette.setColor(QPalette::Text,
-                     settings.value(IniKey_ViewColorFgNormal).value<QColor>());
-    setPalette(palette);
-
-    QFont font = this->font();
-#ifdef Q_OS_MAC
-    font.setFamily("Menlo");
-#else
-    font.setFamily("MS ゴシック");
-#endif
-    setFont(font);
+    updateAppearance();
 
     setContextMenuPolicy(Qt::DefaultContextMenu);
     m_convEUC = new QAction(tr("EUC-JPで再読込"), this);
@@ -129,6 +114,145 @@ void SimpleTextView::setSource(const QByteArray &source)
     getMainWnd()->statusBar()->showMessage(code.c_str());
 }
 
+void SimpleTextView::updateAppearance()
+{
+    QSettings settings;
+
+    QPalette pal = this->palette();
+    if (settings.value(IniKey_ViewerInherit).toBool()) {
+        pal.setColor(QPalette::Base,
+                     settings.value(IniKey_ViewColorBgNormal).value<QColor>());
+        pal.setColor(QPalette::Text,
+                     settings.value(IniKey_ViewColorFgNormal).value<QColor>());
+    }
+    else {
+        pal.setColor(QPalette::Base,
+                     settings.value(IniKey_ViewerColorBg).value<QColor>());
+        pal.setColor(QPalette::Text,
+                     settings.value(IniKey_ViewerColorFg).value<QColor>());
+    }
+    setPalette(pal);
+    setFont(settings.value(IniKey_ViewerFont).value<QFont>());
+}
+
+void SimpleTextView::convertFromEUC()
+{
+    QTextCodec *codec = QTextCodec::codecForName("EUC-JP");
+    setPlainText(codec->toUnicode(m_source));
+    getMainWnd()->statusBar()->showMessage("EUC-JP");
+}
+
+void SimpleTextView::convertFromJIS()
+{
+    QTextCodec *codec = QTextCodec::codecForName("ISO 2022-JP");
+    setPlainText(codec->toUnicode(m_source));
+    getMainWnd()->statusBar()->showMessage("ISO 2022-JP");
+}
+
+void SimpleTextView::convertFromSJIS()
+{
+    QTextCodec *codec = QTextCodec::codecForName("Shift-JIS");
+    setPlainText(codec->toUnicode(m_source));
+    getMainWnd()->statusBar()->showMessage("Shift-JIS");
+
+}
+
+void SimpleTextView::convertFromUTF8()
+{
+    QTextCodec *codec = QTextCodec::codecForName("UTF-8");
+    setPlainText(codec->toUnicode(m_source));
+    getMainWnd()->statusBar()->showMessage("UTF-8");
+}
+
+void SimpleTextView::convertFromUTF16()
+{
+    QTextCodec *codec = QTextCodec::codecForName("UTF-16");
+    setPlainText(codec->toUnicode(m_source));
+    getMainWnd()->statusBar()->showMessage("UTF-16");
+}
+
+void SimpleTextView::convertFromUTF16BE()
+{
+    QTextCodec *codec = QTextCodec::codecForName("UTF-16BE");
+    setPlainText(codec->toUnicode(m_source));
+    getMainWnd()->statusBar()->showMessage("UTF-16BE");
+}
+
+void SimpleTextView::convertFromUTF16LE()
+{
+    QTextCodec *codec = QTextCodec::codecForName("UTF-16LE");
+    setPlainText(codec->toUnicode(m_source));
+    getMainWnd()->statusBar()->showMessage("UTF-16LE");
+}
+
+void SimpleTextView::back()
+{
+    emit viewFinished(this);
+}
+
+void SimpleTextView::keyPressEvent(QKeyEvent *event)
+{
+    QString ksq = KeyEventToSequence(event);
+
+    if (ksq == "Return" || ksq == "Backspace" || ksq == "W") {
+        emit viewFinished(this);
+        event->accept();
+        return;
+    }
+
+    if (!ksq.isEmpty()) {
+        foreach (QObject *obj, this->children()) {
+            QAction *action = qobject_cast<QAction*>(obj);
+            if (action && action->isEnabled()) {
+                foreach (const QKeySequence &keySeq, action->shortcuts()) {
+                    if (ksq == keySeq.toString()) {
+                        qDebug() << "emit " << ksq << " " << action->objectName();
+                        emit action->triggered();
+                        event->accept();
+                        return;
+                    }
+                }
+            }
+        }
+
+        foreach (QObject *obj, getMainWnd()->children()) {
+            QAction *action = qobject_cast<QAction*>(obj);
+            if (action && action->isEnabled()) {
+                foreach (const QKeySequence &keySeq, action->shortcuts()) {
+                    if (ksq == keySeq.toString()) {
+                        qDebug() << "emit " << ksq << " " << action->objectName();
+                        emit action->triggered();
+                        event->accept();
+                        return;
+                    }
+                }
+            }
+        }
+    }
+
+    if (ksq != "Down" && ksq != "Up") {
+        qDebug() << ksq;
+    }
+
+    QPlainTextEdit::keyPressEvent(event);
+}
+
+
+void SimpleTextView::contextMenuEvent(QContextMenuEvent *event)
+{
+    qDebug() << "contextMenuEvent();";
+    QMenu menu(this);
+    menu.addAction(m_convEUC);
+    menu.addAction(m_convJIS);
+    menu.addAction(m_convSJIS);
+    menu.addAction(m_convUTF8);
+    menu.addAction(m_convUTF16BE);
+    menu.addAction(m_convUTF16LE);
+    menu.addSeparator();
+    menu.addAction(m_back);
+    menu.exec(event->globalPos());
+}
+
 // http://dobon.net/vb/dotnet/string/detectcode.html より拝借
 std::string SimpleTextView::detectCode(const QByteArray &bytes)
 {
@@ -267,120 +391,3 @@ std::string SimpleTextView::detectCode(const QByteArray &bytes)
     return "UTF-8";
 #endif
 }
-
-void SimpleTextView::convertFromEUC()
-{
-    QTextCodec *codec = QTextCodec::codecForName("EUC-JP");
-    setPlainText(codec->toUnicode(m_source));
-    getMainWnd()->statusBar()->showMessage("EUC-JP");
-}
-
-void SimpleTextView::convertFromJIS()
-{
-    QTextCodec *codec = QTextCodec::codecForName("ISO 2022-JP");
-    setPlainText(codec->toUnicode(m_source));
-    getMainWnd()->statusBar()->showMessage("ISO 2022-JP");
-}
-
-void SimpleTextView::convertFromSJIS()
-{
-    QTextCodec *codec = QTextCodec::codecForName("Shift-JIS");
-    setPlainText(codec->toUnicode(m_source));
-    getMainWnd()->statusBar()->showMessage("Shift-JIS");
-
-}
-
-void SimpleTextView::convertFromUTF8()
-{
-    QTextCodec *codec = QTextCodec::codecForName("UTF-8");
-    setPlainText(codec->toUnicode(m_source));
-    getMainWnd()->statusBar()->showMessage("UTF-8");
-}
-
-void SimpleTextView::convertFromUTF16()
-{
-    QTextCodec *codec = QTextCodec::codecForName("UTF-16");
-    setPlainText(codec->toUnicode(m_source));
-    getMainWnd()->statusBar()->showMessage("UTF-16");
-}
-
-void SimpleTextView::convertFromUTF16BE()
-{
-    QTextCodec *codec = QTextCodec::codecForName("UTF-16BE");
-    setPlainText(codec->toUnicode(m_source));
-    getMainWnd()->statusBar()->showMessage("UTF-16BE");
-}
-
-void SimpleTextView::convertFromUTF16LE()
-{
-    QTextCodec *codec = QTextCodec::codecForName("UTF-16LE");
-    setPlainText(codec->toUnicode(m_source));
-    getMainWnd()->statusBar()->showMessage("UTF-16LE");
-}
-
-void SimpleTextView::back()
-{
-    emit viewFinished(this);
-}
-
-void SimpleTextView::keyPressEvent(QKeyEvent *event)
-{
-    QString ksq = KeyEventToSequence(event);
-
-    if (ksq == "Return" || ksq == "Backspace" || ksq == "W") {
-        emit viewFinished(this);
-        event->accept();
-        return;
-    }
-
-    if (!ksq.isEmpty()) {
-        foreach (QObject *obj, this->children()) {
-            QAction *action = qobject_cast<QAction*>(obj);
-            if (action && action->isEnabled()) {
-                foreach (const QKeySequence &keySeq, action->shortcuts()) {
-                    if (ksq == keySeq.toString()) {
-                        qDebug() << "emit " << ksq << " " << action->objectName();
-                        emit action->triggered();
-                        event->accept();
-                        return;
-                    }
-                }
-            }
-        }
-
-        foreach (QObject *obj, getMainWnd()->children()) {
-            QAction *action = qobject_cast<QAction*>(obj);
-            if (action && action->isEnabled()) {
-                foreach (const QKeySequence &keySeq, action->shortcuts()) {
-                    if (ksq == keySeq.toString()) {
-                        qDebug() << "emit " << ksq << " " << action->objectName();
-                        emit action->triggered();
-                        event->accept();
-                        return;
-                    }
-                }
-            }
-        }
-    }
-
-    if (ksq != "Down" && ksq != "Up") {
-        qDebug() << ksq;
-    }
-
-    QPlainTextEdit::keyPressEvent(event);
-}
-
-
-void SimpleTextView::contextMenuEvent(QContextMenuEvent *event)
-{
-    qDebug() << "contextMenuEvent();";
-    QMenu menu(this);
-    menu.addAction(m_convEUC);
-    menu.addAction(m_convJIS);
-    menu.addAction(m_convSJIS);
-    menu.addAction(m_convUTF8);
-    menu.addAction(m_convUTF16BE);
-    menu.addAction(m_convUTF16LE);
-    menu.addAction(m_back);
-    menu.exec(event->globalPos());
-}
index 5eecd3b..9a9d65f 100644 (file)
@@ -10,6 +10,7 @@ public:
     explicit SimpleTextView(QWidget *parent = 0);
 
     void setSource(const QByteArray &source);
+    void updateAppearance();
 
 private:
     QAction *m_convEUC;
diff --git a/version.h b/version.h
new file mode 100644 (file)
index 0000000..6e37ce5
--- /dev/null
+++ b/version.h
@@ -0,0 +1,6 @@
+#ifndef VERSION_H
+#define VERSION_H
+
+#define VERSION_VALUE   0.12
+
+#endif // VERSION_H