author | drw <drw> | 2005-08-09 22:24:10 (UTC) |
---|---|---|
committer | drw <drw> | 2005-08-09 22:24:10 (UTC) |
commit | 0c362cbc72dfbff246c0f11417d364b45b50ec94 (patch) (side-by-side diff) | |
tree | 6e1fcdc99ff40752343d7b4c99822eba591a2f15 /noncore/apps/dagger/mainwindow.cpp | |
parent | 873a383cfc4f9184adfe9257500df8c03648b0fd (diff) | |
download | opie-0c362cbc72dfbff246c0f11417d364b45b50ec94.zip opie-0c362cbc72dfbff246c0f11417d364b45b50ec94.tar.gz opie-0c362cbc72dfbff246c0f11417d364b45b50ec94.tar.bz2 |
Several updates to Dagger, see /noncore/apps/dagger/ChangeLog for more information
Diffstat (limited to 'noncore/apps/dagger/mainwindow.cpp') (more/less context) (show whitespace changes)
-rw-r--r-- | noncore/apps/dagger/mainwindow.cpp | 62 |
1 files changed, 29 insertions, 33 deletions
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 @@ -322,12 +322,14 @@ void MainWindow::openModule( const QString &modulename, const QString &key ) m_actionEditCopy->setEnabled( true ); m_actionBookmarkAdd->setEnabled( true ); // Set key if one is present if ( !key.isNull() ) tw->setKey( key ); + setCaption( QString( "%1 - Dagger" ).arg( tw->getFullKey() ) ); + m_navToolbar->setKey( tw->getAbbrevKey() ); } } } int MainWindow::findBookmark( const QString &bookmark ) { @@ -631,18 +633,19 @@ void MainWindow::slotNavPrevVerse() m_navToolbar->setKey( text->getAbbrevKey() ); } } 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() ) ); } } void MainWindow::slotNavNextVerse() @@ -696,58 +699,51 @@ 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 } } } } |