Summary: | Add explanatory text to element's icon | ||
---|---|---|---|
Product: | [Applications] kalzium | Reporter: | Benoît Jacob <jacob.benoit.1> |
Component: | general | Assignee: | Kalzium Developers <kalzium> |
Status: | RESOLVED DUPLICATE | ||
Severity: | wishlist | ||
Priority: | NOR | ||
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | Compiled Sources | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: |
Description
Benoît Jacob
2007-04-30 09:36:39 UTC
I said "don't remember" but I meant "don't forget" or "remember" of course! another idea: in "iconic look" mode, the explanatory text could be shown as a mouseover info-bubble. SVN commit 659420 by cniehaus: Now the information is displayed by a kDebug() and I only added crap-information to iconinformation.txt. Jarle, perhaps you and me can fill up the time when we find time. CCBUG:144861 M +1 -0 data/iconsets/school/CMakeLists.txt A data/iconsets/school/iconinformation.txt M +35 -10 src/kalzium.cpp M +4 -2 src/kalzium.h --- trunk/KDE/kdeedu/kalzium/data/iconsets/school/CMakeLists.txt #659419:659420 @@ -2,4 +2,5 @@ 7.svg 11.svg 13.svg 18.svg 26.svg 2.svg 33.svg 35.svg 3.svg 49.svg 54.svg 56.svg 6.svg 74.svg 81.svg 8.svg 12.svg 16.svg 19.svg 27.svg 30.svg 34.svg 39.svg 47.svg 51.svg 55.svg 5.svg 60.svg 72.svg 79.svg 85.svg 9.svg 83.svg 62.svg 20.svg 52.svg 52.svg 57.svg + iconinformation.txt DESTINATION ${DATA_INSTALL_DIR}/kalzium/data/iconsets/school ) --- trunk/KDE/kdeedu/kalzium/src/kalzium.cpp #659419:659420 @@ -113,17 +113,17 @@ helperSV->setFrameShape( QFrame::NoFrame ); fakelay->addWidget( helperSV ); - m_legendWidget = new LegendWidget( this ); - connect( m_PeriodicTableView, SIGNAL(ModeChanged( KalziumPainter::MODE) ), - m_legendWidget, SLOT(setMode(KalziumPainter::MODE) ) ); - connect( m_PeriodicTableView, SIGNAL(TableTypeChanged( KalziumTableType* ) ), - m_legendWidget, SLOT( setTableType( KalziumTableType * ) ) ); - connect( m_PeriodicTableView, SIGNAL( SchemeChanged( KalziumSchemeType * ) ), - m_legendWidget, SLOT( setScheme( KalziumSchemeType * ) ) ); + m_legendWidget = new LegendWidget( this ); + connect( m_PeriodicTableView, SIGNAL(ModeChanged( KalziumPainter::MODE) ), + m_legendWidget, SLOT(setMode(KalziumPainter::MODE) ) ); + connect( m_PeriodicTableView, SIGNAL(TableTypeChanged( KalziumTableType* ) ), + m_legendWidget, SLOT( setTableType( KalziumTableType * ) ) ); + connect( m_PeriodicTableView, SIGNAL( SchemeChanged( KalziumSchemeType * ) ), + m_legendWidget, SLOT( setScheme( KalziumSchemeType * ) ) ); - m_TableInfoWidget = new TableInfoWidget( this ); - connect( m_PeriodicTableView, SIGNAL(TableTypeChanged( KalziumTableType* ) ), - m_TableInfoWidget, SLOT( setTableType( KalziumTableType * ) ) ); + m_TableInfoWidget = new TableInfoWidget( this ); + connect( m_PeriodicTableView, SIGNAL(TableTypeChanged( KalziumTableType* ) ), + m_TableInfoWidget, SLOT( setTableType( KalziumTableType * ) ) ); m_infoDialog = 0; m_toolboxCurrent = 0; @@ -562,6 +562,8 @@ void Kalzium::elementHover( int num ) { + extractIconicInformationAboutElement( num ); + Element *e = KalziumDataObject::instance()->element( num ); statusBar()->changeItem( i18nc( "For example: \"Carbon (6), Mass: 12.0107 u\"", "%1 (%2), Mass: %3 u" , e->dataAsString( ChemicalDataObject::name ) , @@ -570,7 +572,30 @@ m_detailWidget->setBackgroundColor( m_PeriodicTableView->brushForElement( num ).color() ); } + +void Kalzium::extractIconicInformationAboutElement( int elementNumber ) +{ + QString setname = "school"; + QString pathname = KGlobal::dirs()->findResourceDir( "appdata", "data/iconsets/" ) + "data/iconsets/"; + QString filename = pathname + setname + '/' + "iconinformation.txt"; + QFile file(filename); + if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) + return; + + QString infoline; + + QTextStream in(&file); + while (!in.atEnd()) { + QString tmp = in.readLine(); + if( tmp.startsWith( QString::number( elementNumber ) ) ) + infoline = tmp; + } + + QString realText = infoline.remove( QRegExp("\\d+ ") ); + kDebug() << "the final text: " << realText << endl; +} + void Kalzium::openInformationDialog( int number ) { if (m_infoDialog) --- trunk/KDE/kdeedu/kalzium/src/kalzium.h #659419:659420 @@ -61,8 +61,8 @@ private: DetailedInfoDlg *m_infoDialog; - LegendWidget *m_legendWidget; - TableInfoWidget *m_TableInfoWidget; + LegendWidget *m_legendWidget; + TableInfoWidget *m_TableInfoWidget; /** * this pointer points to the PeriodicTableView. @@ -78,6 +78,8 @@ *initialize the sidebars */ void setupSidebars(); + + void extractIconicInformationAboutElement( int elementNumber ); /** * all KActions Kalzium uses |