aboutsummaryrefslogtreecommitdiffstats
path: root/SQLiteStudio3/guiSQLiteStudio/configwidgets/styleconfigwidget.cpp
blob: a8d8b46bfac7d7de8e9f4368f44f6a9035103f69 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
#include "styleconfigwidget.h"
#include "uiconfig.h"
#include "common/unused.h"
#include "dialogs/configdialog.h"
#include <QDebug>
#include <QComboBox>

StyleConfigWidget::StyleConfigWidget()
{
}

bool StyleConfigWidget::isConfigForWidget(CfgEntry* key, QWidget* widget)
{
    UNUSED(widget);
    return (key == &CFG_UI.General.Style);
}

void StyleConfigWidget::applyConfigToWidget(CfgEntry* key, QWidget* widget, const QVariant& value)
{
    UNUSED(key);

    QComboBox* combo = qobject_cast<QComboBox*>(widget);

    // QComboBox fails to findIndex() in case insensitive manner, so we will do it manually:
    QStringList items;
    for (int i = 0; i < combo->count(); i++)
        items << combo->itemText(i).toLower();

    int idx = items.indexOf(value.toString().toLower());
    combo->setCurrentIndex(idx);
}

QVariant StyleConfigWidget::getWidgetConfigValue(QWidget* widget, bool& ok)
{
    QComboBox* combo = qobject_cast<QComboBox*>(widget);
    if (!combo)
    {
        ok = false;
        return QVariant();
    }

    ok = true;
    return combo->currentText();
}

const char* StyleConfigWidget::getModifiedNotifier() const
{
    return SIGNAL(currentTextChanged(QString));
}

QString StyleConfigWidget::getFilterString(QWidget *widget) const
{
    return ConfigDialog::getFilterString(widget);
}