[Uml-devel] KDE/kdesdk/umbrello/umbrello
Emmanuel Lepage Vallee
elv1313 at gmail.com
Sun Jun 26 22:18:32 UTC 2011
SVN commit 1238442 by lepagevalleeemmanuel:
Add some previously hardcoded configuration options to the config dialog
M +97 -34 dialogs/settingsdlg.cpp
M +11 -9 dialogs/settingsdlg.h
M +0 -1 uml.cpp
M +1 -1 umlview.cpp
M +6 -3 umlviewcanvas.cpp
M +2 -1 umlviewcanvas.h
--- trunk/KDE/kdesdk/umbrello/umbrello/dialogs/settingsdlg.cpp #1238441:1238442
@@ -18,15 +18,10 @@
#include "debug_utils.h"
#include "icon_utils.h"
-// kde includes
-#include <kvbox.h>
-#include <klocale.h>
-#include <kfiledialog.h>
+//TODO don't do that, but it's better than hardcoded in the functions body
+#define FILL_COLOR QColor(255, 255, 192)
+#define LINK_COLOR Qt::red
-// qt includes
-#include <QtGui/QLayout>
-#include <QtGui/QLabel>
-#include <QtGui/QGridLayout>
SettingsDlg::SettingsDlg( QWidget * parent, Settings::OptionState *state )
: KPageDialog( parent)
@@ -58,7 +53,9 @@
void SettingsDlg::setupUIPage()
{
//setup UI page
- KVBox * page = new KVBox();
+ QWidget * page = new QWidget();
+ QVBoxLayout* uiPageLayout = new QVBoxLayout(page);
+
pageUserInterface = new KPageWidgetItem( page,i18n("User Interface"));
pageUserInterface->setHeader( i18n("User Interface Settings") );
pageUserInterface->setIcon( Icon_Utils::DesktopIcon(Icon_Utils::it_Properties_UserInterface) );
@@ -68,48 +65,76 @@
QGridLayout * colorLayout = new QGridLayout( m_UiWidgets.colorGB );
colorLayout->setSpacing( spacingHint() );
colorLayout->setMargin( fontMetrics().height() );
+ uiPageLayout->addWidget(m_UiWidgets.colorGB);
- m_UiWidgets.lineColorL = new QLabel( i18n("Line color:"), m_UiWidgets.colorGB );
- colorLayout->addWidget( m_UiWidgets.lineColorL, 0, 0 );
+ uiPageLayout->addItem(new QSpacerItem(0, 20, QSizePolicy::Minimum, QSizePolicy::Expanding));
+ m_UiWidgets.lineColorCB = new QCheckBox( i18n("Custom line color:"), m_UiWidgets.colorGB );
+ colorLayout->addWidget( m_UiWidgets.lineColorCB, 0, 0 );
+
m_UiWidgets.lineColorB = new KColorButton( m_pOptionState->uiState.lineColor ,m_UiWidgets.colorGB);
//m_UiWidgets.lineColorB->setObjectName( m_UiWidgets.colorGB );
colorLayout->addWidget( m_UiWidgets.lineColorB, 0, 1 );
- m_UiWidgets.lineDefaultB = new QPushButton( i18n("D&efault Color"), m_UiWidgets.colorGB );
- colorLayout->addWidget( m_UiWidgets.lineDefaultB, 0, 2 );
- m_UiWidgets.fillColorL = new QLabel( i18n("Fill color:"), m_UiWidgets.colorGB );
- colorLayout->addWidget( m_UiWidgets.fillColorL, 1, 0 );
+// m_UiWidgets.lineDefaultB = new QPushButton( i18n("D&efault Color"), m_UiWidgets.colorGB );
+// colorLayout->addWidget( m_UiWidgets.lineDefaultB, 0, 2 );
+ m_UiWidgets.fillColorCB = new QCheckBox( i18n("Custom fill color:"), m_UiWidgets.colorGB );
+ colorLayout->addWidget( m_UiWidgets.fillColorCB, 1, 0 );
+
+
m_UiWidgets.fillColorB = new KColorButton( m_pOptionState->uiState.fillColor,m_UiWidgets.colorGB );
- //m_UiWidgets.fillColorB->setObjectName( m_UiWidgets.colorGB );
colorLayout->addWidget( m_UiWidgets.fillColorB, 1, 1 );
- m_UiWidgets.fillDefaultB = new QPushButton( i18n("De&fault Color"), m_UiWidgets.colorGB );
- colorLayout->addWidget( m_UiWidgets.fillDefaultB, 1, 2 );
+ m_UiWidgets.gridColorB = new KColorButton( m_pOptionState->uiState.gridDotColor,m_UiWidgets.colorGB );
+ colorLayout->addWidget(m_UiWidgets.gridColorB , 0, 3 );
- m_UiWidgets.lineWidthL = new QLabel( i18n("Line width:"), m_UiWidgets.colorGB );
- colorLayout->addWidget( m_UiWidgets.lineWidthL, 2, 0 );
+ m_UiWidgets.gridColorCB = new QCheckBox( i18n("Custom grid color:"), m_UiWidgets.colorGB );
+ colorLayout->addWidget(m_UiWidgets.gridColorCB , 0, 2 );
- // Low-Limit: 0, High-Limit: 10, Step: 1, Initial-Val: m_pOptionState->uiState.lineWidth
- // Number-Base: 10 ( decimal ), Parent: m_UiWidgets.colorGB
+ m_UiWidgets.bgColorCB = new QCheckBox( i18n("Custom background color:"), m_UiWidgets.colorGB );
+ colorLayout->addWidget(m_UiWidgets.bgColorCB , 1, 2 );
+
+
+ m_UiWidgets.bgColorB = new KColorButton( m_pOptionState->uiState.backgroundColor,m_UiWidgets.colorGB );
+ colorLayout->addWidget(m_UiWidgets.bgColorB , 1, 3 );
+
+ m_UiWidgets.lineWidthCB = new QCheckBox( i18n("Custom line width:"), m_UiWidgets.colorGB );
+ colorLayout->addWidget( m_UiWidgets.lineWidthCB, 2, 0 );
+
m_UiWidgets.lineWidthB = new KIntSpinBox( 0, 10, 1, m_pOptionState->uiState.lineWidth, m_UiWidgets.colorGB );
colorLayout->addWidget( m_UiWidgets.lineWidthB, 2, 1 );
- m_UiWidgets.lineWidthDefaultB = new QPushButton( i18n("D&efault Width"), m_UiWidgets.colorGB );
- colorLayout->addWidget( m_UiWidgets.lineWidthDefaultB, 2, 2 );
-
m_UiWidgets.useFillColorCB = new QCheckBox( i18n("&Use fill color"), m_UiWidgets.colorGB );
- colorLayout->setRowStretch( 3, 2 );
+ //colorLayout->setRowStretch( 3, 2 );
colorLayout->addWidget( m_UiWidgets.useFillColorCB, 3, 0 );
m_UiWidgets.useFillColorCB->setChecked( m_pOptionState->uiState.useFillColor );
//connect button signals up
- connect( m_UiWidgets.lineDefaultB, SIGNAL(clicked()), this, SLOT(slotLineBClicked()) );
- connect( m_UiWidgets.fillDefaultB, SIGNAL(clicked()), this, SLOT(slotFillBClicked()) );
+ connect( m_UiWidgets.lineColorCB, SIGNAL(toggled(bool)), this, SLOT(slotLineCBChecked(bool)) );
+ connect( m_UiWidgets.fillColorCB, SIGNAL(toggled(bool)), this, SLOT(slotFillCBChecked(bool)) );
+ connect( m_UiWidgets.gridColorCB, SIGNAL(toggled(bool)), this, SLOT(slotGridCBChecked(bool)) );
+ connect( m_UiWidgets.bgColorCB, SIGNAL(toggled(bool)), this, SLOT(slotBgCBChecked(bool)) );
+
+ //TODO Once the new canvas is complete, so something better, it does not worth it for now
+ if (m_UiWidgets.fillColorB->color() == FILL_COLOR) {
+ m_UiWidgets.fillColorCB->setChecked(false);
+ m_UiWidgets.fillColorB->setDisabled(true);
}
+ else {
+ m_UiWidgets.fillColorCB->setChecked(true);
+ }
+ if (m_UiWidgets.lineColorB->color() == LINK_COLOR) {
+ m_UiWidgets.lineColorCB->setChecked(false);
+ m_UiWidgets.lineColorB->setDisabled(true);
+ }
+ else {
+ m_UiWidgets.lineColorCB->setChecked(true);
+ }
+}
+
void SettingsDlg::setupGeneralPage()
{
//setup General page
@@ -398,8 +423,8 @@
else if ( current == pageUserInterface )
{
m_UiWidgets.useFillColorCB->setChecked( true );
- m_UiWidgets.fillColorB->setColor( QColor( 255, 255, 192 ) );
- m_UiWidgets.lineColorB->setColor( Qt::red );
+ m_UiWidgets.fillColorB->setColor( FILL_COLOR );
+ m_UiWidgets.lineColorB->setColor( LINK_COLOR );
m_UiWidgets.lineWidthB->setValue( 0 );
}
else if ( current == pageClass )
@@ -447,6 +472,8 @@
m_pOptionState->uiState.fillColor = m_UiWidgets.fillColorB->color();
m_pOptionState->uiState.lineColor = m_UiWidgets.lineColorB->color();
m_pOptionState->uiState.lineWidth = m_UiWidgets.lineWidthB->value();
+ m_pOptionState->uiState.backgroundColor = m_UiWidgets.bgColorB->color();
+ m_pOptionState->uiState.gridDotColor = m_UiWidgets.gridColorB->color();
}
else if ( item == pageClass )
{
@@ -471,16 +498,52 @@
}
}
-void SettingsDlg::slotLineBClicked()
+void SettingsDlg::slotLineCBChecked(bool value)
{
- m_UiWidgets.lineColorB->setColor( Qt::red );
+ if (value == false) {
+ m_UiWidgets.lineColorB->setColor( LINK_COLOR );
+ m_UiWidgets.lineColorB->setDisabled(true);
}
+ else {
+ m_UiWidgets.lineColorB->setDisabled(false);
+ }
+}
-void SettingsDlg::slotFillBClicked()
+void SettingsDlg::slotFillCBChecked(bool value)
{
- m_UiWidgets.fillColorB->setColor( QColor(255, 255, 192) );
+ if (value == false) {
+ m_UiWidgets.fillColorB->setColor( FILL_COLOR );
+ m_UiWidgets.fillColorB->setDisabled(true);
}
+ else {
+ m_UiWidgets.fillColorB->setDisabled(false);
+ }
+}
+void SettingsDlg::slotGridCBChecked(bool value)
+{
+ if (value == false) {
+ QPalette palette;
+ m_UiWidgets.gridColorB->setColor( palette.alternateBase() );
+ m_UiWidgets.gridColorB->setDisabled(true);
+ }
+ else {
+ m_UiWidgets.gridColorB->setDisabled(false);
+ }
+}
+
+void SettingsDlg::slotBgCBChecked(bool value)
+{
+ if (value == false) {
+ QPalette palette;
+ m_UiWidgets.bgColorB->setColor( palette.base() );
+ m_UiWidgets.bgColorB->setDisabled(true);
+ }
+ else {
+ m_UiWidgets.bgColorB->setDisabled(false);
+ }
+}
+
void SettingsDlg::slotAutosaveCBClicked()
{
m_GeneralWidgets.timeISB->setEnabled( m_GeneralWidgets.autosaveCB->isChecked() );
--- trunk/KDE/kdesdk/umbrello/umbrello/dialogs/settingsdlg.h #1238441:1238442
@@ -61,16 +61,16 @@
struct UIWidgets {
QGroupBox * colorGB;
- QLabel * lineColorL;
- QLabel * fillColorL;
- QLabel * lineWidthL;
+ QCheckBox * lineColorCB;
+ QCheckBox * fillColorCB;
+ QCheckBox * lineWidthCB;
+ QCheckBox * gridColorCB;
+ QCheckBox * bgColorCB;
- QPushButton * lineDefaultB;
- QPushButton * fillDefaultB;
- QPushButton * lineWidthDefaultB;
-
KColorButton * lineColorB;
KColorButton * fillColorB;
+ KColorButton * gridColorB;
+ KColorButton * bgColorB;
KIntSpinBox * lineWidthB;
QCheckBox * useFillColorCB;
@@ -158,8 +158,10 @@
void slotApply();
void slotOk();
void slotDefault();
- void slotLineBClicked();
- void slotFillBClicked();
+ void slotLineCBChecked(bool value);
+ void slotFillCBChecked(bool value);
+ void slotGridCBChecked(bool value);
+ void slotBgCBChecked(bool value);
void slotAutosaveCBClicked();
};
--- trunk/KDE/kdesdk/umbrello/umbrello/uml.cpp #1238441:1238442
@@ -572,7 +572,6 @@
void UMLApp::setZoom(int zoom)
{
currentView()->setZoom(zoom);
- qDebug() << "Set zoom value:" << " " << zoom;
m_pZoomSlider->setValue(zoom);
}
--- trunk/KDE/kdesdk/umbrello/umbrello/umlview.cpp #1238441:1238442
@@ -153,7 +153,7 @@
m_pImageExporter = new UMLViewImageExporter(this);
//setup graphical items
- setCanvas(new UMLViewCanvas(this));
+ setCanvas(new UMLViewCanvas(this,m_Options));
// don't set the quite frequent update rate for each
// diagram, as that causes also an update of invisible
// diagrams, which can cost high CPU load for many
--- trunk/KDE/kdesdk/umbrello/umbrello/umlviewcanvas.cpp #1238441:1238442
@@ -16,15 +16,18 @@
// app includes
#include "umlview.h"
+#include <QPalette>
-
/**
* Constructor
*/
-UMLViewCanvas::UMLViewCanvas(UMLView * pView) : Q3Canvas(pView)
+UMLViewCanvas::UMLViewCanvas(UMLView * pView,const Settings::OptionState& option) : Q3Canvas(pView)
{
m_pView = pView;
- setColors(QColor(195, 195, 195), Qt::gray);
+
+ QPalette palette;
+ setColors(palette.base(), option.uiState.gridDotColor);
+ //setColors(option.uiState.backgroundColor, option.uiState.gridDotColor); //TODO Somehow, it does not work, it should
}
/**
--- trunk/KDE/kdesdk/umbrello/umbrello/umlviewcanvas.h #1238441:1238442
@@ -12,6 +12,7 @@
#define UMLVIEWCANVAS_H
#include <q3canvas.h>
+#include "optionstate.h"
/**
*@author Paul Hensgen
@@ -22,7 +23,7 @@
class UMLViewCanvas : public Q3Canvas
{
public:
- UMLViewCanvas(UMLView * pView);
+ UMLViewCanvas(UMLView * pView,const Settings::OptionState& option);
virtual ~UMLViewCanvas();
void setColors(const QColor& backColor, const QColor& gridColor);
More information about the umbrello-devel
mailing list