GithubHelp home page GithubHelp logo

biblequote / biblequote Goto Github PK

View Code? Open in Web Editor NEW
24.0 24.0 8.0 64.51 MB

Quote the Bible with confidence | Цитируй Библию уверенно

Home Page: https://www.biblequote.org

Pascal 96.99% C++ 0.06% Batchfile 0.03% HTML 0.26% Shell 0.01% CSS 0.01% C 0.32% Makefile 0.12% Perl 0.01% TeX 1.43% Inno Setup 0.01% Rich Text Format 0.76%
bible bible-study bible-translations bible-verse biblequote module mybible

biblequote's Introduction


awesome

BibleQuote 7

Quote the Bible with confidence | Цитируй Библию уверенно

BibleQuote screenshot

© BibleQuote.org 2017-2020

biblequote's People

Contributors

alexeypolischuk avatar djtsov avatar igorkachura avatar pepaulo avatar rgilmutdinov avatar rkazakov avatar romandueck avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

biblequote's Issues

Run CLI build command on a local machine using AppVeyor

As a BibleQuote developer, I would like to run CLI build command on a local machine using AppVeyor, so that I could later use it to set up Continuous Integration and Automated UI testing.

Acceptance Criteria:

  • Run CLI script that was built in #66 when a new commit is pushed to master branch.

Technical Details:

Add BibleQuote modules samples to Modules folder

As BibleQuote developer, I would like to add samples of modules in projects Modules folder, so that they can be used to test the application manually.

Acceptance criteria:

  • Modules folder contains several Bible modules
  • Modules folder contains several commentaries
  • Modules folder contains several dictionaries

Move BibleQuote forms into a separate folder

As a BibleQuote developer, I would like to see BibleQuote forms in a separate folder, so that the forms will not mix with the rest of the project source code.

Acceptance Criteria:

Form files are moved into \Forms folder under BibleQuote root directory.

Redesign dictionary tab

As a BibleQuote user, I would like to redesign dictionary tab, so that I could see list of words as well as their definitions clearly.

dictionary-redesigned

Acceptance Criteria:

  • Dictionary tab is redesigned according to the screenshot.

First Tab: Move Bible reference text box to a module tab level

As a BibleQuote user, I would like to move Bible reference text edit to module tab level, so that it can be accessed easier.

screen shot 2018-05-12 at 9 16 06 am

Acceptance criteria:

  • Bible reference text edit, OK button and Information button are located in a module tab in this order
  • New components are located on the right side of the existing components
  • Pressing Enter or clicking OK button navigates to the Bible reference entered in the text edit

Access modules library at the tabs level

As a BibleQuote user, I would like to access modules library at the tabs level, so that it is easier to navigate between modules.

Note: This story is dependent on #85.

40104634-33deb264-5934-11e8-9590-f36516191e9b

Acceptance criteria:

  • Modules combo box component is removed from the application
  • Library is accessible as one of the tabs and can be opened by clicking the library button
  • Library tab provides the ability to search for modules (TEdit component)
  • Library tab includes module type combo box with 5 values: All modules, Bibles, Commentaries, Dictionaries, Books (these values need to be localised based on the interface language). By default, All modules option is selected.
  • Library tab has Clear button that when clicked will clear the input in the TEdit

Module list item inside library tab should be similar to the one below:

untitled

Acceptance criteria:

  • Each of the list items (BibleQuote modules) includes:
    • Image. Value comes from ModuleImage config attribute. If missing, default image is shown (default image: https://rmnetwork.org/newrmn/wp-content/uploads/2011/11/generic-book-cover.jpg).
    • Module name. Value comes from ModuleName. If missing BibleName config attribute.
    • Author. Value comes from ModuleAuthor. If missing Copyright config attribute.
    • Type. Value comes from ModuleType config attribute: (Bibles, Commentaries, Dictionaries or Books). If missing, figure out the type based on the folder path (old way).
  • Do not display System modules: TSK and Strongs in the list of modules.

Show information about the module when info button is clicked

As a BibleQuote user, I would like to show information about the module when info button is clicked, so that I know basic info about the module when I need it.

Acceptance criteria:

  • File copyright.html from module folder is displayed in module content area when Info button is clicked
  • Icon is changed to the one showing to close information about the module when displaying the information
  • Form to display configuration for the module is removed if it is not used for something else

Investigate possibility to make BibleQuote version for MacOS

As a BibleQuote developer, I would like to know how much effort it would take to produce BibleQuote version for MacOS platform.

Things to consider:

  • Investigate if it is possible to add MacOS platform in Delphi
  • Investigate if third-party components that are currently used in BibleQuote are compatible with MacOS

Make BibleQuote forms editable in Delphi Form Designer

As a BibleQuote developer, I would like to open any form from BibleQuote project using Delphi Form Designer and be able to modify it.

Acceptance Criteria:

  • I can open any BibleQuote form in Delphi Form Designer.
  • If some component is missing from the form, I should be able to find it in project's root folder and install it.

DRAFT: Make all fonts in the application consistent by default

As a BibleQuote user, I would like to make all fonts in the application consistent by default, so that there were a few fonts used by default.

Acceptance criteria:

  • A few fonts are used in the application.

Additional details

Сейчас настройки шрифта и цвета применяются только к главному окну, dockable формы с табами остаются без изменений. Это связано с тем, что раньше все контролы наследовали настройки главного окна и при их изменении контролы автоматически обновлялись. Сейчас же эти контролы находятся на отдельных формах, которые настройки главной формы не наследуют. Надо будет обновлять все dockable формы вручную при изменении настроек.

Remove BibleQuote nested folder

As a BibleQuote developer, I would like to remove BibleQuote nested folder, so that I have less nested folders in the source code.

Acceptance Criteria:

  • Version 6 is removed from project file name: BibleQuote6 to BibleQuote.
  • Project's source code files are moved into repository root folder.

Refactor AlekControls components

As a BibleQuote developer, I would like to refactor AlekControls components to live in a separate folder for custom components.

Acceptance Criteria:

TAlekPanel:

  • Component is renamed to TGradientPanel.
  • Component is moved to a subfolder for custom BibleQuote components BqComponents.

TAlekPageControl

  • Component is renamed to TClosablePageControl.
  • Component is moved to a subfolder for custom BibleQuote components BqComponents.
  • It is possible to add closable icon from the component property.

Complete missing localization for English, Russian and German

As BibleQuote user, I would like application to be fully localized in English, Russian and German languages.

Acceptance criteria:

  • Localization files (russian.lng, english.lng, german.lng) include all translatable GUI caption/labels with translation.

Fix references display in dictionary articles

As a BibleQuote user, I would like to fix references display in dictionary articles, so that I am able to navigate to the reference by clicking the link.

dictionary

Acceptance criteria:

  • References display correctly in dictionary articles
  • Clicking on the reference navigates user to the right module

Update Help menu and About screen

As a BibleQuote user, I would like to update Help menu and About screen, so that I have relevant information about the application and its authors.

Acceptance criteria:

Help menu

  • Remove User manual menu item
  • Remove JesusChrist.ru menu item
  • Remove Download the last version menu item

Application options

  • Update application version info (Project options - Application - Version Info) and set:
    - Major version to 7
    - Minor version to 0
    - Release to 1
    - Build number options to Auto increment build number

About screen

  • Disable the ability to minimise and maximise the screen
  • Remove the old logo
  • Remove the two links near the OK button
  • Center the OK button on the screen
  • Replace the label BibleQuote 6 with BibleQuote and align left
  • In the main text:
    • Read the value from FileVersion global application variable and set it in text
    • Replace the text with:
Версия 7.0.1

Благодарности:
- Александр Снигерев
- Samuel A. Kim
- Тимофей Ха

Move seven tooltip buttons from application level to module tab level

As a BibleQuote user, I would like to move seven tooltip buttons from application level to module tab level, so that buttons that trigger module specific operations were closer to the module content.

screen shot 2018-04-13 at 11 03 52 pm

Technical details:

  • Replace TPageControl with TTabControl

Acceptance criteria:

  • A panel with seven tooltip buttons are located on every module tab. The panel occupies the whole module text area horizontally.
  • Buttons are:
    • Back in history,
    • Forward in history,
    • Back one chapter,
    • Forward one chapter,
    • Copy,
    • Show Strong codes and
    • Show themed bookmarks.

Change module navigation component

As a BibleQuote user, I would like to change module navigation component, so that it is easier to navigate within my modules.

At the moment, module navigation are be done using two List Box components:

current-navigation

The interface of the new navigation component should be similar to the one below:

new-navigation

Acceptance criteria:

  • Book names appear as FullName property (e.g. Бытье) from module config file
  • Chapter names appear as concatenation of ChapterString config file parameter and chapter number (e.g. Chapter 1). They appear as just a number, if ChapterString is missing from config file.
  • Psalms chapter names are taken from ChapterStringPs parameter (e.g. Psalm 1). They appear as just a number, if ChapterStringPs is missing from config file.
  • Zero chapter appear as value of ChapterZeroString config file parameter. If parameter is missing, it appears just as a number.

Reorganise modules folder structure

As a BibleQuote user, I would like to reorganise modules folder structure, so that it will be easier to handle other modules.

Acceptance criteria:

  • Rename Modules folder into Library
  • Move Commentary-TSK to Library/System/TSK
  • Move Strongs module into Library/System/Strongs
  • Fix reading modules in the wrong encoding

The rule for encoding is:

1. Read encoding from HTM file meta tag
2. (If #1 is not present) Read `DefaultEncoding` parameter from `bibleqt.ini` file
3. (If #2 is not present) Check if BOM flag is present in HTM file.
   - If flag is `UTF16 BOM` read module as `UTF16`.
   - If flag is `UTF8 BOM`, read as UTF8.
4. (If #3 is not present) Read module as ANSI.

Technical details:

  • Remove BibleQuote/Modules folder in repository root folder and do not copy it to Output folder
  • Remove SmoothHand.cur file (looks like it is not used)
  • Move BibleQuote_Icon.ico to Resources folder

Open my bookmarks in a tab alongside a module resource in the workspace

As a BibleQuote user, I would like to open my bookmarks in a tab alongside a module resource in the workspace, so that I could manage my bookmarks more effectively.

screen shot 2018-05-21 at 10 11 45 pm

Acceptance criteria:

  • New button is added to the main application panel to open bookmarks tab between 3rd and 4th button from the left (see screenshot)
  • Bookmarks tab can be opened in the workspace alongside a module when clicking the button
  • All previous behaviour should remain unchanged
  • Old bookmarks tab is removed from the tab control

Move BibleQuote modules into 'Modules' sub folder

As BibleQuote user, I would like to move my modules into Modules sub folder, so that they do not clutter application's main folder.

At the moment modules are loaded from BibleQuote main folder.

Acceptance criteria:

Modules

  • Modules folder contains 5 folders: Bibles, Commentaries, Dictionaries, Strongs, Books and Compressed
  • Bibles are loaded from Modules\Bibles sub folder
  • Commentaries are loaded from Modules\Commentaries sub folder
  • Dictionaries are loaded from Modules\Dictionaries sub folder
  • Books (everything else) are loaded from Modules\Books sub folder
  • Compressed modules are loaded from Modules\Compressed sub folder
  • Commentary-TSK module is loaded from Modules\Commentaries\Commentary-TSK sub folder

Strongs

  • Strongs module is loaded from Modules\Strongs sub folder
  • StrongsDirectory configuration property inside bibleqt.ini is relative to Modules\Strongs

Build

  • Modules folder is copied to Output\Modules sub folder during build stage
  • Output folder is removed from source control

MainForm Tabs

  • Dictionaries (tab 3 from the left) loads dictionaries from Modules\Dictionaries
  • Strongs (tab 4 from the left) loads Strongs dictionary (if available) based on the active Bible translation
  • Commentaries (tab 5 from the left) loads commentaries from Modules\Commentaries

Investigate what tooling can be used to automate Delphi desktop applications UI testing

As BibleQuote developer, I would like to investigate what tooling can be used to automate Delphi desktop applications UI testing, so that I could have an immediate feedback if my application is broken after a certain change.

Acceptance criteria:

  • A couple of simple automated tests can be run on BibleQuote UI

UI automation frameworks to consider:

Change BibleQuote project file structure

As a BibleQuote developer, I would like to change BibleQuote project file structure, so that it is easier to navigate in the source code.

Acceptance Criteria:

DLL libraries

  • DLL libraries (7za.dll and BQsqlite3.dll) are moved to Libs folder.

Forms

  • Form source files are named as <Feature>Frm (e.g. AboutFrm).
  • Form names follow <Feature>Form (e.g. AboutForm) format.

Units

  • Unit source files are named as <Feature>.pas (e.g. BibleParser.pas)

Third-party libraries

  • Third-party libraries and components are grouped into Components folder.
  • Libraries and components folders are named as <ComponentName>:
AsqLite3
GLibWmi
TWmHotKey
SevenZip
TrayIcon
VirtualTreeview
GdiPlus
HtmlView
Jcl
RkControls

Project build folder

  • Project build folder output is renamed into Output.

Unused files

  • Remove files that are not used.

Project arbitrary content to a second monitor or projector

As a BibleQuote user, I would like to project arbitrary content to a second monitor or projector, so that I am able to share my module content with larger audiences.

Acceptance criteria:

  • When Show button is clicked in projection settings window content is projected

Make error window more user friendly

As a BibleQuote user, I would like to make error window more user friendly, so that I could see only relevant information about the error and not technical details.

At the moment if error happens, users see the screen below:

error-window

Redesign the form to look more like this:

error-window

Acceptance criteria:

  • Error messages are more user friendly.

Move localization files into a separate folder

As BibleQuote developer, I would like my localization files to live in Localization folder.

Acceptance criteria:

  • Interface language can be changed using menu View -> Interface language
  • Menu item caption View -> UI Language is read from localization file (At the moment it's hard coded)
  • Menu items for available languages in View -> UI Language are read from localization file (e.g. Russian for English interface and Русский for Russian interface)

Additional changes:

  • Remove file !Migrationg.txt and res\belarussian.lng.

Document module navigation history for every tab

As a BibleQuote user, I would like to document module navigation history for every tab, so that I could see the history separately and was able to navigate easier.

screen shot 2018-05-12 at 2 06 45 pm

Acceptance criteria

  • A new dropdown menu is added to Next history button.
  • The dropdown menu contains the history of navigation in the current module as shown on the screen (1). The most recent reference is at the top.
  • The dropdown menu highlights current menu item (as per old functionality)
  • Show all navigations in the dropdown menu with scroll bar when there are many items.
  • Each dropdown menu item contains {Book} {Chapter} {ModuleShortName} as shown on the screen (1).
  • Old History tab is removed.

Fix wrong content display for the modules in UTF8 encoding

As a BibleQuote user, I would like to fix wrong content display for the modules in UTF8 encoding, so that I could see the content of these modules in the right encoding.

Acceptance criteria:

  • Modules in UTF8 encoding are displayed correctly
  • Config files (history of navigation inside modules, themed bookmarks) are save in UTF8 with BOM encoding

The rule for encoding is:

1. Check if BOM flag is present in HTM file
   - If flag is `UTF16 BOM` read module as `UTF16`.
   - If flag is `UTF8 BOM`, read as UTF8.
2. (If #1 is not present) Read encoding from HTM file meta tag
3. (If #2 is not present) Read `DefaultEncoding` parameter from `bibleqt.ini` file
4. (If #3 is not present) Read module as ANSI

Position my personal notes next to one of the tabs in the workspace area

As a BibleQuote user, I would like to position my personal notes next to one of the tabs in the workspace area, so that my notes could be closer to the module content.

screen shot 2018-05-16 at 6 46 28 pm

Acceptance criteria:

  • Old personal notes tab is removed from the tab control
  • New tooltip button (next after Library icon) is added to the main tooltip panel to open personal notes on an active workspace.

Open multiple resources in the main window

As a BibleQuote user, I would like to open multiple resources in the main window, so that I could see more than one resource at the same time.

Screen 1
layouts menu

Screen 2
screen shot 2018-05-12 at 8 46 01 am

Screen 3
screen shot 2018-05-12 at 8 46 01 am

Screen 4
screen shot 2018-05-12 at 8 46 01 am

Acceptance Criteria:

  • Main button panel contains a button with a dropdown menu.
  • Dropdown menu contains six values as shown on the screen (1):
    • One window,
    • Two windows (vertical),
    • Two windows (horizontal),
    • Three windows (two on the left),
    • Three windows (two on the right) and
    • Four windows.
  • Module display area is divided into two, three or four parts based on the dropdown menu selection as show on the screens (2) (3) (4).
  • Parts of the display area are separated by splitters and can be resized.

Rename themed bookmarks without an error in the application

As BibleQuote user, I would like to rename themed bookmarks without an error in the application. At the moment when I try to edit a themed bookmark and then click on the text, the application crashes.

themed-bookmark-rename-crash

Acceptance criteria:

  • Application does not crash when I am editing themed bookmark name and navigate away from the themed bookmarks panel

Add View menu item

As BibleQuote user, I would like to have menu View where I could set different application settings such as interface language and other look & feel preferences.

change application interface language from

Acceptance criteria:

  • Interface language can be changed using menu View -> UI language
  • Font can be selected from View -> Select fonts
  • Colour of various components can be selected from View -> Select colors

Technical details:

  • Rename menu separators using pattern mi{MenuName}Sep{#} e.g. miFileSep1

Update BibleQuote third-party libraries

As a BibleQuote developer, I would like to update all BibleQuote third-party libraries to latest versions.

Acceptance Criteria:

Please update the following libraries:

  • ASGSQlite3
  • HTML View
  • JCL
  • SevenZip
  • CoolTrayIcon
  • TextTrayIcon
  • Virtual Treeview

First Tab: Move search text edit to a module tab

As a BibleQuote user, I would like to move search text edit to a module tab, so that I could find the text in the module quicker.

screen shot 2018-04-18 at 11 27 00 pm

Acceptance criteria:

  • New search button (1 - see UI mock above) exists on module tab panel (please pick a nice free icon for it)
  • When search button is clicked new search panel appears underneath (also unclicking the search button makes search panel disappear)
  • Search text edit and two buttons are moved from the tab below to a new module search panel
  • New button Match case is added to the search panel
  • New button Match whole word is added to the search panel
  • Old quick search tab (next to History and Bookmarks) is removed

Fix personal notes functionality

As a BibleQuote user, I would like to fix my personal notes functionality, so that notes could be helpful during the working process.

personal-notes

Acceptance criteria:

  • Personal notes are displayed correctly in the text (no extra symbols or text - see screenshot above)
  • Right click menu item to turn on/off notes is in sync with the tooltip button (see screenshot)

Fix compilation hints and warnings in BibleQuote source code

As BibleQuote developer, I would like to fix hints and warning messages thrown by Delphi IDE during compilation process.

Acceptance criteria:

  • Current compilation hints and warnings are fixed in the source code.

Details:

The are about 400 hints and 300 warnings thrown by Delphi during compilation.

Application throws exception when no dictionaries present

As BibleQuote user, I would like the application not to crash when I do not have any dictionaries installed.

no-dictionaries-error

To reproduce the problem go to dictionaries and enter text into editable combo box and press Enter.

Acceptance criteria:

  • Application do not crash when no dictionaries installed.

Remove TntUnicode components from BibleQuote

As a BibleQuote developer, I would like Tnt Unicode Components to be removed from the project.

Acceptance Criteria:

  • Tnt Unicode Components need to be replaced by standard Delphi VCL components (as they now support Unicode).
  • I would like Delphi Unicode Controls folder to be removed from the project.

Make icons on the main toolbar buttons larger

As a BibleQuote user, I would like to make icons on the main toolbar buttons larger, so that it is easier for me to find the right button.

screen shot 2018-06-10 at 12 11 25 am

Acceptance criteria:

  • The size of 10 tool buttons on the main form is made larger to display 32 sized icons (should button size be 34x34? - investigate what works best)

Technical aspects

  • Replace icons with good looking icons from http://www.iconarchive.com
  • Add new TImageList component to accomodate icons of size 32

Fix BibleQuote system files to use Unicode instead of Ansi encoding

As a BibleQuote developer, I would like to change BibleQuote system files encoding from Ansi to Unicode.

Acceptance Criteria:

  • BibleQuote system files use Unicode encoding.
  • Clean up custom Ansi to Unicode conversion implemented in WCharReader.pas and WCharWindows.pas.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.