1 #include "foldermodel.h"
2 #include "historydialog.h"
3 #include "ui_historydialog.h"
5 ///////////////////////////////////////////////////////////////////////////////
6 /// \brief HistoryDialog::HistoryDialog
7 /// \param parent 親ウィジェット
11 HistoryDialog::HistoryDialog(QWidget *parent) :
13 ui(new Ui::HistoryDialog),
19 resize(parent->width() * 0.8, height());
21 connect(ui->listLeft, SIGNAL(doubleClicked(QModelIndex)), this, SLOT(accept()));
22 connect(ui->listRight, SIGNAL(doubleClicked(QModelIndex)), this, SLOT(accept()));
25 ///////////////////////////////////////////////////////////////////////////////
26 /// \brief HistoryDialog::~HistoryDialog
30 HistoryDialog::~HistoryDialog()
35 ///////////////////////////////////////////////////////////////////////////////
36 /// \brief HistoryDialog::setModel
37 /// \param left 左パネルのモデル
38 /// \param right 右パネルのモデル
39 /// \param active アクティブモデル
43 void HistoryDialog::setModel(const FolderModel *left, const FolderModel *right, FolderModel *active)
47 m_activeModel = active;
50 ui->radioLeft->click();
53 ui->radioRight->click();
56 for (int n = left->history().size() - 1; n >= 0; --n) {
57 ui->listLeft->addItem(left->history().at(n));
59 for (int n = right->history().size() - 1; n >= 0; --n) {
60 ui->listRight->addItem(right->history().at(n));
64 ///////////////////////////////////////////////////////////////////////////////
65 /// \brief HistoryDialog::on_radioLeft_clicked
67 /// 左パネルラジオボタンクリック時の処理を行います。
69 void HistoryDialog::on_radioLeft_clicked()
71 ui->listRight->setVisible(false);
72 ui->listLeft->setVisible(true);
75 ///////////////////////////////////////////////////////////////////////////////
76 /// \brief HistoryDialog::on_radioRight_clicked
78 /// 右パネルラジオボタンクリック時の処理を行います。
80 void HistoryDialog::on_radioRight_clicked()
82 ui->listLeft->setVisible(false);
83 ui->listRight->setVisible(true);
86 ///////////////////////////////////////////////////////////////////////////////
87 /// \brief HistoryDialog::accept
89 /// OKボタンクリック時の処理を行います。
91 void HistoryDialog::accept()
94 const FolderModel *selected;
95 if (ui->radioLeft->isChecked()) {
96 selected = m_leftModel;
97 path = ui->listLeft->currentItem()->text();
100 selected = m_rightModel;
101 path = ui->listRight->currentItem()->text();
104 if (selected == m_activeModel) {
105 m_activeModel->setHistoryAt(path);
108 m_activeModel->setRootPath(path);