-rw-r--r-- | noncore/apps/dagger/ChangeLog | 8 | ||||
-rw-r--r-- | noncore/apps/dagger/README | 8 | ||||
-rw-r--r-- | noncore/apps/dagger/TODO | 7 | ||||
-rw-r--r-- | noncore/apps/dagger/mainwindow.cpp | 62 | ||||
-rw-r--r-- | noncore/apps/dagger/opie-dagger.control | 2 | ||||
-rw-r--r-- | noncore/apps/dagger/searchbar.cpp | 2 |
6 files changed, 48 insertions, 41 deletions
diff --git a/noncore/apps/dagger/ChangeLog b/noncore/apps/dagger/ChangeLog index 108419e..22b20d4 100644 --- a/noncore/apps/dagger/ChangeLog +++ b/noncore/apps/dagger/ChangeLog @@ -1,4 +1,12 @@ +2005-08-09 Dan Williams <drw@handhelds.org> + + * Released version 0.9.2 + * Added support for Sword v1.5.8 + * Implemented morph tag cross-referencing + * Fix crash when last module is closed + * Fix display of key when module is opened + 2004-04-22 Dan Williams <drw@handhelds.org> * Released version 0.9.1 * Fixed the disabling of screen blanking diff --git a/noncore/apps/dagger/README b/noncore/apps/dagger/README index 00e9eed..47b8eee 100644 --- a/noncore/apps/dagger/README +++ b/noncore/apps/dagger/README @@ -1,16 +1,16 @@ /************************************************************************ /* /* Opie - Dagger /* =============== -/* Version 0.9.1 +/* Version 0.9.2 /* /* A Bible study/reader application /* /************************************************************************ --------------------------------------------- - Release Notes for Opie-Dagger - April, 2004 + Release Notes for Opie-Dagger - August, 2005 --------------------------------------------- ====================== = To-do = @@ -24,9 +24,9 @@ In order to build opie-dagger, libsword needs to be present on the build system along with the appropriate headers. -- libsword source (best to use version 1.5.x or greater): +- libsword source (requires version 1.5.8 or greater): - http://www.crosswire.org/sword/ - the Sword library headers need to be located in an appropriate include directory @@ -47,9 +47,9 @@ the build system along with the appropriate headers. ====================== = Credits = ====================== -- Opie-Dagger is (C) 2004 Dan Williams +- Opie-Dagger is (C) 2004, 2005 Dan Williams ====================== = Links = ====================== diff --git a/noncore/apps/dagger/TODO b/noncore/apps/dagger/TODO index 1530bd6..21426aa 100644 --- a/noncore/apps/dagger/TODO +++ b/noncore/apps/dagger/TODO @@ -1,23 +1,26 @@ /************************************************************************ /* /* Opie - Dagger /* =============== -/* Version 0.9.1 +/* Version 0.9.2 /* /* A Bible study/reader application /* /************************************************************************ ------------------------------------ -To-do for Opie-Dagger - April, 2004 +To-do for Opie-Dagger - August, 2005 ------------------------------------ ====================== = Current release = ====================== 1. Implement module installation +2. Fix support for other languages +3. Fix display sleep prevention +4. Implement footnote cross-referencing ====================== = Future releases = ====================== diff --git a/noncore/apps/dagger/mainwindow.cpp b/noncore/apps/dagger/mainwindow.cpp index 1f2d521..f61df68 100644 --- a/noncore/apps/dagger/mainwindow.cpp +++ b/noncore/apps/dagger/mainwindow.cpp @@ -324,8 +324,10 @@ void MainWindow::openModule( const QString &modulename, const QString &key ) // Set key if one is present if ( !key.isNull() ) tw->setKey( key ); + setCaption( QString( "%1 - Dagger" ).arg( tw->getFullKey() ) ); + m_navToolbar->setKey( tw->getAbbrevKey() ); } } } @@ -633,14 +635,15 @@ void MainWindow::slotNavPrevVerse() } void MainWindow::slotNavKeyChanged( const QString &newKey ) { - QString key = newKey; - key.replace( QRegExp( "[-=.]" ), ":" ); - TextWidget *text = reinterpret_cast<TextWidget *>(m_tabs.currentWidget()); if ( text ) { + QString key = newKey; + if ( text->isBibleText() ) + key.replace( QRegExp( "[-=.]" ), ":" ); + text->setKey( key ); setCaption( QString( "%1 - Dagger" ).arg( text->getFullKey() ) ); } } @@ -698,56 +701,49 @@ void MainWindow::slotSearchResultClicked( const QString &key ) void MainWindow::slotTextRefClicked( const QString &ref ) { //printf( "Ref clicked: '%s'\n", ref.latin1() ); /* -Ref clicked: 'type=Strongs value=G3482' -Ref clicked: 'type=Strongs value=H07225' -Ref clicked: 'type=morph class=x-Robinson:N-PRI value=N-PRI' -Ref clicked: 'type=morph class=x-StrongsMorph:TH8804 value=TH8804' +Ref clicked: 'passagestudy.jsp?action=showStrongs&type=Hebrew&value=07225' +Ref clicked: 'passagestudy.jsp?action=showStrongs&type=Greek&value=602' +Ref clicked: 'passagestudy.jsp?action=showMorph&type=x-Robinson%3AN-NSF&value=N-NSF' +Ref clicked: 'passagestudy.jsp?action=showNote&type=n&value=1&module=KJV&passage=Genesis+1%3A5' */ //owarn << "Reference: " << ref << oendl; if ( !ref.isNull() ) { TextWidget *text = reinterpret_cast<TextWidget *>(m_tabs.currentWidget()); if ( text ) { - // Parse type - int pos = ref.find( "type=", 0, false ) + 5; - QString typeStr = ref.mid( pos, ref.find( ' ', pos ) - pos ); - - // Parse class (for morph. only) - QString classStr; - if ( typeStr == "morph" ) - { - pos = ref.find( "class=", 0, false ) + 5; - QString classStr = ref.mid( pos, ref.find( ' ', pos ) - pos ); + // Parse action + int pos = ref.find( '&', 28 ); + QString actionStr = ref.mid( 28, pos - 28 ); - // TODO - need to strip 'x-' from beginning and ':key' at end? - } + // Parse type + pos = ref.find( "type=", pos, false ) + 5; + QString typeStr = ref.mid( pos, ref.find( '&', pos ) - pos ); // Parse value pos = ref.find( "value=", 0, false ) + 6; QString valueStr = ref.mid( pos, ref.find( ' ', pos ) - pos ); - if ( typeStr == "Strongs" ) + if ( actionStr == "Strongs" ) { - //Determine if is a Hebrew or Greek reference - QString module; - if ( valueStr.at( 0 ) == 'H' ) - module = "StrongsHebrew"; - else - module = "StrongsGreek"; + QString module = actionStr; + module.append( typeStr ); - // Get key - QString key( valueStr ); - key.remove( 0, 1 ); // Open reference - openModule( module, key ); + openModule( module, valueStr ); + } + else if ( actionStr == "Morph" ) + { + QString module = typeStr.mid( 2, typeStr.find( '%', 2 ) - 2 ); + + // Open reference + openModule( module, valueStr ); } - else if ( typeStr == "morph" ) + else if ( actionStr == "Note" ) { - QMessageBox::information( this, tr( "Morphological Tags" ), - tr( "Morphological tag cross-referencing not implemented yet." ) ); + // TODO } } } } diff --git a/noncore/apps/dagger/opie-dagger.control b/noncore/apps/dagger/opie-dagger.control index 4ded1f2..e613ddb 100644 --- a/noncore/apps/dagger/opie-dagger.control +++ b/noncore/apps/dagger/opie-dagger.control @@ -5,5 +5,5 @@ Section: opie/applications Depends: task-opie-minimal, libopiecore2, libopieui2 Architecture: arm Maintainer: Dan Williams (drw@handhelds.org) Description: A Bible study program utilizing the Sword library. -Version: 0.9.1$EXTRAVERSION +Version: 0.9.2$EXTRAVERSION diff --git a/noncore/apps/dagger/searchbar.cpp b/noncore/apps/dagger/searchbar.cpp index b195f67..463a19f 100644 --- a/noncore/apps/dagger/searchbar.cpp +++ b/noncore/apps/dagger/searchbar.cpp @@ -90,9 +90,9 @@ SearchBar::SearchBar( QMainWindow *parent ) void SearchBar::setCurrModule( TextWidget *currText ) { m_actionFind->setEnabled( ( m_searchText->text() != "" ) && currText ); - if ( !m_currText || ( currText->getModuleName() != m_currText->getModuleName() ) ) + if ( !m_currText || !currText || ( currText->getModuleName() != m_currText->getModuleName() ) ) { m_actionPrev->setEnabled( false ); m_resultList->clear(); m_resultList->setEnabled( false ); |