From: Masayuki Satoh Date: Wed, 24 Sep 2014 11:49:29 +0000 (+0900) Subject: Ver0.25 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=80becee10c2827b7c8132cf10ba97b0b96445949;p=gefu%2FGefu.git Ver0.25 --- diff --git a/README.md b/README.md index 8ec7e45..349b5e6 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ Gefu Gefu is an Experimental File Utility. -#### 2014/09/22 Ver0.25 +#### 2014/09/24 Ver0.25 * 内蔵ビューアでのファイル読み込みを別スレッド化しました。 * 内蔵バイナリビューアを実装しました。 * 内蔵イメージビューアを自前描画に変更しました。 diff --git a/ReadMe.txt b/ReadMe.txt index 99493af..a783c83 100644 --- a/ReadMe.txt +++ b/ReadMe.txt @@ -2,7 +2,7 @@ Gefu(げふぅ) - Gefu is an Experimental File Utility - Version 0.25 =============================================================================== - 2014/09/22 @miyabi_satoh + 2014/09/24 @miyabi_satoh ◇ 概要 ◇ @@ -102,7 +102,7 @@ Twitter: https://twitter.com/miyabi_satoh ◇ 履歴 ◇ -#### 2014/09/22 Ver0.25 +#### 2014/09/24 Ver0.25 * 内蔵ビューアでのファイル読み込みを別スレッド化しました。 * 内蔵バイナリビューアを実装しました。 * 内蔵イメージビューアを自前描画に変更しました。 diff --git a/copymoveworker.h b/copymoveworker.h index 2655249..197c321 100644 --- a/copymoveworker.h +++ b/copymoveworker.h @@ -4,8 +4,6 @@ #include "operationworker.h" #include "global.h" -#include - class CopyMoveWorker : public OperationWorker { Q_OBJECT diff --git a/mainwindow.cpp b/mainwindow.cpp index 82a3d67..7854fb9 100644 --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -60,16 +60,6 @@ MainWindow::MainWindow(QWidget *parent) : qApp->setOrganizationName("gefu"); qApp->setWindowIcon(QIcon("://images/file-manager.png")); - // 古い設定ファイルを削除する -#ifdef Q_OS_MAC - QSettings::setDefaultFormat(QSettings::IniFormat); - QSettings settings(this); - if (QFileInfo::exists(settings.fileName())) { - QFile(settings.fileName()).remove(); - QDir().rmdir(QFileInfo(settings.fileName()).absolutePath()); - } -#endif - // 設定の初期化 Preferences prefs(this); if (prefs.isReset()) { diff --git a/mainwindow.h b/mainwindow.h index 223a8fd..2c1de9e 100644 --- a/mainwindow.h +++ b/mainwindow.h @@ -8,7 +8,6 @@ #include #include #include - class FolderView; class FolderModel; class Panel; @@ -17,9 +16,6 @@ namespace Ui { class MainWindow; } -/////////////////////////////////////////////////////////////////////////////// -/// \brief The MainWindow class -/// class MainWindow : public QMainWindow { Q_OBJECT diff --git a/operationdialog.cpp b/operationdialog.cpp index 8cf46c1..7a234dc 100644 --- a/operationdialog.cpp +++ b/operationdialog.cpp @@ -2,6 +2,12 @@ #include "operationdialog.h" #include "ui_operationdialog.h" +/////////////////////////////////////////////////////////////////////////////// +/// \brief OperationDialog::OperationDialog +/// \param parent 親ウィジェット +/// +/// コンストラクタ +/// OperationDialog::OperationDialog(QWidget *parent) : QDialog(parent), ui(new Ui::OperationDialog), @@ -13,37 +19,74 @@ OperationDialog::OperationDialog(QWidget *parent) : resize(parent->width() * 0.8, height()); } +/////////////////////////////////////////////////////////////////////////////// +/// \brief OperationDialog::~OperationDialog +/// +/// デストラクタ +/// OperationDialog::~OperationDialog() { delete ui; } +/////////////////////////////////////////////////////////////////////////////// +/// \brief OperationDialog::setAutoClose +/// \param yes 処理完了時に自動で閉じる場合はtrue +/// void OperationDialog::setAutoClose(bool yes) { ui->chkAutoClose->setChecked(yes); } +/////////////////////////////////////////////////////////////////////////////// +/// \brief OperationDialog::autoClose +/// \return 処理完了時に自動で閉じる場合はtrue +/// bool OperationDialog::autoClose() const { return ui->chkAutoClose->isChecked(); } +/////////////////////////////////////////////////////////////////////////////// +/// \brief OperationDialog::onProgress +/// \param msg 表示するメッセージ +/// +/// 処理経過メッセージを表示します。 +/// void OperationDialog::onProgress(const QString &msg) { ui->textEdit->append(msg + " ... "); } +/////////////////////////////////////////////////////////////////////////////// +/// \brief OperationDialog::onSuccess +/// \param msg 表示するメッセージ +/// +/// 処理成功メッセージを表示します。 +/// void OperationDialog::onSuccess(const QString &msg) { ui->textEdit->append("" + msg + ""); } +/////////////////////////////////////////////////////////////////////////////// +/// \brief OperationDialog::onError +/// \param msg 表示するメッセージ +/// +/// エラーメッセージを表示します。 +/// void OperationDialog::onError(const QString &msg) { m_Error = true; ui->textEdit->append("" + msg + ""); } +/////////////////////////////////////////////////////////////////////////////// +/// \brief OperationDialog::onFinished +/// \param abort 中断した場合はtrue +/// +/// 処理終了時の処理を行います。 +/// void OperationDialog::onFinished(bool abort) { ui->progressBar->setMaximum(1); @@ -62,6 +105,11 @@ void OperationDialog::onFinished(bool abort) } } +/////////////////////////////////////////////////////////////////////////////// +/// \brief OperationDialog::on_btnCloseCancel_clicked +/// +/// 「閉じる」または「キャンセル」ボタンクリック時の処理を行います。 +/// void OperationDialog::on_btnCloseCancel_clicked() { if (ui->btnCloseCancel->text() == tr("閉じる")) { @@ -72,6 +120,11 @@ void OperationDialog::on_btnCloseCancel_clicked() } } +/////////////////////////////////////////////////////////////////////////////// +/// \brief OperationDialog::on_btnShowDetail_clicked +/// +/// 詳細表示/非表示の処理を行います。 +/// void OperationDialog::on_btnShowDetail_clicked() { if (ui->textEdit->isVisible()) { @@ -84,6 +137,12 @@ void OperationDialog::on_btnShowDetail_clicked() } } +/////////////////////////////////////////////////////////////////////////////// +/// \brief OperationDialog::exec +/// \return ダイアログ処理の結果を返します。 +/// +/// ダイアログを表示します。 +/// int OperationDialog::exec() { connect(m_worker, SIGNAL(finished(bool)), this, SLOT(onFinished(bool))); diff --git a/overwritedialog.cpp b/overwritedialog.cpp index 9aa56c1..8730f87 100644 --- a/overwritedialog.cpp +++ b/overwritedialog.cpp @@ -6,6 +6,12 @@ #include #include +/////////////////////////////////////////////////////////////////////////////// +/// \brief OverWriteDialog::OverWriteDialog +/// \param parent 親ウィジェット +/// +/// コンストラクタ +/// OverWriteDialog::OverWriteDialog(QWidget *parent) : QDialog(parent), ui(new Ui::OverWriteDialog), @@ -24,11 +30,21 @@ OverWriteDialog::OverWriteDialog(QWidget *parent) : connect(ui->rbSkip, SIGNAL(clicked()), this, SLOT(onRenameOrElse())); } +/////////////////////////////////////////////////////////////////////////////// +/// \brief OverWriteDialog::~OverWriteDialog +/// +/// デストラクタ +/// OverWriteDialog::~OverWriteDialog() { delete ui; } +/////////////////////////////////////////////////////////////////////////////// +/// \brief OverWriteDialog::reset +/// +/// 設定を初期化します。 +/// void OverWriteDialog::reset() { QString method = Preferences(this).getCopyBehavior(); @@ -44,6 +60,13 @@ void OverWriteDialog::reset() ui->keepSetting->setChecked(false); } +/////////////////////////////////////////////////////////////////////////////// +/// \brief OverWriteDialog::setFileInfo +/// \param srcPath ソースパス +/// \param tgtPath ターゲットパス +/// +/// ソース・ターゲットの情報を設定します。 +/// void OverWriteDialog::setFileInfo(const QString srcPath, const QString tgtPath) { QFileInfo srcInfo(srcPath); @@ -82,21 +105,38 @@ void OverWriteDialog::setFileInfo(const QString srcPath, const QString tgtPath) ui->tableWidget->setItem(1, 2, iTgtDate); } +/////////////////////////////////////////////////////////////////////////////// +/// \brief OverWriteDialog::copyMethod +/// \return 選択されているコピー方法を返します。 +/// QString OverWriteDialog::copyMethod() const { return ui->method->checkedButton()->objectName(); } +/////////////////////////////////////////////////////////////////////////////// +/// \brief OverWriteDialog::isKeepSetting +/// \return 同じ処理を行うかのチェック状態を返します。 +/// bool OverWriteDialog::isKeepSetting() const { return ui->keepSetting->isChecked(); } +/////////////////////////////////////////////////////////////////////////////// +/// \brief OverWriteDialog::alias +/// \return 別名を返します。 +/// const QString OverWriteDialog::alias() const { return ui->lineEdit->text(); } +/////////////////////////////////////////////////////////////////////////////// +/// \brief OverWriteDialog::onRenameOrElse +/// +/// 別名の活性・非活性を切り替えます。 +/// void OverWriteDialog::onRenameOrElse() { if (ui->rbRename->isChecked()) { @@ -107,6 +147,11 @@ void OverWriteDialog::onRenameOrElse() } } +/////////////////////////////////////////////////////////////////////////////// +/// \brief OverWriteDialog::accept +/// +/// OKボタンクリック時の処理を行います。 +/// void OverWriteDialog::accept() { if (ui->rbRename->isChecked()) { diff --git a/preferencedialog.cpp b/preferencedialog.cpp index 58fea0d..a959cc7 100644 --- a/preferencedialog.cpp +++ b/preferencedialog.cpp @@ -11,6 +11,12 @@ #include #include +/////////////////////////////////////////////////////////////////////////////// +/// \brief PreferenceDialog::PreferenceDialog +/// \param parent 親ウィジェット +/// +/// コンストラクタ +/// PreferenceDialog::PreferenceDialog(QWidget *parent) : QDialog(parent), ui(new Ui::PreferenceDialog) @@ -108,11 +114,22 @@ PreferenceDialog::PreferenceDialog(QWidget *parent) : ui->archiverPath->setText(prefs.getArchiverPath()); } +/////////////////////////////////////////////////////////////////////////////// +/// \brief PreferenceDialog::~PreferenceDialog +/// +/// デストラクタ +/// PreferenceDialog::~PreferenceDialog() { delete ui; } +/////////////////////////////////////////////////////////////////////////////// +/// \brief PreferenceDialog::loadAppearance +/// \param prefs プリファレンスオブジェクト +/// +/// 外観(色)設定を読み込みます。 +/// void PreferenceDialog::loadAppearance(Preferences &prefs) { setPalette(ui->fvNormalSample, QPalette::Base, prefs.getFolderViewBgColor()); @@ -151,6 +168,12 @@ void PreferenceDialog::loadAppearance(Preferences &prefs) ui->darkFactor->setValue(prefs.getDarkFacotr()); } +/////////////////////////////////////////////////////////////////////////////// +/// \brief PreferenceDialog::saveAppearance +/// \param prefs プリファレンスオブジェクト +/// +/// 外観(色)設定を保存します。 +/// void PreferenceDialog::saveAppearance(Preferences &prefs) { prefs.setFolderViewBgColor(ui->fvNormalSample->palette().base().color()); @@ -184,12 +207,27 @@ void PreferenceDialog::saveAppearance(Preferences &prefs) prefs.setDarkFacotr(ui->darkFactor->value()); } +/////////////////////////////////////////////////////////////////////////////// +/// \brief PreferenceDialog::setFont +/// \param label ラベルオブジェクト +/// \param font フォントオブジェクト +/// +/// ラベルにフォントを設定します。 +/// void PreferenceDialog::setFont(QLabel *label, const QFont &font) { label->setFont(font); label->setText(QString("%1, %2pt").arg(font.family()).arg(font.pointSize())); } +/////////////////////////////////////////////////////////////////////////////// +/// \brief PreferenceDialog::setPalette +/// \param w ウィジェット +/// \param role ロール +/// \param color 色 +/// +/// パレットに色を設定します。 +/// void PreferenceDialog::setPalette(QWidget *w, QPalette::ColorRole role, const QColor &color) { QPalette pal = w->palette(); @@ -197,6 +235,11 @@ void PreferenceDialog::setPalette(QWidget *w, QPalette::ColorRole role, const QC w->setPalette(pal); } +/////////////////////////////////////////////////////////////////////////////// +/// \brief PreferenceDialog::chooseColor +/// +/// 色選択ダイアログを表示します。 +/// void PreferenceDialog::chooseColor() { QColor color; @@ -351,6 +394,11 @@ void PreferenceDialog::chooseColor() } } +/////////////////////////////////////////////////////////////////////////////// +/// \brief PreferenceDialog::chooseFont +/// +/// フォント選択ダイアログを表示します。 +/// void PreferenceDialog::chooseFont() { QFont font; @@ -404,6 +452,11 @@ void PreferenceDialog::chooseFont() } } +/////////////////////////////////////////////////////////////////////////////// +/// \brief PreferenceDialog::choosePath +/// +/// プログラム選択ダイアログを表示します。 +/// void PreferenceDialog::choosePath() { QStringList list = QStandardPaths::standardLocations( @@ -440,6 +493,11 @@ void PreferenceDialog::choosePath() } } +/////////////////////////////////////////////////////////////////////////////// +/// \brief PreferenceDialog::exportAppearance +/// +/// 「エクスポート」ボタンクリック時の処理を行います。 +/// void PreferenceDialog::exportAppearance() { QStringList list = QStandardPaths::standardLocations( @@ -455,6 +513,11 @@ void PreferenceDialog::exportAppearance() saveAppearance(prefs); } +/////////////////////////////////////////////////////////////////////////////// +/// \brief PreferenceDialog::importAppearance +/// +/// 「インポート」ボタンクリック時の処理を行います。 +/// void PreferenceDialog::importAppearance() { QStringList list = QStandardPaths::standardLocations( @@ -470,6 +533,11 @@ void PreferenceDialog::importAppearance() loadAppearance(prefs); } +/////////////////////////////////////////////////////////////////////////////// +/// \brief PreferenceDialog::accept +/// +/// OKボタンクリック時の処理を行います。 +/// void PreferenceDialog::accept() { Preferences prefs(this); @@ -515,10 +583,15 @@ void PreferenceDialog::accept() QDialog::accept(); } +/////////////////////////////////////////////////////////////////////////////// +/// \brief PreferenceDialog::eventFilter +/// \param obj イベントが発生したオブジェクト +/// \param event イベントオブジェクト +/// \return イベントを処理した場合はtrueを返します。 +/// bool PreferenceDialog::eventFilter(QObject *obj, QEvent *event) { if (event->type() == QEvent::Paint) { -// QPaintEvent *e = static_cast(event); QLineEdit *edit = static_cast(obj); QPainter painter(edit); diff --git a/preferences.cpp b/preferences.cpp index f315c5a..041d93d 100644 --- a/preferences.cpp +++ b/preferences.cpp @@ -6,6 +6,10 @@ #include #include +/////////////////////////////////////////////////////////////////////////////// +/// \brief DefaultPreferExtensions +/// \return 外部アプリを優先する拡張子のデフォルトを返します。 +/// QString DefaultPreferExtensions() { QStringList list; @@ -31,6 +35,10 @@ QString DefaultPreferExtensions() return list.join(","); } +/////////////////////////////////////////////////////////////////////////////// +/// \brief DefaultFixedFont +/// \return デフォルトの固定幅フォントを返します。 +/// QFont DefaultFixedFont() { QFont font = qApp->font(); @@ -43,6 +51,12 @@ QFont DefaultFixedFont() return font; } +/////////////////////////////////////////////////////////////////////////////// +/// \brief Preferences::Preferences +/// \param parent 親オブジェクト +/// +/// コンストラクタ +/// Preferences::Preferences(QObject *parent) : QSettings(QSettings::IniFormat, QSettings::UserScope, @@ -52,6 +66,13 @@ Preferences::Preferences(QObject *parent) : { } +/////////////////////////////////////////////////////////////////////////////// +/// \brief Preferences::Preferences +/// \param path 設定ファイルのパス +/// \param parent 親オブジェクト +/// +/// コンストラクタ +/// Preferences::Preferences(const QString &path, QObject *parent) : QSettings(path, QSettings::IniFormat, parent) { @@ -61,6 +82,13 @@ Preferences::Preferences(const QString &path, QObject *parent) : #define Key_NameFilter(side) (side + "/NameFilter") #define Key_Sort(side) (side + "/Sort") #define Key_Path(side) (side + "/Path") +/////////////////////////////////////////////////////////////////////////////// +/// \brief Preferences::restoreModel +/// \param side "Left" or "Right" +/// \param m フォルダモデルオブジェクト +/// +/// モデルの状態を復元します。 +/// void Preferences::restoreModel(const QString &side, FolderModel *m) { qDebug() << "Preferences::restoreModel()" << side; @@ -81,6 +109,13 @@ void Preferences::restoreModel(const QString &side, FolderModel *m) m->setRootPath(path); } +/////////////////////////////////////////////////////////////////////////////// +/// \brief Preferences::saveModel +/// \param side "Left" or "Right" +/// \param m フォルダモデルオブジェクト +/// +/// モデルの状態を保存します。 +/// void Preferences::saveModel(const QString &side, const FolderModel *m) { qDebug() << "Preferences::saveModel()" << side; @@ -92,6 +127,12 @@ void Preferences::saveModel(const QString &side, const FolderModel *m) #define Key_WindowGeometry "WindowGeometry" #define Key_WindowState "WindowState" +/////////////////////////////////////////////////////////////////////////////// +/// \brief Preferences::restoreWindow +/// \param w メインウィンドウオブジェクト +/// +/// メインウィンドウの状態を復元します。 +/// void Preferences::restoreWindow(QMainWindow *w) { qDebug() << "Preferences::restoreWindow()"; @@ -114,15 +155,27 @@ void Preferences::restoreWindow(QMainWindow *w) } } +/////////////////////////////////////////////////////////////////////////////// +/// \brief Preferences::saveWindow +/// \param w メインウィンドウオブジェクト +/// +/// メインウィンドウの状態を保存します。 +/// void Preferences::saveWindow(const QMainWindow *w) { setValue(Key_WindowGeometry, w->saveGeometry()); setValue(Key_WindowState, w->saveState()); } -/////////////////////////////////////////////////////////////////////////////// #define Key_BookmarkEntry(i) QString("Bookmark/Entry%1").arg(i) #define Key_BookmarkPath(i) QString("Bookmark/Path%1").arg(i) +/////////////////////////////////////////////////////////////////////////////// +/// \brief Preferences::addBookmark +/// \param name 名前 +/// \param path パス +/// +/// ブックマークを追加します。 +/// void Preferences::addBookmark(const QString &name, const QString &path) { int n; @@ -133,6 +186,11 @@ void Preferences::addBookmark(const QString &name, const QString &path) setValue(Key_BookmarkPath(n), path); } +/////////////////////////////////////////////////////////////////////////////// +/// \brief Preferences::clearBookmark +/// +/// ブックマークをクリアします。 +/// void Preferences::clearBookmark() { beginGroup("Bookmark"); @@ -140,16 +198,31 @@ void Preferences::clearBookmark() endGroup(); } +/////////////////////////////////////////////////////////////////////////////// +/// \brief Preferences::getBookmarkEntry +/// \param n 番号 +/// \return n番目のブックマーク名を取得します。 +/// QString Preferences::getBookmarkEntry(int n) const { return value(Key_BookmarkEntry(n)).toString(); } +/////////////////////////////////////////////////////////////////////////////// +/// \brief Preferences::getBookmarkPath +/// \param n 番号 +/// \return n番目のブックマークパスを取得します。 +/// QString Preferences::getBookmarkPath(int n) const { return value(Key_BookmarkPath(n)).toString(); } +/////////////////////////////////////////////////////////////////////////////// +/// \brief Preferences::folderViewFgColor +/// \param active アクティブならtrue +/// \return フォルダービューの文字色を返します。 +/// QColor Preferences::folderViewFgColor(bool active) const { int darkFactor = 100; @@ -159,6 +232,11 @@ QColor Preferences::folderViewFgColor(bool active) const return getFolderViewFgColor().darker(darkFactor); } +/////////////////////////////////////////////////////////////////////////////// +/// \brief Preferences::folderViewBgColor +/// \param active アクティブならtrue +/// \return フォルダービューの背景色を返します。 +/// QColor Preferences::folderViewBgColor(bool active) const { int darkFactor = 100; @@ -168,6 +246,11 @@ QColor Preferences::folderViewBgColor(bool active) const return getFolderViewBgColor().darker(darkFactor); } +/////////////////////////////////////////////////////////////////////////////// +/// \brief Preferences::folderViewMarkedFgColor +/// \param active アクティブならtrue +/// \return フォルダービューのマーク文字色を返します。 +/// QColor Preferences::folderViewMarkedFgColor(bool active) const { int darkFactor = 100; @@ -177,6 +260,11 @@ QColor Preferences::folderViewMarkedFgColor(bool active) const return getFolderViewMarkedFgColor().darker(darkFactor); } +/////////////////////////////////////////////////////////////////////////////// +/// \brief Preferences::folderViewMarkedBgColor +/// \param active アクティブならtrue +/// \return フォルダービューのマーク背景色を返します。 +/// QColor Preferences::folderViewMarkedBgColor(bool active) const { int darkFactor = 100; @@ -186,6 +274,11 @@ QColor Preferences::folderViewMarkedBgColor(bool active) const return getFolderViewMarkedBgColor().darker(darkFactor); } +/////////////////////////////////////////////////////////////////////////////// +/// \brief Preferences::folderViewSystemColor +/// \param active アクティブならtrue +/// \return システム属性の文字色を返します。 +/// QColor Preferences::folderViewSystemColor(bool active) const { int darkFactor = 100; @@ -195,6 +288,11 @@ QColor Preferences::folderViewSystemColor(bool active) const return getFolderViewSystemColor().darker(darkFactor); } +/////////////////////////////////////////////////////////////////////////////// +/// \brief Preferences::folderViewHiddenColor +/// \param active アクティブならtrue +/// \return 隠し属性の文字色を返します。 +/// QColor Preferences::folderViewHiddenColor(bool active) const { int darkFactor = 100; @@ -204,6 +302,11 @@ QColor Preferences::folderViewHiddenColor(bool active) const return getFolderViewHiddenColor().darker(darkFactor); } +/////////////////////////////////////////////////////////////////////////////// +/// \brief Preferences::folderViewReadOnlyColor +/// \param active アクティブならtrue +/// \return 読取専用属性の文字色を返します。 +/// QColor Preferences::folderViewReadOnlyColor(bool active) const { int darkFactor = 100; @@ -213,6 +316,11 @@ QColor Preferences::folderViewReadOnlyColor(bool active) const return getFolderViewReadOnlyColor().darker(darkFactor); } +/////////////////////////////////////////////////////////////////////////////// +/// \brief Preferences::locationBoxFgColor +/// \param active アクティブならtrue +/// \return ロケーションボックスの文字色を返します。 +/// QColor Preferences::locationBoxFgColor(bool active) const { int darkFactor = 100; @@ -222,6 +330,11 @@ QColor Preferences::locationBoxFgColor(bool active) const return getLocationBoxFgColor().darker(darkFactor); } +/////////////////////////////////////////////////////////////////////////////// +/// \brief Preferences::locationBoxBgColor +/// \param active アクティブならtrue +/// \return ロケーションボックスの背景色を返します。 +/// QColor Preferences::locationBoxBgColor(bool active) const { int darkFactor = 100; diff --git a/renamemultidialog.cpp b/renamemultidialog.cpp index e3c946e..7156a9e 100644 --- a/renamemultidialog.cpp +++ b/renamemultidialog.cpp @@ -1,8 +1,15 @@ #include "renamemultidialog.h" #include "ui_renamemultidialog.h" + #include #include +/////////////////////////////////////////////////////////////////////////////// +/// \brief RenameMultiDialog::RenameMultiDialog +/// \param parent 親ウィジェット +/// +/// コンストラクタ +/// RenameMultiDialog::RenameMultiDialog(QWidget *parent) : AbstractRenameDialog(parent), ui(new Ui::RenameMultiDialog) @@ -18,11 +25,22 @@ RenameMultiDialog::RenameMultiDialog(QWidget *parent) : ui->tableWidget->horizontalHeader()->setStretchLastSection(true); } +/////////////////////////////////////////////////////////////////////////////// +/// \brief RenameMultiDialog::~RenameMultiDialog +/// +/// デストラクタ +/// RenameMultiDialog::~RenameMultiDialog() { delete ui; } +/////////////////////////////////////////////////////////////////////////////// +/// \brief RenameMultiDialog::setNames +/// \param names ファイルインフォリスト +/// +/// 変更前後のファイル名を設定します。 +/// void RenameMultiDialog::setNames(const QFileInfoList &names) { foreach (const QFileInfo &info, names) { @@ -41,6 +59,11 @@ void RenameMultiDialog::setNames(const QFileInfoList &names) ui->tableWidget->resizeRowsToContents(); } +/////////////////////////////////////////////////////////////////////////////// +/// \brief RenameMultiDialog::on_btn_UpperAll_clicked +/// +/// ファイル名全体を大文字にします。 +/// void RenameMultiDialog::on_btn_UpperAll_clicked() { for (int n = 0; n < ui->tableWidget->rowCount(); n++) { @@ -49,6 +72,11 @@ void RenameMultiDialog::on_btn_UpperAll_clicked() } } +/////////////////////////////////////////////////////////////////////////////// +/// \brief RenameMultiDialog::on_btn_LowerAll_clicked +/// +/// ファイル名全体を小文字にします。 +/// void RenameMultiDialog::on_btn_LowerAll_clicked() { for (int n = 0; n < ui->tableWidget->rowCount(); n++) { @@ -57,6 +85,11 @@ void RenameMultiDialog::on_btn_LowerAll_clicked() } } +/////////////////////////////////////////////////////////////////////////////// +/// \brief RenameMultiDialog::on_btn_UpperExt_clicked +/// +/// 拡張子を大文字にします。 +/// void RenameMultiDialog::on_btn_UpperExt_clicked() { for (int n = 0; n < ui->tableWidget->rowCount(); n++) { @@ -67,6 +100,11 @@ void RenameMultiDialog::on_btn_UpperExt_clicked() } } +/////////////////////////////////////////////////////////////////////////////// +/// \brief RenameMultiDialog::on_btn_LowerExt_clicked +/// +/// 拡張子を小文字にします。 +/// void RenameMultiDialog::on_btn_LowerExt_clicked() { for (int n = 0; n < ui->tableWidget->rowCount(); n++) { @@ -77,6 +115,11 @@ void RenameMultiDialog::on_btn_LowerExt_clicked() } } +/////////////////////////////////////////////////////////////////////////////// +/// \brief RenameMultiDialog::on_replaceExec_clicked +/// +/// 置換・挿入を実行します。 +/// void RenameMultiDialog::on_replaceExec_clicked() { for (int n = 0; n < ui->tableWidget->rowCount(); n++) { @@ -97,6 +140,11 @@ void RenameMultiDialog::on_replaceExec_clicked() } } +/////////////////////////////////////////////////////////////////////////////// +/// \brief RenameMultiDialog::on_numberExec_clicked +/// +/// 連番処理を実行します。 +/// void RenameMultiDialog::on_numberExec_clicked() { bool bOk; @@ -131,6 +179,12 @@ void RenameMultiDialog::on_numberExec_clicked() } } +/////////////////////////////////////////////////////////////////////////////// +/// \brief RenameMultiDialog::on_buttonBox_clicked +/// \param button 押されたボタン +/// +/// リセットボタンクリック時の処理を行います。 +/// void RenameMultiDialog::on_buttonBox_clicked(QAbstractButton *button) { if (button->text() == tr("Reset")) { @@ -141,6 +195,11 @@ void RenameMultiDialog::on_buttonBox_clicked(QAbstractButton *button) } } +/////////////////////////////////////////////////////////////////////////////// +/// \brief RenameMultiDialog::accept +/// +/// OKボタンクリック時の処理を行います。 +/// void RenameMultiDialog::accept() { // 未入力チェック @@ -166,4 +225,3 @@ void RenameMultiDialog::accept() AbstractRenameDialog::accept(); } - diff --git a/renamesingledialog.cpp b/renamesingledialog.cpp index e658d36..f456f68 100644 --- a/renamesingledialog.cpp +++ b/renamesingledialog.cpp @@ -2,6 +2,12 @@ #include "ui_renamesingledialog.h" #include +/////////////////////////////////////////////////////////////////////////////// +/// \brief RenameSingleDialog::RenameSingleDialog +/// \param parent 親ウィジェット +/// +/// コンストラクタ +/// RenameSingleDialog::RenameSingleDialog(QWidget *parent) : AbstractRenameDialog(parent), ui(new Ui::RenameSingleDialog) @@ -11,39 +17,75 @@ RenameSingleDialog::RenameSingleDialog(QWidget *parent) : ui->nameAfter->setFocus(); } +/////////////////////////////////////////////////////////////////////////////// +/// \brief RenameSingleDialog::~RenameSingleDialog +/// +/// デストラクタ +/// RenameSingleDialog::~RenameSingleDialog() { delete ui; } +/////////////////////////////////////////////////////////////////////////////// +/// \brief RenameSingleDialog::setNames +/// \param names ファイルインフォリスト +/// +/// 変更前後の名前を設定します。 +/// void RenameSingleDialog::setNames(const QFileInfoList &names) { ui->nameBefore->setText(names[0].fileName()); ui->nameAfter->setText(names[0].fileName()); } +/////////////////////////////////////////////////////////////////////////////// +/// \brief RenameSingleDialog::on_btn_UpperAll_clicked +/// +/// ファイル名全体を大文字にします。 +/// void RenameSingleDialog::on_btn_UpperAll_clicked() { ui->nameAfter->setText(ui->nameAfter->text().toUpper()); } +/////////////////////////////////////////////////////////////////////////////// +/// \brief RenameSingleDialog::on_btn_LowerAll_clicked +/// +/// ファイル名全体を小文字にします。 +/// void RenameSingleDialog::on_btn_LowerAll_clicked() { ui->nameAfter->setText(ui->nameAfter->text().toLower()); } +/////////////////////////////////////////////////////////////////////////////// +/// \brief RenameSingleDialog::on_btn_UpperExt_clicked +/// +/// 拡張子を大文字にします。 +/// void RenameSingleDialog::on_btn_UpperExt_clicked() { QFileInfo info(m_dir.absoluteFilePath(ui->nameAfter->text())); ui->nameAfter->setText(info.completeBaseName() + "." + info.suffix().toUpper()); } +/////////////////////////////////////////////////////////////////////////////// +/// \brief RenameSingleDialog::on_btn_LowerExt_clicked +/// +/// 拡張子を小文字にします。 +/// void RenameSingleDialog::on_btn_LowerExt_clicked() { QFileInfo info(m_dir.absoluteFilePath(ui->nameAfter->text())); ui->nameAfter->setText(info.completeBaseName() + "." + info.suffix().toLower()); } +/////////////////////////////////////////////////////////////////////////////// +/// \brief RenameSingleDialog::accept +/// +/// OKボタンクリック時の処理を行います。 +/// void RenameSingleDialog::accept() { if (ui->nameAfter->text() != ui->nameBefore->text()) { diff --git a/renameworker.cpp b/renameworker.cpp index f36e987..142d826 100644 --- a/renameworker.cpp +++ b/renameworker.cpp @@ -6,12 +6,22 @@ const int SLEEP_TIME = 1; +/////////////////////////////////////////////////////////////////////////////// +/// \brief RenameWorker::RenameWorker +/// +/// コンストラクタ +/// RenameWorker::RenameWorker() : OperationWorker(), m_RenameMap(NULL) { } +/////////////////////////////////////////////////////////////////////////////// +/// \brief RenameWorker::run +/// +/// リネーム処理を行います。 +/// void RenameWorker::run() { StringMap::const_iterator it; @@ -48,6 +58,10 @@ void RenameWorker::run() emit finished(); } +/////////////////////////////////////////////////////////////////////////////// +/// \brief RenameWorker::initialText +/// \return 初期表示テキストを返します。 +/// QString RenameWorker::initialText() const { return tr("名前を変更しています..."); diff --git a/sortdialog.cpp b/sortdialog.cpp index 9f40f7a..adceaa1 100644 --- a/sortdialog.cpp +++ b/sortdialog.cpp @@ -2,6 +2,12 @@ #include "sortdialog.h" #include "ui_sortdialog.h" +/////////////////////////////////////////////////////////////////////////////// +/// \brief SortDialog::SortDialog +/// \param parent 親ウィジェット +/// +/// コンストラクタ +/// SortDialog::SortDialog(QWidget *parent) : QDialog(parent), ui(new Ui::SortDialog), @@ -10,11 +16,22 @@ SortDialog::SortDialog(QWidget *parent) : ui->setupUi(this); } +/////////////////////////////////////////////////////////////////////////////// +/// \brief SortDialog::~SortDialog +/// +/// デストラクタ +/// SortDialog::~SortDialog() { delete ui; } +/////////////////////////////////////////////////////////////////////////////// +/// \brief SortDialog::setModel +/// \param m フォルダモデル +/// +/// モデルを設定します。 +/// void SortDialog::setModel(FolderModel *m) { m_model = m; @@ -55,7 +72,11 @@ void SortDialog::setModel(FolderModel *m) ui->ignoreCase->setChecked(true); } - +/////////////////////////////////////////////////////////////////////////////// +/// \brief SortDialog::accept +/// +/// OKボタンクリック時の処理を行います。 +/// void SortDialog::accept() { QDir::SortFlags sort; diff --git a/textview.cpp b/textview.cpp index 5379b50..703cc46 100644 --- a/textview.cpp +++ b/textview.cpp @@ -13,6 +13,12 @@ const int GAP_LINE_TEXT = 1; const int MARGIN_RIGHT = 1; +/////////////////////////////////////////////////////////////////////////////// +/// \brief TextView::TextView +/// \param parent 親ウィジェット +/// +/// コンストラクタ +/// TextView::TextView(QScrollArea *parent) : QWidget(parent) { @@ -23,6 +29,12 @@ TextView::TextView(QScrollArea *parent) : resetSelection(0); } +/////////////////////////////////////////////////////////////////////////////// +/// \brief TextView::setData +/// \param data バイト列 +/// +/// データを設定します。 +/// void TextView::setData(const QByteArray &data) { m_source = data; @@ -31,6 +43,11 @@ void TextView::setData(const QByteArray &data) convertFrom(code.c_str()); } +/////////////////////////////////////////////////////////////////////////////// +/// \brief TextView::adjust +/// +/// 表示領域を調整します。 +/// void TextView::adjust() { // 行数をカウントする @@ -124,6 +141,12 @@ void TextView::adjust() } } +/////////////////////////////////////////////////////////////////////////////// +/// \brief TextView::convertFrom +/// \param code 文字コード +/// +/// 文字コードを変更します。 +/// void TextView::convertFrom(const char *code) { QTextCodec *codec = QTextCodec::codecForName(code); @@ -135,6 +158,11 @@ void TextView::convertFrom(const char *code) emit statusChanged(code); } +/////////////////////////////////////////////////////////////////////////////// +/// \brief TextView::cursorPos +/// \param pos カーソル位置 +/// \return カーソル位置に該当するViewPositionのインデックスを返します。 +/// int TextView::cursorPos(const QPoint &pos) { int n; @@ -158,6 +186,11 @@ int TextView::cursorPos(const QPoint &pos) return n; } +/////////////////////////////////////////////////////////////////////////////// +/// \brief TextView::lineNumChars +/// \param lines 行数 +/// \return 行番号の表示に必要な桁数を返します。 +/// int TextView::lineNumChars(int lines) const { if (lines == -1) { @@ -169,6 +202,12 @@ int TextView::lineNumChars(int lines) const return QString("%1").arg(lines).size() + 1; } +/////////////////////////////////////////////////////////////////////////////// +/// \brief TextView::resetSelection +/// \param index ViewPositionのインデックス +/// +/// 選択領域を初期化します。 +/// void TextView::resetSelection(int index) { m_selectionInit = index; @@ -178,6 +217,12 @@ void TextView::resetSelection(int index) emit copyAvailable(false); } +/////////////////////////////////////////////////////////////////////////////// +/// \brief TextView::setSelection +/// \param index ViewPositionのインデックス +/// +/// 選択領域を設定します。 +/// void TextView::setSelection(int index) { if (index > m_selectionInit) { @@ -192,41 +237,81 @@ void TextView::setSelection(int index) emit copyAvailable(m_selectionBegin != m_selectionEnd); } +/////////////////////////////////////////////////////////////////////////////// +/// \brief TextView::onConvertFromEUC +/// +/// EUC-JPからUnicodeへ変換します。 +/// void TextView::onConvertFromEUC() { convertFrom("EUC-JP"); } +/////////////////////////////////////////////////////////////////////////////// +/// \brief TextView::onConvertFromJIS +/// +/// ISO-2022-JP(JIS)からUnicodeへ変換します。 +/// void TextView::onConvertFromJIS() { convertFrom("ISO 2022-JP"); } +/////////////////////////////////////////////////////////////////////////////// +/// \brief TextView::onConvertFromSJIS +/// +/// Shift-JIS(SJIS)からUnicodeへ変換します。 +/// void TextView::onConvertFromSJIS() { convertFrom("Shift-JIS"); } +/////////////////////////////////////////////////////////////////////////////// +/// \brief TextView::onConvertFromUTF8 +/// +/// UTF-8からUnicodeへ変換します。 +/// void TextView::onConvertFromUTF8() { convertFrom("UTF-8"); } +/////////////////////////////////////////////////////////////////////////////// +/// \brief TextView::onConvertFromUTF16 +/// +/// UTF-16からUnicodeへ変換します。 +/// void TextView::onConvertFromUTF16() { convertFrom("UTF-16"); } +/////////////////////////////////////////////////////////////////////////////// +/// \brief TextView::onConvertFromUTF16BE +/// +/// UTF-16BEからUnicodeへ変換します。 +/// void TextView::onConvertFromUTF16BE() { convertFrom("UTF-16BE"); } +/////////////////////////////////////////////////////////////////////////////// +/// \brief TextView::onConvertFromUTF16LE +/// +/// UTF-16LEからUnicodeへ変換します。 +/// void TextView::onConvertFromUTF16LE() { convertFrom("UTF-16LE"); } +/////////////////////////////////////////////////////////////////////////////// +/// \brief TextView::onCopy +/// +/// 選択領域をクリップボードにコピーします。 +/// void TextView::onCopy() { QString selected; @@ -239,6 +324,11 @@ void TextView::onCopy() clipboard->setText(selected); } +/////////////////////////////////////////////////////////////////////////////// +/// \brief TextView::onScaleDown +/// +/// 文字を小さくします。 +/// void TextView::onScaleDown() { Preferences prefs(this); @@ -251,6 +341,11 @@ void TextView::onScaleDown() update(); } +/////////////////////////////////////////////////////////////////////////////// +/// \brief TextView::onScaleUp +/// +/// 文字を大きくします。 +/// void TextView::onScaleUp() { Preferences prefs(this); @@ -263,6 +358,11 @@ void TextView::onScaleUp() update(); } +/////////////////////////////////////////////////////////////////////////////// +/// \brief TextView::onSelectAll +/// +/// 全て選択します。 +/// void TextView::onSelectAll() { m_selectionInit = 0; @@ -270,6 +370,12 @@ void TextView::onSelectAll() m_selectionEnd = m_viewPositions.size(); } +/////////////////////////////////////////////////////////////////////////////// +/// \brief TextView::setVisible +/// \param visible 表示(true)/非表示(false) +/// +/// 表示時の処理を行います。 +/// void TextView::setVisible(bool visible) { if (visible) { @@ -290,6 +396,12 @@ void TextView::setVisible(bool visible) QWidget::setVisible(visible); } +/////////////////////////////////////////////////////////////////////////////// +/// \brief TextView::mousePressEvent +/// \param e マウスイベントオブジェクト +/// +/// マウスクリック時の処理を行います。 +/// void TextView::mousePressEvent(QMouseEvent *e) { if (e->button() == Qt::LeftButton) { @@ -300,6 +412,12 @@ void TextView::mousePressEvent(QMouseEvent *e) } } +/////////////////////////////////////////////////////////////////////////////// +/// \brief TextView::mouseDoubleClickEvent +/// \param e マウスイベントオブジェクト +/// +/// ダブルクリック時の処理を行います。 +/// void TextView::mouseDoubleClickEvent(QMouseEvent *e) { if (e->button() == Qt::LeftButton) { @@ -329,6 +447,12 @@ void TextView::mouseDoubleClickEvent(QMouseEvent *e) } } +/////////////////////////////////////////////////////////////////////////////// +/// \brief TextView::mouseMoveEvent +/// \param e マウスイベントオブジェクト +/// +/// マウス移動時の処理を行います。 +/// void TextView::mouseMoveEvent(QMouseEvent *e) { m_scrollArea->ensureVisible(e->x(), e->y()); @@ -338,6 +462,12 @@ void TextView::mouseMoveEvent(QMouseEvent *e) update(); } +/////////////////////////////////////////////////////////////////////////////// +/// \brief TextView::paintEvent +/// \param e ペイントイベントオブジェクト +/// +/// 描画イベントを処理します。 +/// void TextView::paintEvent(QPaintEvent *e) { QPainter painter(this); @@ -405,6 +535,12 @@ void TextView::paintEvent(QPaintEvent *e) } } +/////////////////////////////////////////////////////////////////////////////// +/// \brief TextView::resizeEvent +/// \param e リサイズイベントオブジェクト +/// +/// リサイズ時の処理を行います。 +/// void TextView::resizeEvent(QResizeEvent *e) { QWidget::resizeEvent(e); diff --git a/thumbnaildelegate.cpp b/thumbnaildelegate.cpp index 99eaf85..b203aa9 100644 --- a/thumbnaildelegate.cpp +++ b/thumbnaildelegate.cpp @@ -6,21 +6,35 @@ #include #include +/////////////////////////////////////////////////////////////////////////////// +/// \brief ThumbnailDelegate::ThumbnailDelegate +/// \param parent 親オブジェクト +/// +/// コンストラクタ +/// ThumbnailDelegate::ThumbnailDelegate(QObject *parent) : QStyledItemDelegate(parent) { } +/////////////////////////////////////////////////////////////////////////////// +/// \brief ThumbnailDelegate::paint +/// \param painter ペインターオブジェクト +/// \param option オプション +/// \param index インデックス +/// +/// 描画を行います +/// void ThumbnailDelegate::paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const { const FolderModel *model = static_cast(index.model()); bool checked = model->data(index, Qt::CheckStateRole).toInt() == Qt::Checked; - // マーク + // マーク背景 if (checked) { painter->fillRect(option.rect, model->data(index, Qt::BackgroundRole).value()); } - // ハイライト + // ハイライト背景 if (option.state & QStyle::State_Selected) { painter->fillRect(option.rect, option.palette.highlight()); } @@ -54,6 +68,12 @@ void ThumbnailDelegate::paint(QPainter *painter, const QStyleOptionViewItem &opt pixmap); } +/////////////////////////////////////////////////////////////////////////////// +/// \brief ThumbnailDelegate::sizeHint +/// \param option オプション +/// \param index インデックス +/// \return サイズを返します。 +/// QSize ThumbnailDelegate::sizeHint(const QStyleOptionViewItem &option, const QModelIndex &index) const { Q_UNUSED(option); diff --git a/thumbnailview.cpp b/thumbnailview.cpp index f5d5ada..549cef8 100644 --- a/thumbnailview.cpp +++ b/thumbnailview.cpp @@ -41,6 +41,11 @@ void ThumbnailView::initialize(MainWindow *w) viewport()->installEventFilter(w); } +/////////////////////////////////////////////////////////////////////////////// +/// \brief ThumbnailView::onScaleDown +/// +/// サムネイルサイズを小さくします。 +/// void ThumbnailView::onScaleDown() { qDebug() << "ThumbnailView::onScaleDown()"; @@ -49,6 +54,11 @@ void ThumbnailView::onScaleDown() folderModel()->clearPixmapCache(); } +/////////////////////////////////////////////////////////////////////////////// +/// \brief ThumbnailView::onScaleUp +/// +/// サムネイルサイズを大きくします。 +/// void ThumbnailView::onScaleUp() { qDebug() << "ThumbnailView::onScaleUp()"; @@ -57,6 +67,12 @@ void ThumbnailView::onScaleUp() folderModel()->clearPixmapCache(); } +/////////////////////////////////////////////////////////////////////////////// +/// \brief ThumbnailView::setModel +/// \param model モデル +/// +/// モデルを設定します。 +/// void ThumbnailView::setModel(QAbstractItemModel *model) { if (this->model()) { @@ -71,6 +87,12 @@ void ThumbnailView::setModel(QAbstractItemModel *model) } } +/////////////////////////////////////////////////////////////////////////////// +/// \brief ThumbnailView::setVisible +/// \param visible 表示(true)/非表示(false) +/// +/// サムネイルサイズを初期化します。 +/// void ThumbnailView::setVisible(bool visible) { if (visible) { diff --git a/thumbnailworker.cpp b/thumbnailworker.cpp index d80d1c6..6e5406d 100644 --- a/thumbnailworker.cpp +++ b/thumbnailworker.cpp @@ -4,24 +4,46 @@ #include #include +const int SLEEP_TIME = 100; + +/////////////////////////////////////////////////////////////////////////////// +/// \brief ThumbnailWorker::ThumbnailWorker +/// +/// コンストラクタ +/// ThumbnailWorker::ThumbnailWorker() : AbstractWorker(), m_pathList() { } +/////////////////////////////////////////////////////////////////////////////// +/// \brief ThumbnailWorker::addPath +/// \param path パス +/// +/// パスを追加します。 +/// void ThumbnailWorker::addPath(const QString &path) { QMutexLocker locker(&m_mutex); m_pathList << path; } +/////////////////////////////////////////////////////////////////////////////// +/// \brief ThumbnailWorker::clearPath +/// +/// パスをクリアします。 +/// void ThumbnailWorker::clearPath() { QMutexLocker locker(&m_mutex); m_pathList.clear(); } +/////////////////////////////////////////////////////////////////////////////// +/// \brief ThumbnailWorker::getPath +/// \return リストからパスを取得します。 +/// QString ThumbnailWorker::getPath() { QMutexLocker locker(&m_mutex); @@ -31,6 +53,11 @@ QString ThumbnailWorker::getPath() return m_pathList.takeFirst(); } +/////////////////////////////////////////////////////////////////////////////// +/// \brief ThumbnailWorker::run +/// +/// サムネイルを生成します。 +/// void ThumbnailWorker::run() { qDebug() << "ThumbnailWorker::run() enter."; @@ -52,7 +79,7 @@ void ThumbnailWorker::run() emit resultReady(path, pixmap); } } - this->thread()->msleep(100); + this->thread()->msleep(SLEEP_TIME); } emit finished(); diff --git a/win32.cpp b/win32.cpp index 8fd8a27..a1eac84 100644 --- a/win32.cpp +++ b/win32.cpp @@ -6,6 +6,11 @@ #include #endif +/////////////////////////////////////////////////////////////////////////////// +/// \brief Win32::hasSystemAttribute +/// \param path パス +/// \return システム属性ファイルであればtrueを返します。 +/// bool Win32::hasSystemAttribute(const QString &path) { #ifdef Q_OS_WIN