From f81e445c07e65c17574a87b729675381e7c0ae71 Mon Sep 17 00:00:00 2001 From: Ivailo Monev Date: Tue, 13 Jul 2021 00:07:12 +0300 Subject: [PATCH] kamera: deal with FIXMEs Signed-off-by: Ivailo Monev --- kamera/kcontrol/kamera.cpp | 6 +-- kamera/kcontrol/kamera.h | 6 +-- kamera/kcontrol/kameraconfigdialog.cpp | 57 +++++++++++++++----------- kamera/kcontrol/kameraconfigdialog.h | 6 +-- kamera/kcontrol/kameradevice.cpp | 6 +-- kamera/kcontrol/kameradevice.h | 12 +++--- 6 files changed, 52 insertions(+), 41 deletions(-) diff --git a/kamera/kcontrol/kamera.cpp b/kamera/kcontrol/kamera.cpp index 5c71894a..e295bf7f 100644 --- a/kamera/kcontrol/kamera.cpp +++ b/kamera/kcontrol/kamera.cpp @@ -1,9 +1,9 @@ /* Copyright (C) 2001 The Kompany - 2002-2003 Ilya Konstantinov - 2002-2003 Marcus Meissner - 2003 Nadeem Hasan + 2002-2003 Ilya Konstantinov + 2002-2003 Marcus Meissner + 2003 Nadeem Hasan This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/kamera/kcontrol/kamera.h b/kamera/kcontrol/kamera.h index 9fd6c4c6..9becb856 100644 --- a/kamera/kcontrol/kamera.h +++ b/kamera/kcontrol/kamera.h @@ -1,9 +1,9 @@ /* Copyright (C) 2001 The Kompany - 2002-2003 Ilya Konstantinov - 2002-2003 Marcus Meissner - 2003 Nadeem Hasan + 2002-2003 Ilya Konstantinov + 2002-2003 Marcus Meissner + 2003 Nadeem Hasan This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/kamera/kcontrol/kameraconfigdialog.cpp b/kamera/kcontrol/kameraconfigdialog.cpp index 2905e48b..124ce17c 100644 --- a/kamera/kcontrol/kameraconfigdialog.cpp +++ b/kamera/kcontrol/kameraconfigdialog.cpp @@ -1,9 +1,9 @@ /* Copyright (C) 2001 The Kompany - 2002-2003 Ilya Konstantinov - 2002-2003 Marcus Meissner - 2003 Nadeem Hasan + 2002-2003 Ilya Konstantinov + 2002-2003 Marcus Meissner + 2003 Nadeem Hasan This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -27,6 +27,7 @@ #include #include #include +#include #include #include @@ -42,6 +43,19 @@ #include "kameraconfigdialog.h" #include "moc_kameraconfigdialog.cpp" +class KameraGroupBox : public QGroupBox +{ + Q_OBJECT +public: + KameraGroupBox(const QString &title, QWidget* parent) : QGroupBox(title, parent), m_buttonGroup(0) { } + + void setButtonGroup(QButtonGroup *buttonGroup) { m_buttonGroup = buttonGroup; } + QButtonGroup *buttonGroup() const { return m_buttonGroup; } + +private: + QButtonGroup* m_buttonGroup; +}; + KameraConfigDialog::KameraConfigDialog(Camera */*camera*/, CameraWidget *widget, QWidget *parent) : KDialog(parent), m_widgetRoot(widget) @@ -122,8 +136,6 @@ void KameraConfigDialog::appendWidget(QWidget *parent, CameraWidget *widget) break; } -#warning FIXME: GP_WIDGET_RANGE -#if 0 case GP_WIDGET_RANGE: { float widget_low; float widget_high; @@ -131,7 +143,8 @@ void KameraConfigDialog::appendWidget(QWidget *parent, CameraWidget *widget) gp_widget_get_range(widget, &widget_low, &widget_high, &widget_increment); gp_widget_get_value(widget, &widget_value_float); - Q3GroupBox *groupBox = new Q3GroupBox(1, Qt::Horizontal,QString::fromLocal8Bit(widget_label), parent); + QGroupBox *groupBox = new QGroupBox(QString::fromLocal8Bit(widget_label), parent); + groupBox->setAlignment(Qt::Horizontal); parent->layout()->addWidget(groupBox); QSlider *slider = new QSlider(Qt::Horizontal, groupBox); slider->setMinimum((int)widget_low); @@ -146,7 +159,6 @@ void KameraConfigDialog::appendWidget(QWidget *parent, CameraWidget *widget) break; } -#endif case GP_WIDGET_TOGGLE: { gp_widget_get_value(widget, &widget_value_int); @@ -161,40 +173,40 @@ void KameraConfigDialog::appendWidget(QWidget *parent, CameraWidget *widget) break; } -#warning FIXME: GP_WIDGET_RADIO -#if 0 case GP_WIDGET_RADIO: { gp_widget_get_value(widget, &widget_value_string); int count = gp_widget_count_choices(widget); + KameraGroupBox *buttonBox = new KameraGroupBox(QString::fromLocal8Bit(widget_label), parent); // for less than 5 options, align them horizontally - Q3ButtonGroup *buttonGroup; if (count > 4) { - buttonGroup = new Q3VButtonGroup(QString::fromLocal8Bit(widget_label), parent); + buttonBox->setAlignment(Qt::Vertical); } else { - buttonGroup = new Q3HButtonGroup(QString::fromLocal8Bit(widget_label), parent); + buttonBox->setAlignment(Qt::Horizontal); } - parent->layout()->addWidget(buttonGroup); + QButtonGroup *buttonGroup = new QButtonGroup(buttonBox); + buttonBox->setButtonGroup(buttonGroup); + parent->layout()->addWidget(buttonBox); + // TODO: which button should be checked? for(int i = 0; i < count; ++i) { const char *widget_choice; gp_widget_get_choice(widget, i, &widget_choice); - new QRadioButton(widget_choice, buttonGroup); + QRadioButton* button = new QRadioButton(widget_choice, buttonBox); if (widget_value_string && !strcmp(widget_value_string, widget_choice)) { - buttonGroup->setButton(i); + buttonGroup->addButton(button, i); } } - m_wmap.insert(widget, buttonGroup); + m_wmap.insert(widget, buttonBox); if (!whats_this.isEmpty()) { - buttonGroup->setWhatsThis(whats_this); + buttonBox->setWhatsThis(whats_this); } break; } -#endif case GP_WIDGET_MENU: { gp_widget_get_value(widget, &widget_value_string); @@ -292,15 +304,12 @@ void KameraConfigDialog::updateWidgetValue(CameraWidget *widget) break; } -#warning FIXME: GP_WIDGET_RADIO -#if 0 case GP_WIDGET_RADIO: { - Q3ButtonGroup *buttonGroup = static_cast(m_wmap[widget]); - gp_widget_set_value(widget, (void *)buttonGroup->selected()->text().toLocal8Bit().data()); + KameraGroupBox *buttonGroup = static_cast(m_wmap[widget]); + gp_widget_set_value(widget, (void *)buttonGroup->buttonGroup()->checkedButton()->text().toLocal8Bit().data()); break; } -#endif case GP_WIDGET_MENU: { QComboBox *comboBox = static_cast(m_wmap[widget]); gp_widget_set_value(widget, (void *)comboBox->currentText().toLocal8Bit().data()); @@ -333,3 +342,5 @@ void KameraConfigDialog::slotOk() // 'ok' dialog accept(); } + +#include "kameraconfigdialog.moc" diff --git a/kamera/kcontrol/kameraconfigdialog.h b/kamera/kcontrol/kameraconfigdialog.h index 0921b510..aaa1377c 100644 --- a/kamera/kcontrol/kameraconfigdialog.h +++ b/kamera/kcontrol/kameraconfigdialog.h @@ -1,9 +1,9 @@ /* Copyright (C) 2001 The Kompany - 2002-2003 Ilya Konstantinov - 2002-2003 Marcus Meissner - 2003 Nadeem Hasan + 2002-2003 Ilya Konstantinov + 2002-2003 Marcus Meissner + 2003 Nadeem Hasan This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/kamera/kcontrol/kameradevice.cpp b/kamera/kcontrol/kameradevice.cpp index 0da0c90f..a55eddc5 100644 --- a/kamera/kcontrol/kameradevice.cpp +++ b/kamera/kcontrol/kameradevice.cpp @@ -1,9 +1,9 @@ /* Copyright (C) 2001 The Kompany - 2002-2003 Ilya Konstantinov - 2002-2003 Marcus Meissner - 2003 Nadeem Hasan + 2002-2003 Ilya Konstantinov + 2002-2003 Marcus Meissner + 2003 Nadeem Hasan This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/kamera/kcontrol/kameradevice.h b/kamera/kcontrol/kameradevice.h index 787fae80..f7916f03 100644 --- a/kamera/kcontrol/kameradevice.h +++ b/kamera/kcontrol/kameradevice.h @@ -1,9 +1,9 @@ /* Copyright (C) 2001 The Kompany - 2002-2003 Ilya Konstantinov - 2002-2003 Marcus Meissner - 2003 Nadeem Hasan + 2002-2003 Ilya Konstantinov + 2002-2003 Marcus Meissner + 2003 Nadeem Hasan This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -24,9 +24,6 @@ #define __kameradevice_h__ #include -#include - -class KConfig; #include #include #include @@ -36,6 +33,9 @@ class KConfig; #include #include #include +#include + +class KConfig; class KCamera : public QObject { friend class KameraDeviceSelectDialog;