[efe974]: plugins / gui-standard-display / displaycfg.cpp  Maximize  Restore  History

Download this file

128 lines (103 with data), 4.6 kB

  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
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
/***************************************************************************
displaycfg.cpp - description
-------------------
begin : Fr Aug 15 2003
copyright : (C) 2003 by Martin Witte
email : emw-kradio@nocabal.de
***************************************************************************/
/***************************************************************************
* *
* 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 *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
***************************************************************************/
#include "displaycfg.h"
#include <kcolorbutton.h>
#include <kcolordialog.h>
#include <kfontdialog.h>
#include <klocale.h>
#include <QtGui/QLayout>
#include <QtGui/QGridLayout>
#include <QtGui/QLabel>
#include <QtGui/QButtonGroup>
#include <QtGui/QGroupBox>
DisplayConfiguration::DisplayConfiguration(QWidget *parent)
: QWidget (parent),
m_dirty(true),
m_ignore_gui_updates(false)
{
QGridLayout *gl = new QGridLayout (this);
m_btnActive = new KColorButton(queryDisplayActiveColor(), this);
m_btnInactive = new KColorButton(queryDisplayInactiveColor(), this);
m_btnBkgnd = new KColorButton(queryDisplayBkgndColor(), this);
connect(m_btnActive, SIGNAL(changed(const QColor &)), this, SLOT(slotSetDirty()));
connect(m_btnInactive, SIGNAL(changed(const QColor &)), this, SLOT(slotSetDirty()));
connect(m_btnBkgnd, SIGNAL(changed(const QColor &)), this, SLOT(slotSetDirty()));
QLabel *l1 = new QLabel(i18n("Active text:"), this);
QLabel *l2 = new QLabel(i18n("Inactive text:"), this);
QLabel *l3 = new QLabel(i18n("Background color:"), this);
m_fontChooser = new KFontChooser(this, KFontChooser::DisplayFrame, QStringList(), 4);
m_fontChooser->enableColumn(KFontChooser::SizeList, false);
m_fontChooser->setFont(queryDisplayFont());
m_fontChooser->setSizePolicy(QSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding));
gl->addWidget (l1, 0, 0);
gl->addWidget (m_btnActive, 0, 1);
gl->addWidget (l2, 1, 0);
gl->addWidget (m_btnInactive, 1, 1);
gl->addWidget (l3, 2, 0);
gl->addWidget (m_btnBkgnd, 2, 1);
gl->addWidget (m_fontChooser, 3, 0, /*rowspan*/1, /*colspan*/ 2);
connect(m_btnActive, SIGNAL(changed(const QColor &)), this, SLOT(slotSetDirty()));
connect(m_btnInactive, SIGNAL(changed(const QColor &)), this, SLOT(slotSetDirty()));
connect(m_btnBkgnd, SIGNAL(changed(const QColor &)), this, SLOT(slotSetDirty()));
connect(m_fontChooser, SIGNAL(fontSelected(const QFont &)), this, SLOT(slotSetDirty()));
}
DisplayConfiguration::~DisplayConfiguration()
{
}
bool DisplayConfiguration::noticeDisplayColorsChanged(const QColor &activeColor, const QColor &inactiveColor, const QColor &bkgnd)
{
m_ignore_gui_updates = true;
m_btnActive->setColor(activeColor);
m_btnInactive->setColor(inactiveColor);
m_btnBkgnd->setColor(bkgnd);
m_ignore_gui_updates = false;
return true;
}
bool DisplayConfiguration::noticeDisplayFontChanged(const QFont &f)
{
m_ignore_gui_updates = true;
m_fontChooser->setFont(f);
m_ignore_gui_updates = false;
return true;
}
void DisplayConfiguration::slotOK()
{
if (m_dirty) {
sendDisplayColors(m_btnActive->color(), m_btnInactive->color(), m_btnBkgnd->color());
sendDisplayFont(m_fontChooser->font());
m_dirty = false;
}
}
void DisplayConfiguration::slotCancel()
{
if (m_dirty) {
m_ignore_gui_updates = true;
m_btnActive ->setColor(queryDisplayActiveColor());
m_btnInactive->setColor(queryDisplayInactiveColor());
m_btnBkgnd ->setColor(queryDisplayBkgndColor());
m_fontChooser->setFont(queryDisplayFont());
m_dirty = false;
m_ignore_gui_updates = false;
}
}
void DisplayConfiguration::slotSetDirty()
{
if (!m_dirty && !m_ignore_gui_updates) {
m_dirty = true;
emit sigDirty();
}
}
#include "displaycfg.moc"

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:





No, thanks