Skip to content

Commit 243acb3

Browse files
committed
Dynamically set number of columns to show in character widget
based on widget width, and avoid unnecessary horizontal scroll bar
1 parent ffe02c3 commit 243acb3

File tree

6 files changed

+12
-1
lines changed

6 files changed

+12
-1
lines changed

python/gui/auto_generated/symbology/characterwidget.sip.in

+2
Original file line numberDiff line numberDiff line change
@@ -128,6 +128,8 @@ Emitted when a character is selected in the widget.
128128

129129
virtual void paintEvent( QPaintEvent *event );
130130

131+
virtual void resizeEvent( QResizeEvent *event );
132+
131133

132134
};
133135

src/gui/qgsscrollarea.cpp

+1
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
#include <QEvent>
1717
#include <QMouseEvent>
1818
#include "qgsscrollarea.h"
19+
#include <QScrollBar>
1920

2021
// milliseconds to swallow child wheel events for after a scroll occurs
2122
#define TIMEOUT 1000

src/gui/symbology/characterwidget.cpp

+6
Original file line numberDiff line numberDiff line change
@@ -256,3 +256,9 @@ void CharacterWidget::paintEvent( QPaintEvent *event )
256256
}
257257
}
258258
}
259+
260+
void CharacterWidget::resizeEvent( QResizeEvent *event )
261+
{
262+
mColumns = event->size().width() / mSquareSize;
263+
QWidget::resizeEvent( event );
264+
}

src/gui/symbology/characterwidget.h

+1
Original file line numberDiff line numberDiff line change
@@ -161,6 +161,7 @@ class GUI_EXPORT CharacterWidget : public QWidget
161161
void mouseMoveEvent( QMouseEvent *event ) override;
162162
void mousePressEvent( QMouseEvent *event ) override;
163163
void paintEvent( QPaintEvent *event ) override;
164+
void resizeEvent( QResizeEvent *event ) override;
164165

165166
private:
166167
QFont mDisplayFont;

src/gui/symbology/qgssymbollayerwidget.cpp

+1
Original file line numberDiff line numberDiff line change
@@ -3253,6 +3253,7 @@ QgsFontMarkerSymbolLayerWidget::QgsFontMarkerSymbolLayerWidget( QgsVectorLayer *
32533253

32543254
widgetChar = new CharacterWidget();
32553255
scrollArea->setWidget( widgetChar );
3256+
scrollArea->setVerticalOnly( true );
32563257

32573258
btnColor->setAllowOpacity( true );
32583259
btnColor->setColorDialogTitle( tr( "Select Symbol Fill Color" ) );

src/ui/symbollayer/widget_fontmarker.ui

+1-1
Original file line numberDiff line numberDiff line change
@@ -360,7 +360,7 @@
360360
</property>
361361
<property name="sizeHint" stdset="0">
362362
<size>
363-
<width>20</width>
363+
<width>0</width>
364364
<height>40</height>
365365
</size>
366366
</property>

0 commit comments

Comments
 (0)