Bug 112413

Summary: Biological symbol cannot always be seen
Product: [Applications] kalzium Reporter: Carsten Niehaus <cniehaus>
Component: generalAssignee: Kalzium Developers <kalzium>
Status: RESOLVED FIXED    
Severity: normal    
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: unspecified   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Carsten Niehaus 2005-09-11 13:34:37 UTC
Version:           1.4.2 (using KDE 3.4.2, Kubuntu Package 4:3.4.2-0ubuntu4 )
Compiler:          Target: i486-linux-gnu
OS:                Linux (i686) release 2.6.12-8-386

Depending on the colors Kalzium is using to display an elment the biological symbol might not be very hard to see. I suggest to draw a 1/4-circle in the top-right corner of the overview widget which is for example white so that the symbol can always be seen.
Comment 1 Pino Toscano 2005-09-11 17:58:00 UTC
SVN commit 459613 by pino:

Draw a white background for the biological symbol, if present.
CCBUG: 112413


 M  +11 -2     detailedgraphicaloverview.cpp  


--- branches/KDE/3.5/kdeedu/kalzium/src/detailedgraphicaloverview.cpp #459612:459613
@@ -155,9 +155,18 @@
 
 	int d_ds = ( db/2 )-( ds/2 ); //the delta-x/y of the inner circle
 
-	int pos_x = width() - 8 - db;
-	int pos_y = 8;
+	int pos_x = width() - 4 - db;
+	int pos_y = 4;
 
+	if ( m_element->biological() > 0 )
+	{
+		const int radius = db + 8;
+		p->setBrush( Qt::SolidPattern );
+		p->setBrush( Qt::white );
+		p->setPen( Qt::white );
+		p->drawRoundRect( QRect( width() - radius, -radius, 2 * radius, 2 * radius ), 40, 40 );
+	}
+
 	switch ( m_element->biological() )
 	{
 		case 0:        //nothing
Comment 2 Pino Toscano 2005-09-11 17:59:58 UTC
SVN commit 459614 by pino:

Forwardport: draw a white background for the biological symbol, if present.
BUG: 112413


 M  +11 -2     detailedgraphicaloverview.cpp  


--- trunk/KDE/kdeedu/kalzium/src/detailedgraphicaloverview.cpp #459613:459614
@@ -155,9 +155,18 @@
 
 	int d_ds = ( db/2 )-( ds/2 ); //the delta-x/y of the inner circle
 
-	int pos_x = width() - 8 - db;
-	int pos_y = 8;
+	int pos_x = width() - 4 - db;
+	int pos_y = 4;
 
+	if ( m_element->biological() > 0 )
+	{
+		const int radius = db + 8;
+		p->setBrush( Qt::SolidPattern );
+		p->setBrush( Qt::white );
+		p->setPen( Qt::white );
+		p->drawRoundRect( QRect( width() - radius, -radius, 2 * radius, 2 * radius ), 40, 40 );
+	}
+
 	switch ( m_element->biological() )
 	{
 		case 0:        //nothing