📜 ⬆️ ⬇️

KSocrat is alive

I love this program - KSocrat.
Small, sits in the tray, no frills, uses the library Qt .
And here an annoying glitch appeared in it - when translating some words, scrolling goes to the end of the file and the entire “relevant” translation is left far behind.

The latest release of this miracle was already 6 years ago, July 17, 2004; why the author abandoned it is not clear.
Yes, she does not know how to translate phrases as stardict, but translates only between eng and rus, but I don’t need anything else, the main thing is to quickly and adequately translate an unfamiliar word:

image
')
If someone else uses this miracle and wants to drank it with a file, we climb into the raws:

In iskhonikakh there is such file: /ksocrat/ksocrat.cpp
Beginning at line 143 the following code goes:
Copy Source | Copy HTML void KSocrat::done(){ if( !sMsgs.isEmpty( )) { meResult->append( sMsgs ); meResult->append( "--------------------------------" ); sMsgs = "" ; } if( iMultiPass ) { grepSentence( false ); } else { btTranslate->setEnabled( true ); } }
Copy Source | Copy HTML void KSocrat::done(){ if( !sMsgs.isEmpty( )) { meResult->append( sMsgs ); meResult->append( "--------------------------------" ); sMsgs = "" ; } if( iMultiPass ) { grepSentence( false ); } else { btTranslate->setEnabled( true ); } }
  1. Copy Source | Copy HTML void KSocrat::done(){ if( !sMsgs.isEmpty( )) { meResult->append( sMsgs ); meResult->append( "--------------------------------" ); sMsgs = "" ; } if( iMultiPass ) { grepSentence( false ); } else { btTranslate->setEnabled( true ); } }
  2. Copy Source | Copy HTML void KSocrat::done(){ if( !sMsgs.isEmpty( )) { meResult->append( sMsgs ); meResult->append( "--------------------------------" ); sMsgs = "" ; } if( iMultiPass ) { grepSentence( false ); } else { btTranslate->setEnabled( true ); } }
  3. Copy Source | Copy HTML void KSocrat::done(){ if( !sMsgs.isEmpty( )) { meResult->append( sMsgs ); meResult->append( "--------------------------------" ); sMsgs = "" ; } if( iMultiPass ) { grepSentence( false ); } else { btTranslate->setEnabled( true ); } }
  4. Copy Source | Copy HTML void KSocrat::done(){ if( !sMsgs.isEmpty( )) { meResult->append( sMsgs ); meResult->append( "--------------------------------" ); sMsgs = "" ; } if( iMultiPass ) { grepSentence( false ); } else { btTranslate->setEnabled( true ); } }
  5. Copy Source | Copy HTML void KSocrat::done(){ if( !sMsgs.isEmpty( )) { meResult->append( sMsgs ); meResult->append( "--------------------------------" ); sMsgs = "" ; } if( iMultiPass ) { grepSentence( false ); } else { btTranslate->setEnabled( true ); } }
  6. Copy Source | Copy HTML void KSocrat::done(){ if( !sMsgs.isEmpty( )) { meResult->append( sMsgs ); meResult->append( "--------------------------------" ); sMsgs = "" ; } if( iMultiPass ) { grepSentence( false ); } else { btTranslate->setEnabled( true ); } }
  7. Copy Source | Copy HTML void KSocrat::done(){ if( !sMsgs.isEmpty( )) { meResult->append( sMsgs ); meResult->append( "--------------------------------" ); sMsgs = "" ; } if( iMultiPass ) { grepSentence( false ); } else { btTranslate->setEnabled( true ); } }
  8. Copy Source | Copy HTML void KSocrat::done(){ if( !sMsgs.isEmpty( )) { meResult->append( sMsgs ); meResult->append( "--------------------------------" ); sMsgs = "" ; } if( iMultiPass ) { grepSentence( false ); } else { btTranslate->setEnabled( true ); } }
  9. Copy Source | Copy HTML void KSocrat::done(){ if( !sMsgs.isEmpty( )) { meResult->append( sMsgs ); meResult->append( "--------------------------------" ); sMsgs = "" ; } if( iMultiPass ) { grepSentence( false ); } else { btTranslate->setEnabled( true ); } }
  10. Copy Source | Copy HTML void KSocrat::done(){ if( !sMsgs.isEmpty( )) { meResult->append( sMsgs ); meResult->append( "--------------------------------" ); sMsgs = "" ; } if( iMultiPass ) { grepSentence( false ); } else { btTranslate->setEnabled( true ); } }
  11. Copy Source | Copy HTML void KSocrat::done(){ if( !sMsgs.isEmpty( )) { meResult->append( sMsgs ); meResult->append( "--------------------------------" ); sMsgs = "" ; } if( iMultiPass ) { grepSentence( false ); } else { btTranslate->setEnabled( true ); } }
  12. Copy Source | Copy HTML void KSocrat::done(){ if( !sMsgs.isEmpty( )) { meResult->append( sMsgs ); meResult->append( "--------------------------------" ); sMsgs = "" ; } if( iMultiPass ) { grepSentence( false ); } else { btTranslate->setEnabled( true ); } }
  13. Copy Source | Copy HTML void KSocrat::done(){ if( !sMsgs.isEmpty( )) { meResult->append( sMsgs ); meResult->append( "--------------------------------" ); sMsgs = "" ; } if( iMultiPass ) { grepSentence( false ); } else { btTranslate->setEnabled( true ); } }

paste after the line:
Copy Source | Copy HTML meResult->append("--------------------------------");
Copy Source | Copy HTML meResult->append("--------------------------------");
  1. Copy Source | Copy HTML meResult->append("--------------------------------");

such line:
Copy Source | Copy HTML meResult->setCursorPosition(0,0);
Copy Source | Copy HTML meResult->setCursorPosition(0,0);
  1. Copy Source | Copy HTML meResult->setCursorPosition(0,0);

that's all, now we do make.

Official page of the program: http://ksocrat.linux.kiev.ua/

Source: https://habr.com/ru/post/87067/


All Articles