2 #include "folderview.h"
4 #include "ui_anyview.h"
9 AnyView::AnyView(QWidget *parent) :
16 ui->folderPanel->setVisible(false);
17 ui->graphicsView->setVisible(false);
18 ui->textView->setVisible(false);
26 void AnyView::changeView(int viewType)
28 qDebug() << "AnyView::changeView();" << viewType;
31 ui->folderPanel->setVisible(false);
32 ui->graphicsView->setVisible(false);
33 ui->textView->setVisible(false);
37 case AnyView::ViewFolder: w = ui->folderPanel; break;
38 case AnyView::ViewImage: w = ui->graphicsView; break;
39 case AnyView::ViewText: w = ui->textView; break;
40 default: Q_ASSERT(false); w = NULL; break;
43 this->setVisible(true);
47 void AnyView::setViewItem(const QFileInfo &info)
49 setUpdatesEnabled(false);
52 changeView(ViewFolder);
53 ui->folderPanel->folderView()->setPath(info.absoluteFilePath(), true);
57 bool isBinary = false;
58 if (!settings.value(IniKey_ViewerForceOpen).toBool()) {
59 QStringList list = settings.value(IniKey_ViewerIgnoreExt).toString().split(",");
60 foreach (const QString &ext, list) {
61 if (ext.toLower() == info.suffix().toLower()) {
68 // TODO:画像ビューアで表示できるか?
72 QFile file(info.absoluteFilePath());
73 if (file.open(QIODevice::ReadOnly)) {
74 ui->textView->setSource(file.readAll());
80 ui->textView->setSource("");
85 setUpdatesEnabled(true);
88 FolderPanel *AnyView::folderPanel() const
90 return ui->folderPanel;
93 SimpleImageView *AnyView::imageView() const
95 return ui->graphicsView;
98 SimpleTextView *AnyView::textView() const
104 void AnyView::focusInEvent(QFocusEvent *)
106 qDebug() << "AnyView::focusInEvent();";
108 if (ui->folderPanel->isVisible()) {
109 ui->folderPanel->folderView()->setFocus();
111 else if (ui->graphicsView->isVisible()) {
112 ui->graphicsView->setFocus();
115 Q_ASSERT(ui->textView->isVisible());
116 ui->textView->setFocus();