# HG changeset patch # User Torsten # Date 1425624133 -3600 # Node ID 2a992bd191694e973457512350883115142f3a54 # Parent b8ce2f42815c5e6d68cbe2d9451151bf9a294dee make color gradient of custom title bar adjustable (bug #44435) * settings-dialog.ui: new spinbox for 3D effect of custom title bars * settings-dialog.cc (settings_dialog): get settings for 3D effect and initialize the spin box; (write_changed_settings): write current spin box value into settings file; * octave-dock-widget.h: new class variable for 3D effect * octave-dock-widget.cc (octave_dock_widget): init new class variable; (set_style): set the gradient depending on class variable; (handle_settings): get settings on 3D effect from settings files diff -r b8ce2f42815c -r 2a992bd19169 libgui/src/octave-dock-widget.cc --- a/libgui/src/octave-dock-widget.cc Fri Mar 06 11:34:21 2015 -0500 +++ b/libgui/src/octave-dock-widget.cc Fri Mar 06 07:42:13 2015 +0100 @@ -79,6 +79,7 @@ _close_button->setIconSize (QSize (12,12)); _icon_color = ""; + _title_3d = 50; QHBoxLayout *h_layout = new QHBoxLayout (); h_layout->addStretch (100); @@ -316,11 +317,24 @@ icon_col = _icon_color; } + QColor bg_col_top, bg_col_bottom; + if (_title_3d > 0) + { + bg_col_top = bg_col.lighter (100 + _title_3d); + bg_col_bottom = bg_col.darker (100 + _title_3d); + } + else + { + bg_col_top = bg_col.darker (100 - _title_3d); + bg_col_bottom = bg_col.lighter (100 - _title_3d); + } + QString background = QString ("background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1," - " stop: 0 %1, stop: 0.75 %2, stop: 0.9 %2, stop: 1.0 %1);"). - arg (bg_col.lighter ().name ()). - arg (bg_col.name ()); + " stop: 0 %1, stop: 0.60 %2, stop: 0.95 %2 stop: 1.0 %3);"). + arg (bg_col_top.name ()). + arg (bg_col.name ()). + arg (bg_col_bottom.name ()); #if defined (Q_OS_WIN32) css = background + QString (" color: %1 ;").arg (fg_col.name ()); @@ -374,6 +388,9 @@ _custom_style = settings->value ("DockWidgets/widget_title_custom_style",false).toBool (); + _title_3d = + settings->value ("DockWidgets/widget_title_3d",50).toInt (); + QColor default_var = QColor (0,0,0); _fg_color = settings->value ("Dockwidgets/title_fg_color", default_var).value (); diff -r b8ce2f42815c -r 2a992bd19169 libgui/src/octave-dock-widget.h --- a/libgui/src/octave-dock-widget.h Fri Mar 06 11:34:21 2015 -0500 +++ b/libgui/src/octave-dock-widget.h Fri Mar 06 07:42:13 2015 +0100 @@ -122,6 +122,7 @@ QMainWindow *_parent; // store the parent since we are reparenting to 0 bool _floating; bool _custom_style; + int _title_3d; QColor _bg_color; QColor _bg_color_active; QColor _fg_color; diff -r b8ce2f42815c -r 2a992bd19169 libgui/src/settings-dialog.cc --- a/libgui/src/settings-dialog.cc Fri Mar 06 11:34:21 2015 -0500 +++ b/libgui/src/settings-dialog.cc Fri Mar 06 07:42:13 2015 +0100 @@ -144,6 +144,8 @@ connect (ui->cb_widget_custom_style, SIGNAL (toggled (bool)), _widget_title_fg_color_active, SLOT (setEnabled (bool))); + ui->sb_3d_title->setValue ( + settings->value ("DockWidgets/widget_title_3d", 50).toInt ()); ui->cb_widget_custom_style->setChecked ( settings->value ("DockWidgets/widget_title_custom_style",false).toBool ()); @@ -644,6 +646,8 @@ // dock widget title bar settings->setValue ("DockWidgets/widget_title_custom_style", ui->cb_widget_custom_style->isChecked ()); + settings->setValue ("DockWidgets/widget_title_3d", + ui->sb_3d_title->value ( )); settings->setValue ("Dockwidgets/title_bg_color", _widget_title_bg_color->color ()); settings->setValue ("Dockwidgets/title_bg_color_active", diff -r b8ce2f42815c -r 2a992bd19169 libgui/src/settings-dialog.ui --- a/libgui/src/settings-dialog.ui Fri Mar 06 11:34:21 2015 -0500 +++ b/libgui/src/settings-dialog.ui Fri Mar 06 07:42:13 2015 +0100 @@ -32,7 +32,7 @@ - 1 + 0 @@ -52,8 +52,8 @@ 0 0 - 678 - 378 + 662 + 382 @@ -226,6 +226,41 @@ + + 0 + + + + + false + + + Active + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + + + + Qt::Horizontal + + + QSizePolicy::Fixed + + + + 40 + 20 + + + + @@ -252,13 +287,6 @@ - - - - Custom style - - - @@ -275,38 +303,13 @@ - - - - Qt::Horizontal - - - QSizePolicy::Fixed - - - - 40 - 20 - - - - - - - - false - + + - Active - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + Custom style - - - @@ -329,6 +332,41 @@ + + + + false + + + 3D + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + false + + + + 0 + 0 + + + + -80 + + + 80 + + + 50 + + + @@ -2900,5 +2938,37 @@ + + cb_widget_custom_style + toggled(bool) + label_3d_title + setEnabled(bool) + + + 260 + 186 + + + 419 + 236 + + + + + cb_widget_custom_style + toggled(bool) + sb_3d_title + setEnabled(bool) + + + 260 + 186 + + + 507 + 236 + + +