File indexing completed on 2025-03-09 03:58:37
0001 /* ============================================================ 0002 * 0003 * This file is a part of digiKam project 0004 * https://www.digikam.org 0005 * 0006 * Date : 2003-01-28 0007 * Description : a dialog to display camera information. 0008 * 0009 * SPDX-FileCopyrightText: 2003-2005 by Renchi Raju <renchi dot raju at gmail dot com> 0010 * SPDX-FileCopyrightText: 2006-2024 by Gilles Caulier <caulier dot gilles at gmail dot com> 0011 * 0012 * SPDX-License-Identifier: GPL-2.0-or-later 0013 * 0014 * ============================================================ */ 0015 0016 #include "camerainfodialog.h" 0017 0018 // Qt includes 0019 0020 #include <QIcon> 0021 #include <QPushButton> 0022 #include <QVBoxLayout> 0023 #include <QTabWidget> 0024 #include <QTextEdit> 0025 #include <QDialogButtonBox> 0026 0027 // KDE includes 0028 0029 #include <klocalizedstring.h> 0030 0031 // Local includes 0032 0033 #include "digikam_globals.h" 0034 #include "dxmlguiwindow.h" 0035 0036 namespace Digikam 0037 { 0038 0039 CameraInfoDialog::CameraInfoDialog(QWidget* const parent, 0040 const QString& summary, 0041 const QString& manual, 0042 const QString& about) 0043 : QDialog(parent) 0044 { 0045 setModal(true); 0046 setWindowTitle(i18nc("@title:window", "Device Information")); 0047 QDialogButtonBox* const buttons = new QDialogButtonBox(QDialogButtonBox::Help | QDialogButtonBox::Ok, this); 0048 buttons->button(QDialogButtonBox::Ok)->setDefault(true); 0049 resize(500, 400); 0050 0051 QTabWidget* const tab = new QTabWidget(this); 0052 0053 // ---------------------------------------------------------- 0054 0055 QTextEdit* const summaryView = new QTextEdit(this); 0056 summaryView->setWordWrapMode(QTextOption::WordWrap); 0057 summaryView->setPlainText(summary); 0058 summaryView->setReadOnly(true); 0059 tab->insertTab(0, summaryView, QIcon::fromTheme(QLatin1String("dialog-information")), i18nc("@title", "Device Summary")); 0060 0061 // ---------------------------------------------------------- 0062 0063 QTextEdit* const manualView = new QTextEdit(this); 0064 manualView->setWordWrapMode(QTextOption::WordWrap); 0065 manualView->setPlainText(manual); 0066 manualView->setReadOnly(true); 0067 tab->insertTab(1, manualView, QIcon::fromTheme(QLatin1String("help-contents")), i18nc("@title", "Device Manual")); 0068 0069 // ---------------------------------------------------------- 0070 0071 QTextEdit* const aboutView = new QTextEdit(this); 0072 aboutView->setWordWrapMode(QTextOption::WordWrap); 0073 aboutView->setPlainText(about); 0074 aboutView->setReadOnly(true); 0075 tab->insertTab(2, aboutView, QIcon::fromTheme(QLatin1String("camera-photo")), i18nc("@title", "About Driver")); 0076 0077 // ---------------------------------------------------------- 0078 0079 QVBoxLayout* const vbx = new QVBoxLayout(this); 0080 vbx->addWidget(tab); 0081 vbx->addWidget(buttons); 0082 setLayout(vbx); 0083 0084 connect(buttons->button(QDialogButtonBox::Ok), SIGNAL(clicked()), 0085 this, SLOT(accept())); 0086 0087 connect(buttons->button(QDialogButtonBox::Help), SIGNAL(clicked()), 0088 this, SLOT(slotHelp())); 0089 } 0090 0091 CameraInfoDialog::~CameraInfoDialog() 0092 { 0093 } 0094 0095 void CameraInfoDialog::slotHelp() 0096 { 0097 openOnlineDocumentation(QLatin1String("import_tools"), QLatin1String("camera_import")); 0098 } 0099 0100 } // namespace Digikam 0101 0102 #include "moc_camerainfodialog.cpp"