--- /dev/null
+#include "folderpanel.h"\r
+#include "mainwindow.h"\r
+#include "ui_folderpanel.h"\r
+#include <QFileIconProvider>\r
+#include <QCheckBox>\r
+#include <QMessageBox>\r
+#include <QKeyEvent>\r
+#include <QDebug>\r
+#include <QDateTime>\r
+#include <QDesktopServices>\r
+\r
+FolderPanel::FolderPanel(QWidget *parent) :\r
+ QWidget(parent),\r
+ ui(new Ui::FolderPanel)\r
+{\r
+ ui->setupUi(this);\r
+\r
+ // MainWindowのスロットに接続する\r
+ foreach (QWidget *w, qApp->topLevelWidgets()) {\r
+ if (w->objectName() == "MainWindow") {\r
+ MainWindow *mainWnd = static_cast<MainWindow*>(w);\r
+ connect(ui->fileTable, SIGNAL(cellDoubleClicked(int,int)), mainWnd, SLOT(on_action_Open_triggered()));\r
+ }\r
+ }\r
+\r
+\r
+\r
+\r
+\r
+ // ヘッダーラベルを設定する\r
+ QStringList labels;\r
+ labels << tr("") << tr("Name") << tr("Size") << tr("Date");\r
+ ui->fileTable->setHorizontalHeaderLabels(labels);\r
+\r
+ // イベントフィルタを設定する\r
+ ui->fileTable->installEventFilter(this);\r
+\r
+ // リサイズ時の動作を設定する\r
+ ui->fileTable->horizontalHeader()->setSectionResizeMode(0, QHeaderView::ResizeToContents);\r
+ ui->fileTable->horizontalHeader()->setSectionResizeMode(1, QHeaderView::Stretch);\r
+ ui->fileTable->horizontalHeader()->setSectionResizeMode(2, QHeaderView::ResizeToContents);\r
+ ui->fileTable->horizontalHeader()->setSectionResizeMode(3, QHeaderView::ResizeToContents);\r
+\r
+ // フォルダの要素を表示\r
+ m_dir.setFilter(QDir::NoDot | QDir::AllEntries);\r
+ m_dir.setSorting(QDir::DirsFirst | QDir::Name);\r
+ setCurrentFolder(QDir::homePath());\r
+ ui->fileTable->resizeColumnsToContents();\r
+}\r
+\r
+FolderPanel::~FolderPanel()\r
+{\r
+ delete ui;\r
+}\r
+\r
+QTableWidget* FolderPanel::fileTable()\r
+{\r
+ return ui->fileTable;\r
+}\r
+\r
+const QTableWidget* FolderPanel::fileTable() const\r
+{\r
+ return ui->fileTable;\r
+}\r
+\r
+bool FolderPanel::eventFilter(QObject *obj, QEvent *event)\r
+{\r
+ if (event->type() == QEvent::KeyPress) {\r
+ QKeyEvent *keyEvent = static_cast<QKeyEvent*>(event);\r
+ switch (keyEvent->key()) {\r
+// case Qt::Key_Space: {\r
+// // 選択アイテムのチェック状態を反転する\r
+// QModelIndex index = ui->fileTable->currentIndex();\r
+// int row = index.row();\r
+// if (ui->fileTable->item(row, 1)->text() == "..") {\r
+// // 何もしない\r
+// }\r
+// else if (ui->fileTable->item(row, 0)->checkState() == Qt::Checked) {\r
+// ui->fileTable->item(row, 0)->setCheckState(Qt::Unchecked);\r
+// }\r
+// else {\r
+// ui->fileTable->item(row, 0)->setCheckState(Qt::Checked);\r
+// }\r
+// // 最終行でなければ、次のアイテムに移動する\r
+// if (row < ui->fileTable->rowCount() - 1) {\r
+// QModelIndex nextIndex = ui->fileTable->model()->index(row + 1, 1);\r
+// ui->fileTable->setCurrentIndex(nextIndex);\r
+// }\r
+// keyEvent->accept();\r
+// return true; }\r
+\r
+ case Qt::Key_Tab:\r
+ // MainWindowで処理を行う\r
+ foreach (QWidget *w, qApp->topLevelWidgets()) {\r
+ if (w->objectName() == "MainWindow") {\r
+ return w->eventFilter(obj, event);\r
+ }\r
+ }\r
+ break;\r
+\r
+// case Qt::Key_Return: {\r
+// if (keyEvent->modifiers() & Qt::ControlModifier) {\r
+// int row = ui->fileTable->currentIndex().row();\r
+// QString path = ui->fileTable->item(row, 1)->text();\r
+// path = m_dir.absoluteFilePath(path);\r
+// path = QDir::toNativeSeparators(path);\r
+// QDesktopServices::openUrl(QUrl("file:///" + path));\r
+// }\r
+// keyEvent->accept();\r
+// return true; }\r
+\r
+// case Qt::Key_Backspace: {\r
+// if (!m_dir.isRoot()) {\r
+// QString path = m_dir.absoluteFilePath("..");\r
+// setCurrentFolder(path);\r
+// }\r
+// keyEvent->accept();\r
+// return true; }\r
+ }\r
+ }\r
+\r
+ return QWidget::eventFilter(obj, event);\r
+}\r
+\r
+void FolderPanel::setCurrentFolder(const QString &path)\r
+{\r
+ m_dir.setPath(QDir::cleanPath(path));\r
+ QFileInfoList list = m_dir.entryInfoList();\r
+\r
+ if (list.empty()) {\r
+ QMessageBox::critical(\r
+ this,\r
+ tr("エラー"),\r
+ tr("フォルダが存在しないか利用できません。"));\r
+ return;\r
+ }\r
+\r
+ ui->fileTable->model()->removeRows(0, ui->fileTable->rowCount());\r
+ for (int i = 0; i < list.size(); i++) {\r
+ QFileInfo info = list.at(i);\r
+ if (info.fileName() == ".." && m_dir.isRoot()) {\r
+ continue;\r
+ }\r
+\r
+ int row = ui->fileTable->rowCount();\r
+ ui->fileTable->insertRow(row);\r
+\r
+ // ファイル名とアイコン\r
+ QTableWidgetItem *iName = new QTableWidgetItem(info.fileName());\r
+ iName->setFlags(iName->flags() ^ Qt::ItemIsEditable);\r
+ if (info.fileName() == "..") {\r
+ iName->setIcon(QIcon(":/images/Up.png"));\r
+ }\r
+ else {\r
+ iName->setIcon(QFileIconProvider().icon(info));\r
+ }\r
+ ui->fileTable->setItem(row, 1, iName);\r
+\r
+ // サイズ\r
+ QString str;\r
+ if (info.isDir()) {\r
+ str = tr("<DIR>");\r
+ }\r
+ else if (info.size() >= 1024 * 1024 * 1024) {\r
+ str = tr("%1GB").arg(int(info.size() / (1024 * 1024 * 1024)));\r
+ }\r
+ else if (info.size() >= 1024 * 1024) {\r
+ str = tr("%1MB").arg(int(info.size() / (1024 * 1024)));\r
+ }\r
+ else if (info.size() >= 1024) {\r
+ str = tr("%1KB").arg(int(info.size() / 1024));\r
+ }\r
+ else {\r
+ str = tr("%1B").arg(info.size());\r
+ }\r
+ QTableWidgetItem *iSize = new QTableWidgetItem(str);\r
+ iSize->setFlags(iSize->flags() ^ Qt::ItemIsEditable);\r
+ iSize->setTextAlignment(Qt::AlignRight | Qt::AlignVCenter);\r
+\r
+ ui->fileTable->setItem(row, 2, iSize);\r
+\r
+ // 最終更新日時\r
+ QTableWidgetItem *iDateTime = new QTableWidgetItem(\r
+ info.lastModified().toString("yy/MM/dd hh:mm"));\r
+ iDateTime->setFlags(iDateTime->flags() ^ Qt::ItemIsEditable);\r
+ ui->fileTable->setItem(row, 3, iDateTime);\r
+\r
+ // シグナル処理の関係で、チェックボックスは最後に追加する\r
+ QTableWidgetItem *iCheck = new QTableWidgetItem(tr(""));\r
+ iCheck->setFlags(iCheck->flags() ^ Qt::ItemIsEditable);\r
+ if (info.fileName() != "..") {\r
+ iCheck->setFlags(iCheck->flags() | Qt::ItemIsUserCheckable);\r
+ iCheck->setCheckState(Qt::Unchecked);\r
+ }\r
+ ui->fileTable->setItem(row, 0, iCheck);\r
+\r
+ }\r
+ ui->fileTable->selectRow(0);\r
+ ui->fileTable->resizeRowsToContents();\r
+\r
+ ui->locationField->setText(m_dir.absolutePath());\r
+}\r
+\r
+void FolderPanel::on_fileTable_cellChanged(int row, int column)\r
+{\r
+ if (column == 0) {\r
+ if (ui->fileTable->item(row, 0)->checkState() == Qt::Checked) {\r
+ for (int n = 0; n < 4; n++) {\r
+ ui->fileTable->item(row, n)->setForeground(Qt::red);\r
+ ui->fileTable->item(row, n)->setBackground(Qt::green);\r
+ }\r
+ }\r
+ else {\r
+ for (int n = 0; n < 4; n++) {\r
+ ui->fileTable->item(row, n)->setForeground(Qt::black);\r
+ ui->fileTable->item(row, n)->setBackground(Qt::white);\r
+ }\r
+ }\r
+ ui->fileTable->selectRow(row);\r
+ }\r
+}\r
+\r
+//void FolderPanel::on_fileTable_doubleClicked(const QModelIndex &index)\r
+//{\r
+// QString strName = ui->fileTable->item(index.row(), 1)->text();\r
+// QString strPath = m_dir.absoluteFilePath(strName);\r
+// QFileInfo info(strPath);\r
+\r
+// if (info.isDir()) {\r
+// setCurrentFolder(strPath);\r
+// }\r
+// else {\r
+// // TODO:ファイルの場合はどうしよう?\r
+// }\r
+//}\r
+\r
+void FolderPanel::on_locationField_editingFinished()\r
+{\r
+ ui->locationField->blockSignals(true);\r
+\r
+ QString path = ui->locationField->text();\r
+ setCurrentFolder(path);\r
+\r
+ ui->locationField->blockSignals(false);\r
+}\r
--- /dev/null
+#ifndef FOLDERPANEL_H\r
+#define FOLDERPANEL_H\r
+\r
+#include <QWidget>\r
+#include <QDir>\r
+#include <QTableWidget>\r
+\r
+namespace Ui {\r
+class FolderPanel;\r
+}\r
+\r
+class FolderPanel : public QWidget\r
+{\r
+ Q_OBJECT\r
+\r
+public:\r
+ explicit FolderPanel(QWidget *parent = 0);\r
+ ~FolderPanel();\r
+\r
+ QTableWidget* fileTable();\r
+ const QTableWidget* fileTable() const;\r
+\r
+ QDir* dir() { return &m_dir; }\r
+ const QDir* dir() const { return &m_dir; }\r
+\r
+ void setCurrentFolder(const QString &path);\r
+\r
+private:\r
+ Ui::FolderPanel *ui;\r
+ QDir m_dir;\r
+\r
+ bool eventFilter(QObject *, QEvent *);\r
+\r
+private slots:\r
+ void on_fileTable_cellChanged(int row, int column);\r
+// void on_fileTable_doubleClicked(const QModelIndex &index);\r
+ void on_locationField_editingFinished();\r
+};\r
+\r
+#endif // FOLDERPANEL_H\r
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>\r
+<ui version="4.0">\r
+ <class>FolderPanel</class>\r
+ <widget class="QWidget" name="FolderPanel">\r
+ <property name="geometry">\r
+ <rect>\r
+ <x>0</x>\r
+ <y>0</y>\r
+ <width>400</width>\r
+ <height>300</height>\r
+ </rect>\r
+ </property>\r
+ <property name="sizePolicy">\r
+ <sizepolicy hsizetype="Expanding" vsizetype="Expanding">\r
+ <horstretch>0</horstretch>\r
+ <verstretch>0</verstretch>\r
+ </sizepolicy>\r
+ </property>\r
+ <property name="windowTitle">\r
+ <string>Form</string>\r
+ </property>\r
+ <layout class="QVBoxLayout" name="verticalLayout">\r
+ <property name="spacing">\r
+ <number>1</number>\r
+ </property>\r
+ <property name="leftMargin">\r
+ <number>1</number>\r
+ </property>\r
+ <property name="topMargin">\r
+ <number>1</number>\r
+ </property>\r
+ <property name="rightMargin">\r
+ <number>1</number>\r
+ </property>\r
+ <property name="bottomMargin">\r
+ <number>1</number>\r
+ </property>\r
+ <item>\r
+ <layout class="QHBoxLayout" name="horizontalLayout">\r
+ <item>\r
+ <widget class="QPushButton" name="driveButton">\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="minimumSize">\r
+ <size>\r
+ <width>1</width>\r
+ <height>0</height>\r
+ </size>\r
+ </property>\r
+ <property name="focusPolicy">\r
+ <enum>Qt::NoFocus</enum>\r
+ </property>\r
+ <property name="text">\r
+ <string>PushButton</string>\r
+ </property>\r
+ </widget>\r
+ </item>\r
+ <item>\r
+ <widget class="QLineEdit" name="locationField">\r
+ <property name="focusPolicy">\r
+ <enum>Qt::ClickFocus</enum>\r
+ </property>\r
+ </widget>\r
+ </item>\r
+ </layout>\r
+ </item>\r
+ <item>\r
+ <widget class="QTableWidget" name="fileTable">\r
+ <property name="horizontalScrollBarPolicy">\r
+ <enum>Qt::ScrollBarAlwaysOff</enum>\r
+ </property>\r
+ <property name="tabKeyNavigation">\r
+ <bool>false</bool>\r
+ </property>\r
+ <property name="selectionMode">\r
+ <enum>QAbstractItemView::SingleSelection</enum>\r
+ </property>\r
+ <property name="selectionBehavior">\r
+ <enum>QAbstractItemView::SelectRows</enum>\r
+ </property>\r
+ <property name="textElideMode">\r
+ <enum>Qt::ElideMiddle</enum>\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>4</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
+ <column/>\r
+ <column/>\r
+ </widget>\r
+ </item>\r
+ </layout>\r
+ </widget>\r
+ <tabstops>\r
+ <tabstop>fileTable</tabstop>\r
+ <tabstop>driveButton</tabstop>\r
+ <tabstop>locationField</tabstop>\r
+ </tabstops>\r
+ <resources/>\r
+ <connections/>\r
+</ui>\r
--- /dev/null
+#include "mainwindow.h"\r
+#include <QApplication>\r
+\r
+int main(int argc, char *argv[])\r
+{\r
+ QApplication a(argc, argv);\r
+ MainWindow w;\r
+ w.show();\r
+\r
+ return a.exec();\r
+}\r
--- /dev/null
+#include "mainwindow.h"\r
+#include "ui_mainwindow.h"\r
+#include <QFileSystemModel>\r
+#include <QDebug>\r
+#include <QKeyEvent>\r
+#include <QDesktopServices>\r
+\r
+MainWindow::MainWindow(QWidget *parent) :\r
+ QMainWindow(parent),\r
+ ui(new Ui::MainWindow)\r
+{\r
+ ui->setupUi(this);\r
+\r
+ // イベントフィルタを設定する\r
+ this->installEventFilter(this);\r
+\r
+ // ウィンドウタイトルを設定する\r
+ setWindowTitle(tr("げふぅ v0.00"));\r
+\r
+ // ウィンドウ初期サイズを設定する\r
+ resize(800, 600);\r
+}\r
+\r
+MainWindow::~MainWindow()\r
+{\r
+ delete ui;\r
+}\r
+\r
+bool MainWindow::eventFilter(QObject *obj, QEvent *event)\r
+{\r
+ if (event->type() == QEvent::KeyPress) {\r
+ QKeyEvent *keyEvent = static_cast<QKeyEvent*>(event);\r
+ switch (keyEvent->key()) {\r
+ case Qt::Key_Tab: {\r
+ FolderPanel *fPanel;\r
+ if (obj->parent()->objectName() == "folderPanel_L") {\r
+ fPanel = ui->folderPanel_R;\r
+ }\r
+ else if (obj->parent()->objectName() == "folderPanel_R") {\r
+ fPanel = ui->folderPanel_L;\r
+ }\r
+ else {\r
+ break;\r
+ }\r
+ fPanel->fileTable()->setFocus();\r
+ keyEvent->accept();\r
+ return true; }\r
+ }\r
+ }\r
+\r
+ return QMainWindow::eventFilter(obj, event);\r
+}\r
+\r
+FolderPanel* MainWindow::activePanel()\r
+{\r
+ if (ui->folderPanel_L->fileTable()->hasFocus()) {\r
+ return ui->folderPanel_L;\r
+ }\r
+ if (ui->folderPanel_R->fileTable()->hasFocus()) {\r
+ return ui->folderPanel_R;\r
+ }\r
+\r
+ return NULL;\r
+}\r
+\r
+FolderPanel* MainWindow::inactivePanel()\r
+{\r
+ FolderPanel *fp = activePanel();\r
+ if (fp == ui->folderPanel_L) {\r
+ return ui->folderPanel_R;\r
+ }\r
+ if (fp == ui->folderPanel_R) {\r
+ return ui->folderPanel_L;\r
+ }\r
+\r
+ return NULL;\r
+}\r
+\r
+void MainWindow::on_action_Quit_triggered()\r
+{\r
+ qApp->quit();\r
+}\r
+\r
+void MainWindow::on_action_Open_triggered()\r
+{\r
+ FolderPanel *fp = activePanel();\r
+ if (!fp) {\r
+ return;\r
+ }\r
+\r
+ int row = fp->fileTable()->currentIndex().row();\r
+ QString path = fp->fileTable()->item(row, 1)->text();\r
+ path = fp->dir()->absoluteFilePath(path);\r
+ QFileInfo info(path);\r
+\r
+ if (info.isDir()) {\r
+ fp->setCurrentFolder(path);\r
+ }\r
+}\r
+\r
+void MainWindow::on_action_Exec_triggered()\r
+{\r
+ FolderPanel *fp = activePanel();\r
+ if (!fp) {\r
+ return;\r
+ }\r
+\r
+ int row = fp->fileTable()->currentIndex().row();\r
+ QString path = fp->fileTable()->item(row, 1)->text();\r
+ path = fp->dir()->absoluteFilePath(path);\r
+ path = QDir::toNativeSeparators(path);\r
+ QDesktopServices::openUrl(QUrl("file:///" + path));\r
+}\r
+\r
+void MainWindow::on_view_FromOther_triggered()\r
+{\r
+ FolderPanel *fp1 = activePanel();\r
+ FolderPanel *fp2 = inactivePanel();\r
+ if (fp1 == NULL || fp2 == NULL) {\r
+ return;\r
+ }\r
+\r
+ fp1->setCurrentFolder(fp2->dir()->absolutePath());\r
+}\r
+\r
+\r
+void MainWindow::on_view_ToOther_triggered()\r
+{\r
+ FolderPanel *fp1 = activePanel();\r
+ FolderPanel *fp2 = inactivePanel();\r
+ if (fp1 == NULL || fp2 == NULL) {\r
+ return;\r
+ }\r
+\r
+ fp2->setCurrentFolder(fp1->dir()->absolutePath());\r
+}\r
+\r
+void MainWindow::on_mark_Toggle_triggered()\r
+{\r
+ FolderPanel *fp = activePanel();\r
+ if (fp == NULL) {\r
+ return;\r
+ }\r
+\r
+ int row = fp->fileTable()->currentIndex().row();\r
+ if (fp->fileTable()->item(row, 1)->text() == "..") {\r
+ // 何もしない\r
+ }\r
+ else if (fp->fileTable()->item(row, 0)->checkState() == Qt::Checked) {\r
+ fp->fileTable()->item(row, 0)->setCheckState(Qt::Unchecked);\r
+ }\r
+ else {\r
+ fp->fileTable()->item(row, 0)->setCheckState(Qt::Checked);\r
+ }\r
+ // 最終行でなければ、次のアイテムに移動する\r
+ if (row < fp->fileTable()->rowCount() - 1) {\r
+ QModelIndex nextIndex = fp->fileTable()->model()->index(row + 1, 1);\r
+ fp->fileTable()->setCurrentIndex(nextIndex);\r
+ }\r
+}\r
+\r
+void MainWindow::on_mark_All_triggered()\r
+{\r
+ FolderPanel *fp = activePanel();\r
+ if (fp == NULL) {\r
+ return;\r
+ }\r
+\r
+ int row = 0;\r
+ if (fp->fileTable()->item(row, 1)->text() == "..") {\r
+ row++;\r
+ }\r
+\r
+ for (; row < fp->fileTable()->rowCount(); row++) {\r
+ fp->fileTable()->item(row, 0)->setCheckState(Qt::Checked);\r
+ }\r
+}\r
+\r
+void MainWindow::on_mark_AllFiles_triggered()\r
+{\r
+ FolderPanel *fp = activePanel();\r
+ if (fp == NULL) {\r
+ return;\r
+ }\r
+\r
+ int row = 0;\r
+ if (fp->fileTable()->item(row, 1)->text() == "..") {\r
+ row++;\r
+ }\r
+\r
+ for (; row < fp->fileTable()->rowCount(); row++) {\r
+ QString path = fp->fileTable()->item(row, 1)->text();\r
+ path = fp->dir()->absoluteFilePath(path);\r
+\r
+ QFileInfo info(path);\r
+ if (info.isDir()) {\r
+ fp->fileTable()->item(row, 0)->setCheckState(Qt::Unchecked);\r
+ }\r
+ else {\r
+ fp->fileTable()->item(row, 0)->setCheckState(Qt::Checked);\r
+ }\r
+ }\r
+}\r
+\r
+///\r
+/// \brief MainWindow::on_mark_AllOff_triggered\r
+///\r
+/// すべてのマークを解除します\r
+///\r
+void MainWindow::on_mark_AllOff_triggered()\r
+{\r
+ FolderPanel *fp = activePanel();\r
+ if (fp == NULL) {\r
+ return;\r
+ }\r
+\r
+ int row = 0;\r
+ if (fp->fileTable()->item(row, 1)->text() == "..") {\r
+ row++;\r
+ }\r
+\r
+ for (; row < fp->fileTable()->rowCount(); row++) {\r
+ fp->fileTable()->item(row, 0)->setCheckState(Qt::Unchecked);\r
+ }\r
+}\r
+\r
+void MainWindow::on_mark_Invert_triggered()\r
+{\r
+ FolderPanel *fp = activePanel();\r
+ if (fp == NULL) {\r
+ return;\r
+ }\r
+\r
+ int row = 0;\r
+ if (fp->fileTable()->item(row, 1)->text() == "..") {\r
+ row++;\r
+ }\r
+\r
+ for (; row < fp->fileTable()->rowCount(); row++) {\r
+ QTableWidgetItem *item = fp->fileTable()->item(row, 0);\r
+ if (item->checkState() == Qt::Checked) {\r
+ item->setCheckState(Qt::Unchecked);\r
+ }\r
+ else {\r
+ item->setCheckState(Qt::Checked);\r
+ }\r
+ }\r
+}\r
+\r
+void MainWindow::on_view_Swap_triggered()\r
+{\r
+ FolderPanel *fp1 = activePanel();\r
+ FolderPanel *fp2 = inactivePanel();\r
+ if (fp1 == NULL || fp2 == NULL) {\r
+ return;\r
+ }\r
+\r
+ QString path1 = fp1->dir()->absolutePath();\r
+ QString path2 = fp2->dir()->absolutePath();\r
+\r
+ fp1->setCurrentFolder(path2);\r
+ fp2->setCurrentFolder(path1);\r
+}\r
+\r
+void MainWindow::on_move_Down_triggered()\r
+{\r
+ FolderPanel *fp = activePanel();\r
+ if (fp == NULL) {\r
+ return;\r
+ }\r
+\r
+ int row = fp->fileTable()->currentIndex().row();\r
+ if (row < fp->fileTable()->rowCount() - 1) {\r
+ QModelIndex nextIndex = fp->fileTable()->model()->index(row + 1, 1);\r
+ fp->fileTable()->setCurrentIndex(nextIndex);\r
+ }\r
+}\r
+\r
+void MainWindow::on_move_Up_triggered()\r
+{\r
+ FolderPanel *fp = activePanel();\r
+ if (fp == NULL) {\r
+ return;\r
+ }\r
+\r
+ int row = fp->fileTable()->currentIndex().row();\r
+ if (row > 0) {\r
+ QModelIndex nextIndex = fp->fileTable()->model()->index(row - 1, 1);\r
+ fp->fileTable()->setCurrentIndex(nextIndex);\r
+ }\r
+}\r
+\r
+void MainWindow::on_move_Parent_triggered()\r
+{\r
+ FolderPanel *fp = activePanel();\r
+ if (fp == NULL) {\r
+ return;\r
+ }\r
+\r
+ if (!fp->dir()->isRoot()) {\r
+ QString path = fp->dir()->absoluteFilePath("..");\r
+ fp->setCurrentFolder(path);\r
+ }\r
+}\r
+\r
+void MainWindow::on_move_Root_triggered()\r
+{\r
+ FolderPanel *fp = activePanel();\r
+ if (fp == NULL) {\r
+ return;\r
+ }\r
+\r
+ if (!fp->dir()->isRoot()) {\r
+ fp->setCurrentFolder(QDir::rootPath());\r
+ }\r
+}\r
--- /dev/null
+#ifndef MAINWINDOW_H\r
+#define MAINWINDOW_H\r
+\r
+#include <QMainWindow>\r
+class FolderPanel;\r
+\r
+namespace Ui {\r
+class MainWindow;\r
+}\r
+\r
+class MainWindow : public QMainWindow\r
+{\r
+ Q_OBJECT\r
+\r
+public:\r
+ explicit MainWindow(QWidget *parent = 0);\r
+ ~MainWindow();\r
+\r
+private slots:\r
+ void on_action_Quit_triggered();\r
+ void on_action_Open_triggered();\r
+\r
+ void on_action_Exec_triggered();\r
+\r
+ void on_view_FromOther_triggered();\r
+\r
+ void on_view_ToOther_triggered();\r
+\r
+ void on_mark_Toggle_triggered();\r
+\r
+ void on_mark_All_triggered();\r
+\r
+ void on_mark_AllFiles_triggered();\r
+\r
+ void on_mark_AllOff_triggered();\r
+\r
+ void on_mark_Invert_triggered();\r
+\r
+ void on_view_Swap_triggered();\r
+\r
+ void on_move_Down_triggered();\r
+\r
+ void on_move_Up_triggered();\r
+\r
+ void on_move_Parent_triggered();\r
+\r
+ void on_move_Root_triggered();\r
+\r
+private:\r
+ Ui::MainWindow *ui;\r
+\r
+ bool eventFilter(QObject *, QEvent *);\r
+ FolderPanel* activePanel();\r
+ FolderPanel* inactivePanel();\r
+\r
+};\r
+\r
+#endif // MAINWINDOW_H\r
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>\r
+<ui version="4.0">\r
+ <class>MainWindow</class>\r
+ <widget class="QMainWindow" name="MainWindow">\r
+ <property name="geometry">\r
+ <rect>\r
+ <x>0</x>\r
+ <y>0</y>\r
+ <width>647</width>\r
+ <height>377</height>\r
+ </rect>\r
+ </property>\r
+ <property name="windowTitle">\r
+ <string>MainWindow</string>\r
+ </property>\r
+ <widget class="QWidget" name="centralWidget">\r
+ <layout class="QVBoxLayout" name="verticalLayout">\r
+ <property name="spacing">\r
+ <number>1</number>\r
+ </property>\r
+ <property name="leftMargin">\r
+ <number>1</number>\r
+ </property>\r
+ <property name="topMargin">\r
+ <number>1</number>\r
+ </property>\r
+ <property name="rightMargin">\r
+ <number>1</number>\r
+ </property>\r
+ <property name="bottomMargin">\r
+ <number>1</number>\r
+ </property>\r
+ <item>\r
+ <widget class="QSplitter" name="splitter">\r
+ <property name="orientation">\r
+ <enum>Qt::Horizontal</enum>\r
+ </property>\r
+ <widget class="FolderPanel" name="folderPanel_L" native="true">\r
+ <property name="sizePolicy">\r
+ <sizepolicy hsizetype="Expanding" vsizetype="Expanding">\r
+ <horstretch>0</horstretch>\r
+ <verstretch>0</verstretch>\r
+ </sizepolicy>\r
+ </property>\r
+ </widget>\r
+ <widget class="FolderPanel" name="folderPanel_R" native="true">\r
+ <property name="sizePolicy">\r
+ <sizepolicy hsizetype="Expanding" vsizetype="Expanding">\r
+ <horstretch>0</horstretch>\r
+ <verstretch>0</verstretch>\r
+ </sizepolicy>\r
+ </property>\r
+ </widget>\r
+ </widget>\r
+ </item>\r
+ <item>\r
+ <layout class="QHBoxLayout" name="horizontalLayout">\r
+ <property name="spacing">\r
+ <number>0</number>\r
+ </property>\r
+ <property name="sizeConstraint">\r
+ <enum>QLayout::SetMinimumSize</enum>\r
+ </property>\r
+ <item>\r
+ <widget class="QPushButton" name="pushButton_4">\r
+ <property name="focusPolicy">\r
+ <enum>Qt::NoFocus</enum>\r
+ </property>\r
+ <property name="text">\r
+ <string>PushButton</string>\r
+ </property>\r
+ </widget>\r
+ </item>\r
+ <item>\r
+ <widget class="QPushButton" name="pushButton_3">\r
+ <property name="focusPolicy">\r
+ <enum>Qt::NoFocus</enum>\r
+ </property>\r
+ <property name="text">\r
+ <string>PushButton</string>\r
+ </property>\r
+ </widget>\r
+ </item>\r
+ <item>\r
+ <widget class="QPushButton" name="pushButton_2">\r
+ <property name="minimumSize">\r
+ <size>\r
+ <width>1</width>\r
+ <height>0</height>\r
+ </size>\r
+ </property>\r
+ <property name="focusPolicy">\r
+ <enum>Qt::NoFocus</enum>\r
+ </property>\r
+ <property name="text">\r
+ <string>PushButton</string>\r
+ </property>\r
+ </widget>\r
+ </item>\r
+ <item>\r
+ <widget class="QPushButton" name="pushButton">\r
+ <property name="minimumSize">\r
+ <size>\r
+ <width>1</width>\r
+ <height>0</height>\r
+ </size>\r
+ </property>\r
+ <property name="focusPolicy">\r
+ <enum>Qt::NoFocus</enum>\r
+ </property>\r
+ <property name="text">\r
+ <string>PushButton</string>\r
+ </property>\r
+ </widget>\r
+ </item>\r
+ </layout>\r
+ </item>\r
+ </layout>\r
+ </widget>\r
+ <widget class="QToolBar" name="mainToolBar">\r
+ <property name="movable">\r
+ <bool>false</bool>\r
+ </property>\r
+ <property name="iconSize">\r
+ <size>\r
+ <width>16</width>\r
+ <height>16</height>\r
+ </size>\r
+ </property>\r
+ <attribute name="toolBarArea">\r
+ <enum>TopToolBarArea</enum>\r
+ </attribute>\r
+ <attribute name="toolBarBreak">\r
+ <bool>false</bool>\r
+ </attribute>\r
+ <addaction name="action_Open"/>\r
+ </widget>\r
+ <widget class="QStatusBar" name="statusBar"/>\r
+ <widget class="QMenuBar" name="menuBar">\r
+ <property name="geometry">\r
+ <rect>\r
+ <x>0</x>\r
+ <y>0</y>\r
+ <width>647</width>\r
+ <height>24</height>\r
+ </rect>\r
+ </property>\r
+ <widget class="QMenu" name="menu_File">\r
+ <property name="title">\r
+ <string>ファイル(&F)</string>\r
+ </property>\r
+ <addaction name="action_Open"/>\r
+ <addaction name="action_Exec"/>\r
+ <addaction name="separator"/>\r
+ <addaction name="action_Setting"/>\r
+ <addaction name="separator"/>\r
+ <addaction name="action_Quit"/>\r
+ </widget>\r
+ <widget class="QMenu" name="menu_Mark">\r
+ <property name="title">\r
+ <string>マーク(&M)</string>\r
+ </property>\r
+ <addaction name="mark_Toggle"/>\r
+ <addaction name="mark_All"/>\r
+ <addaction name="mark_AllFiles"/>\r
+ <addaction name="mark_AllOff"/>\r
+ <addaction name="mark_Invert"/>\r
+ </widget>\r
+ <widget class="QMenu" name="menu_View">\r
+ <property name="title">\r
+ <string>表示(&V)</string>\r
+ </property>\r
+ <addaction name="view_FromOther"/>\r
+ <addaction name="view_ToOther"/>\r
+ <addaction name="view_Swap"/>\r
+ <addaction name="separator"/>\r
+ <addaction name="view_Hidden"/>\r
+ <addaction name="view_Sort"/>\r
+ </widget>\r
+ <widget class="QMenu" name="menu_Move">\r
+ <property name="title">\r
+ <string>移動(&E)</string>\r
+ </property>\r
+ <addaction name="move_Back"/>\r
+ <addaction name="move_Forward"/>\r
+ <addaction name="move_History"/>\r
+ <addaction name="separator"/>\r
+ <addaction name="move_Parent"/>\r
+ <addaction name="move_Root"/>\r
+ <addaction name="move_Jump"/>\r
+ <addaction name="separator"/>\r
+ <addaction name="move_Down"/>\r
+ <addaction name="move_Up"/>\r
+ </widget>\r
+ <addaction name="menu_File"/>\r
+ <addaction name="menu_Mark"/>\r
+ <addaction name="menu_View"/>\r
+ <addaction name="menu_Move"/>\r
+ </widget>\r
+ <action name="action_Quit">\r
+ <property name="icon">\r
+ <iconset resource="resource.qrc">\r
+ <normaloff>:/images/Exit.png</normaloff>:/images/Exit.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>Q</string>\r
+ </property>\r
+ </action>\r
+ <action name="action_Open">\r
+ <property name="icon">\r
+ <iconset resource="resource.qrc">\r
+ <normaloff>:/images/Open.png</normaloff>:/images/Open.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>Return</string>\r
+ </property>\r
+ </action>\r
+ <action name="action_Exec">\r
+ <property name="icon">\r
+ <iconset resource="resource.qrc">\r
+ <normaloff>:/images/Play.png</normaloff>:/images/Play.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>Ctrl+Return</string>\r
+ </property>\r
+ </action>\r
+ <action name="view_FromOther">\r
+ <property name="icon">\r
+ <iconset theme="隣のパネルと同じフォルダを表示" resource="resource.qrc">\r
+ <normaloff>:/images/Synchronize.png</normaloff>:/images/Synchronize.png</iconset>\r
+ </property>\r
+ <property name="text">\r
+ <string>隣のパネルと同じフォルダを表示</string>\r
+ </property>\r
+ <property name="shortcut">\r
+ <string>O</string>\r
+ </property>\r
+ </action>\r
+ <action name="view_ToOther">\r
+ <property name="text">\r
+ <string>隣のパネルに同じフォルダを表示</string>\r
+ </property>\r
+ <property name="toolTip">\r
+ <string>隣のパネルに同じフォルダを表示</string>\r
+ </property>\r
+ <property name="shortcut">\r
+ <string>Ctrl+O</string>\r
+ </property>\r
+ </action>\r
+ <action name="mark_Toggle">\r
+ <property name="icon">\r
+ <iconset resource="resource.qrc">\r
+ <normaloff>:/images/Apply.png</normaloff>:/images/Apply.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>Space</string>\r
+ </property>\r
+ </action>\r
+ <action name="mark_All">\r
+ <property name="icon">\r
+ <iconset resource="resource.qrc">\r
+ <normaloff>:/images/Check boxes.png</normaloff>:/images/Check boxes.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>Ctrl+A</string>\r
+ </property>\r
+ </action>\r
+ <action name="mark_AllFiles">\r
+ <property name="text">\r
+ <string>すべてのファイルをマーク</string>\r
+ </property>\r
+ <property name="toolTip">\r
+ <string>すべてのファイルをマーク</string>\r
+ </property>\r
+ <property name="shortcut">\r
+ <string>A</string>\r
+ </property>\r
+ </action>\r
+ <action name="mark_AllOff">\r
+ <property name="text">\r
+ <string>すべてのマークを解除</string>\r
+ </property>\r
+ <property name="toolTip">\r
+ <string>すべてのマークを解除</string>\r
+ </property>\r
+ <property name="shortcut">\r
+ <string>Shift+A</string>\r
+ </property>\r
+ </action>\r
+ <action name="mark_Invert">\r
+ <property name="text">\r
+ <string>マークを反転</string>\r
+ </property>\r
+ <property name="toolTip">\r
+ <string>マークを反転</string>\r
+ </property>\r
+ <property name="shortcut">\r
+ <string>I</string>\r
+ </property>\r
+ </action>\r
+ <action name="view_Swap">\r
+ <property name="icon">\r
+ <iconset resource="resource.qrc">\r
+ <normaloff>:/images/Text replace.png</normaloff>:/images/Text replace.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>W</string>\r
+ </property>\r
+ </action>\r
+ <action name="action_Setting">\r
+ <property name="icon">\r
+ <iconset resource="resource.qrc">\r
+ <normaloff>:/images/Settings.png</normaloff>:/images/Settings.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>Z</string>\r
+ </property>\r
+ </action>\r
+ <action name="view_Hidden">\r
+ <property name="checkable">\r
+ <bool>true</bool>\r
+ </property>\r
+ <property name="icon">\r
+ <iconset resource="resource.qrc">\r
+ <normaloff>:/images/Show.png</normaloff>:/images/Show.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>Ctrl+H</string>\r
+ </property>\r
+ </action>\r
+ <action name="view_Sort">\r
+ <property name="text">\r
+ <string>ソート方法...</string>\r
+ </property>\r
+ <property name="toolTip">\r
+ <string>ソート方法</string>\r
+ </property>\r
+ <property name="shortcut">\r
+ <string>S</string>\r
+ </property>\r
+ </action>\r
+ <action name="move_Down">\r
+ <property name="text">\r
+ <string>カーソルを下に</string>\r
+ </property>\r
+ <property name="toolTip">\r
+ <string>カーソルを下に</string>\r
+ </property>\r
+ <property name="shortcut">\r
+ <string>J</string>\r
+ </property>\r
+ </action>\r
+ <action name="move_Up">\r
+ <property name="text">\r
+ <string>カーソルを上に</string>\r
+ </property>\r
+ <property name="toolTip">\r
+ <string>カーソルを上に</string>\r
+ </property>\r
+ <property name="shortcut">\r
+ <string>K</string>\r
+ </property>\r
+ </action>\r
+ <action name="move_Back">\r
+ <property name="icon">\r
+ <iconset resource="resource.qrc">\r
+ <normaloff>:/images/Back.png</normaloff>:/images/Back.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>Alt+Left</string>\r
+ </property>\r
+ </action>\r
+ <action name="move_Forward">\r
+ <property name="icon">\r
+ <iconset resource="resource.qrc">\r
+ <normaloff>:/images/Forward.png</normaloff>:/images/Forward.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>Alt+Right</string>\r
+ </property>\r
+ </action>\r
+ <action name="move_History">\r
+ <property name="text">\r
+ <string>履歴...</string>\r
+ </property>\r
+ <property name="toolTip">\r
+ <string>履歴</string>\r
+ </property>\r
+ <property name="shortcut">\r
+ <string>H</string>\r
+ </property>\r
+ </action>\r
+ <action name="move_Parent">\r
+ <property name="icon">\r
+ <iconset resource="resource.qrc">\r
+ <normaloff>:/images/Up.png</normaloff>:/images/Up.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>Backspace</string>\r
+ </property>\r
+ </action>\r
+ <action name="move_Root">\r
+ <property name="text">\r
+ <string>ルートフォルダに移動</string>\r
+ </property>\r
+ <property name="toolTip">\r
+ <string>ルートフォルダに移動</string>\r
+ </property>\r
+ <property name="shortcut">\r
+ <string>Ctrl+Backspace</string>\r
+ </property>\r
+ </action>\r
+ <action name="move_Jump">\r
+ <property name="icon">\r
+ <iconset resource="resource.qrc">\r
+ <normaloff>:/images/Folder.png</normaloff>:/images/Folder.png</iconset>\r
+ </property>\r
+ <property name="text">\r
+ <string>フォルダを選択して移動</string>\r
+ </property>\r
+ <property name="toolTip">\r
+ <string>フォルダを選択して移動</string>\r
+ </property>\r
+ </action>\r
+ </widget>\r
+ <layoutdefault spacing="6" margin="11"/>\r
+ <customwidgets>\r
+ <customwidget>\r
+ <class>FolderPanel</class>\r
+ <extends>QWidget</extends>\r
+ <header>folderpanel.h</header>\r
+ <container>1</container>\r
+ </customwidget>\r
+ </customwidgets>\r
+ <resources>\r
+ <include location="resource.qrc"/>\r
+ </resources>\r
+ <connections/>\r
+</ui>\r
--- /dev/null
+<RCC>
+ <qresource prefix="/">
+ <file>images/3d bar chart.png</file>
+ <file>images/3d chart.png</file>
+ <file>images/3d graph.png</file>
+ <file>images/16 colors.png</file>
+ <file>images/256 colors.png</file>
+ <file>images/About.png</file>
+ <file>images/Add.png</file>
+ <file>images/Add folder.png</file>
+ <file>images/Angle.png</file>
+ <file>images/Apply.png</file>
+ <file>images/Arc.png</file>
+ <file>images/Arrow.png</file>
+ <file>images/Attach.png</file>
+ <file>images/Back.png</file>
+ <file>images/Bitmap editor.png</file>
+ <file>images/Brightness.png</file>
+ <file>images/Brush.png</file>
+ <file>images/Camera.png</file>
+ <file>images/Cancel.png</file>
+ <file>images/Chart xy.png</file>
+ <file>images/Check boxes.png</file>
+ <file>images/Circle.png</file>
+ <file>images/Clear.png</file>
+ <file>images/Clipboard.png</file>
+ <file>images/Close.png</file>
+ <file>images/Close file.png</file>
+ <file>images/Close folder.png</file>
+ <file>images/CMYK.png</file>
+ <file>images/Coffe.png</file>
+ <file>images/Coffee.png</file>
+ <file>images/Color.png</file>
+ <file>images/Color balance.png</file>
+ <file>images/Color filter.png</file>
+ <file>images/Color layers.png</file>
+ <file>images/Color palette.png</file>
+ <file>images/Color profile.png</file>
+ <file>images/Color test.png</file>
+ <file>images/Comment.png</file>
+ <file>images/Contrast.png</file>
+ <file>images/Copy.png</file>
+ <file>images/Create.png</file>
+ <file>images/Critical details.png</file>
+ <file>images/Curve.png</file>
+ <file>images/Curve points.png</file>
+ <file>images/Cut.png</file>
+ <file>images/Danger.png</file>
+ <file>images/Decrease time.png</file>
+ <file>images/Delete.png</file>
+ <file>images/Delete frame.png</file>
+ <file>images/Delete frames.png</file>
+ <file>images/Designer.png</file>
+ <file>images/Diagram.png</file>
+ <file>images/Down.png</file>
+ <file>images/Download.png</file>
+ <file>images/Download image.png</file>
+ <file>images/Dropper.png</file>
+ <file>images/Edit.png</file>
+ <file>images/Edit page.png</file>
+ <file>images/Edit text.png</file>
+ <file>images/Ellipse.png</file>
+ <file>images/E-mail.png</file>
+ <file>images/Equipment.png</file>
+ <file>images/Erase.png</file>
+ <file>images/Eraser.png</file>
+ <file>images/Error.png</file>
+ <file>images/Exit.png</file>
+ <file>images/Export.png</file>
+ <file>images/Favourites.png</file>
+ <file>images/Feather.png</file>
+ <file>images/File exetension.png</file>
+ <file>images/Fill.png</file>
+ <file>images/Find.png</file>
+ <file>images/Fine brush.png</file>
+ <file>images/Flip.png</file>
+ <file>images/Flip horizontally.png</file>
+ <file>images/Flip vertically.png</file>
+ <file>images/Flow block.png</file>
+ <file>images/Flower.png</file>
+ <file>images/Folder.png</file>
+ <file>images/Form.png</file>
+ <file>images/Forward.png</file>
+ <file>images/Frames.png</file>
+ <file>images/Funnel.png</file>
+ <file>images/Go down.png</file>
+ <file>images/Go up.png</file>
+ <file>images/Gpadient.png</file>
+ <file>images/Graphic designer.png</file>
+ <file>images/Graphic file.png</file>
+ <file>images/Graphic tools.png</file>
+ <file>images/Grid.png</file>
+ <file>images/Help.png</file>
+ <file>images/Help book.png</file>
+ <file>images/Hexagon.png</file>
+ <file>images/Hide.png</file>
+ <file>images/Hint.png</file>
+ <file>images/Hints.png</file>
+ <file>images/Home.png</file>
+ <file>images/Homepage.png</file>
+ <file>images/HSL.png</file>
+ <file>images/HSV.png</file>
+ <file>images/Ico.png</file>
+ <file>images/Icon wizard.png</file>
+ <file>images/Import.png</file>
+ <file>images/Increase time.png</file>
+ <file>images/Index.png</file>
+ <file>images/Info.png</file>
+ <file>images/Key.png</file>
+ <file>images/Knife.png</file>
+ <file>images/LAB color model.png</file>
+ <file>images/Layers.png</file>
+ <file>images/Left.png</file>
+ <file>images/Left-right.png</file>
+ <file>images/Line.png</file>
+ <file>images/List.png</file>
+ <file>images/Lock.png</file>
+ <file>images/Lock color.png</file>
+ <file>images/Lock transparency.png</file>
+ <file>images/Magic hat.png</file>
+ <file>images/Measure.png</file>
+ <file>images/Microsoft flag.png</file>
+ <file>images/Monitor.png</file>
+ <file>images/Monitors.png</file>
+ <file>images/Mouse.png</file>
+ <file>images/Mouse pointer.png</file>
+ <file>images/Move.png</file>
+ <file>images/Movie.png</file>
+ <file>images/New clip art.png</file>
+ <file>images/New file.png</file>
+ <file>images/New frame.png</file>
+ <file>images/New frame1.png</file>
+ <file>images/New image.png</file>
+ <file>images/New imagelist.png</file>
+ <file>images/New video.png</file>
+ <file>images/No.png</file>
+ <file>images/Objects.png</file>
+ <file>images/Ok.png</file>
+ <file>images/Open.png</file>
+ <file>images/Open colors.png</file>
+ <file>images/Open file.png</file>
+ <file>images/Open v2.png</file>
+ <file>images/Paint over pixels.png</file>
+ <file>images/Painter.png</file>
+ <file>images/Pantone.png</file>
+ <file>images/Paste.png</file>
+ <file>images/Pen.png</file>
+ <file>images/Pencil.png</file>
+ <file>images/Pick color.png</file>
+ <file>images/Picture.png</file>
+ <file>images/Pie chart.png</file>
+ <file>images/Pin.png</file>
+ <file>images/Pinion.png</file>
+ <file>images/Pixel editor.png</file>
+ <file>images/Pixels.png</file>
+ <file>images/Play.png</file>
+ <file>images/Preview.png</file>
+ <file>images/Print.png</file>
+ <file>images/Problem.png</file>
+ <file>images/Properties.png</file>
+ <file>images/Red book.png</file>
+ <file>images/Red eye removing.png</file>
+ <file>images/Redo.png</file>
+ <file>images/Refresh.png</file>
+ <file>images/Registration.png</file>
+ <file>images/Registry.png</file>
+ <file>images/Rename.png</file>
+ <file>images/Replace pixels.png</file>
+ <file>images/Resize image.png</file>
+ <file>images/Restangle.png</file>
+ <file>images/Revert.png</file>
+ <file>images/RGB.png</file>
+ <file>images/Right.png</file>
+ <file>images/Rotate CCW.png</file>
+ <file>images/Rotate CW.png</file>
+ <file>images/Rotate left.png</file>
+ <file>images/Rotate right.png</file>
+ <file>images/Rotation.png</file>
+ <file>images/Rounded rectangle.png</file>
+ <file>images/Save.png</file>
+ <file>images/Save as.png</file>
+ <file>images/Save color.png</file>
+ <file>images/Save data.png</file>
+ <file>images/Save image.png</file>
+ <file>images/Save picture.png</file>
+ <file>images/Scan film.png</file>
+ <file>images/Scan image.png</file>
+ <file>images/Scanner.png</file>
+ <file>images/Scenario.png</file>
+ <file>images/Script.png</file>
+ <file>images/Search.png</file>
+ <file>images/Search computer.png</file>
+ <file>images/Search folder.png</file>
+ <file>images/Search online.png</file>
+ <file>images/Search text.png</file>
+ <file>images/Select gpadient.png</file>
+ <file>images/Selection.png</file>
+ <file>images/Settings.png</file>
+ <file>images/Sharpness.png</file>
+ <file>images/Show.png</file>
+ <file>images/Sizes.png</file>
+ <file>images/Smooth.png</file>
+ <file>images/Smooth line.png</file>
+ <file>images/Spell checking.png</file>
+ <file>images/Spiral.png</file>
+ <file>images/Spray.png</file>
+ <file>images/Square.png</file>
+ <file>images/Stop.png</file>
+ <file>images/Stop playing.png</file>
+ <file>images/Synchronize.png</file>
+ <file>images/Tag.png</file>
+ <file>images/Target.png</file>
+ <file>images/Target1.png</file>
+ <file>images/Test line.png</file>
+ <file>images/Text color.png</file>
+ <file>images/Text replace.png</file>
+ <file>images/Text tool.png</file>
+ <file>images/Time.png</file>
+ <file>images/Tip of the day.png</file>
+ <file>images/To do list.png</file>
+ <file>images/Tools.png</file>
+ <file>images/Touch.png</file>
+ <file>images/Transparency.png</file>
+ <file>images/Transparent background.png</file>
+ <file>images/Transparent color.png</file>
+ <file>images/Triangle.png</file>
+ <file>images/True color.png</file>
+ <file>images/Undo.png</file>
+ <file>images/Units.png</file>
+ <file>images/Unlock.png</file>
+ <file>images/Up.png</file>
+ <file>images/Up-down.png</file>
+ <file>images/Upload image.png</file>
+ <file>images/Wait.png</file>
+ <file>images/Warning.png</file>
+ <file>images/Web designer.png</file>
+ <file>images/Webcam.png</file>
+ <file>images/Wide brush.png</file>
+ <file>images/Wizard.png</file>
+ <file>images/Work area.png</file>
+ <file>images/Writing pencil.png</file>
+ <file>images/Wrong.png</file>
+ <file>images/Yes.png</file>
+ <file>images/YUV color space.png</file>
+ <file>images/Zoom.png</file>
+ <file>images/Zoom auto.png</file>
+ <file>images/Zoom in.png</file>
+ <file>images/Zoom out.png</file>
+ </qresource>
+</RCC>