Compare commits
5 Commits
c427af15b6
...
1b5c32c320
Author | SHA1 | Date | |
---|---|---|---|
1b5c32c320 | |||
e028bed311 | |||
6f59af3cde | |||
4b84ec5a82 | |||
039cb7e0a8 |
@ -24,7 +24,7 @@ class DictionaryEntryCellFactory(private val resources: ResourceBundle, private
|
||||
}
|
||||
|
||||
companion object {
|
||||
private const val CELL_PADDING = 16
|
||||
private const val CELL_PADDING = 24
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -26,6 +26,7 @@ class SentenceCellFactory(private val config: Config) : Callback<ListView<Senten
|
||||
private class SentenceCell(private val config: Config) : ListCell<SentenceFx?>() {
|
||||
private val labelSentence = Label().apply {
|
||||
styleClass.add("sentence")
|
||||
isWrapText = true
|
||||
}
|
||||
private val root = VBox(labelSentence)
|
||||
|
||||
|
@ -6,25 +6,23 @@
|
||||
<?import javafx.scene.web.WebView?>
|
||||
<VBox stylesheets="/css/details.css" xmlns="http://javafx.com/javafx/23" xmlns:fx="http://javafx.com/fxml/1"
|
||||
fx:controller="com.marvinelsen.willow.ui.controllers.DetailsController">
|
||||
<FlowPane fx:id="flowPaneHeader" hgap="8.0" onContextMenuRequested="#headerOnContextMenuRequested" prefHeight="38.0"
|
||||
prefWidth="412.0" rowValignment="BASELINE" styleClass="flow-pane-header" vgap="8.0" VBox.vgrow="NEVER">
|
||||
<FlowPane fx:id="flowPaneHeader" hgap="8.0" vgap="8.0" rowValignment="BASELINE" VBox.vgrow="NEVER"
|
||||
onContextMenuRequested="#headerOnContextMenuRequested">
|
||||
<padding>
|
||||
<Insets bottom="6.0" left="6.0" right="6.0" top="6.0"/>
|
||||
</padding>
|
||||
<Label fx:id="labelHeadword" styleClass="headword" text="Label"/>
|
||||
<Label fx:id="labelPronunciation" styleClass="pronunciation">
|
||||
</Label>
|
||||
<Label fx:id="labelHeadword" styleClass="headword"/>
|
||||
<Label fx:id="labelPronunciation" styleClass="pronunciation"/>
|
||||
</FlowPane>
|
||||
<TabPane fx:id="tabPaneDetails" tabClosingPolicy="UNAVAILABLE" VBox.vgrow="ALWAYS">
|
||||
<Tab closable="false" text="%tab.definition">
|
||||
<WebView fx:id="webViewDefinition" minHeight="-1.0" minWidth="-1.0" prefHeight="-1.0" prefWidth="-1.0"/>
|
||||
<Tab closable="false" text="%details.tab.definition">
|
||||
<WebView fx:id="webViewDefinition"/>
|
||||
</Tab>
|
||||
<Tab id="tabSentences" closable="false" text="%tab.sentences">
|
||||
<Tab id="tabSentences" closable="false" text="%details.tab.sentences">
|
||||
<StackPane>
|
||||
<ProgressIndicator fx:id="progressIndicatorSentences" visible="false"/>
|
||||
<Label fx:id="labelNoSentencesFound" text="%list.no_sentences_found" textAlignment="CENTER"
|
||||
visible="false"
|
||||
wrapText="true">
|
||||
<Label fx:id="labelNoSentencesFound" text="%details.list.no_sentences_found" textAlignment="CENTER"
|
||||
visible="false" wrapText="true">
|
||||
<padding>
|
||||
<Insets bottom="8.0" left="8.0" right="8.0" top="8.0"/>
|
||||
</padding>
|
||||
@ -32,17 +30,16 @@
|
||||
<ListView fx:id="listViewSentences"/>
|
||||
</StackPane>
|
||||
</Tab>
|
||||
<Tab id="tabWords" closable="false" text="%tab.words">
|
||||
<Tab id="tabWords" closable="false" text="%details.tab.words">
|
||||
<VBox maxHeight="1.7976931348623157E308">
|
||||
<TitledPane animated="false" maxHeight="-Infinity" text="%list.words_beginning" VBox.vgrow="ALWAYS">
|
||||
<TitledPane animated="false" maxHeight="-Infinity" text="%details.list.words_beginning" VBox.vgrow="ALWAYS">
|
||||
<StackPane>
|
||||
<padding>
|
||||
<Insets bottom="0.0" left="0.0" right="0.0" top="0.0"/>
|
||||
</padding>
|
||||
<ProgressIndicator fx:id="progressIndicatorWordsBeginning" visible="false"/>
|
||||
<Label fx:id="labelNoWordsBeginningFound" text="%list.no_words_found" textAlignment="CENTER"
|
||||
visible="false"
|
||||
wrapText="true">
|
||||
<Label fx:id="labelNoWordsBeginningFound" text="%details.list.no_words_found" textAlignment="CENTER"
|
||||
visible="false" wrapText="true">
|
||||
<padding>
|
||||
<Insets bottom="8.0" left="8.0" right="8.0" top="8.0"/>
|
||||
</padding>
|
||||
@ -50,15 +47,14 @@
|
||||
<ListView fx:id="listViewWordsBeginning" prefHeight="4000"/>
|
||||
</StackPane>
|
||||
</TitledPane>
|
||||
<TitledPane animated="false" maxHeight="-Infinity" text="%list.words_containing" VBox.vgrow="ALWAYS">
|
||||
<TitledPane animated="false" maxHeight="-Infinity" text="%details.list.words_containing" VBox.vgrow="ALWAYS">
|
||||
<StackPane>
|
||||
<padding>
|
||||
<Insets bottom="0.0" left="0.0" right="0.0" top="0.0"/>
|
||||
</padding>
|
||||
<ProgressIndicator fx:id="progressIndicatorWordsContaining" visible="false"/>
|
||||
<Label fx:id="labelNoWordsContainingFound" text="%list.no_words_found" textAlignment="CENTER"
|
||||
visible="false"
|
||||
wrapText="true">
|
||||
<Label fx:id="labelNoWordsContainingFound" text="%details.list.no_words_found" textAlignment="CENTER"
|
||||
visible="false" wrapText="true">
|
||||
<padding>
|
||||
<Insets bottom="8.0" left="8.0" right="8.0" top="8.0"/>
|
||||
</padding>
|
||||
@ -68,10 +64,10 @@
|
||||
</TitledPane>
|
||||
</VBox>
|
||||
</Tab>
|
||||
<Tab fx:id="tabCharacters" id="tabCharacters" closable="false" text="%tab.characters">
|
||||
<Tab fx:id="tabCharacters" id="tabCharacters" closable="false" text="%details.tab.characters">
|
||||
<StackPane>
|
||||
<ListView fx:id="listViewCharacters"/>
|
||||
<Label fx:id="labelNoCharactersFound" text="%list.no_characters_found" textAlignment="CENTER"
|
||||
<Label fx:id="labelNoCharactersFound" text="%details.list.no_characters_found" textAlignment="CENTER"
|
||||
visible="false" wrapText="true">
|
||||
<padding>
|
||||
<Insets bottom="8.0" left="8.0" right="8.0" top="8.0"/>
|
||||
|
@ -15,7 +15,7 @@
|
||||
<Insets bottom="8.0" left="8.0" right="8.0" top="8.0"/>
|
||||
</BorderPane.margin>
|
||||
<fx:include source="/fxml/search.fxml"/>
|
||||
<SplitPane styleClass="split-pane" dividerPositions="0.33" VBox.vgrow="ALWAYS">
|
||||
<SplitPane dividerPositions="0.33" VBox.vgrow="ALWAYS">
|
||||
<fx:include source="/fxml/search-results.fxml"/>
|
||||
<fx:include source="/fxml/details.fxml"/>
|
||||
</SplitPane>
|
||||
|
@ -5,12 +5,12 @@
|
||||
<?import javafx.scene.control.ListView?>
|
||||
<?import javafx.scene.control.ProgressIndicator?>
|
||||
<?import javafx.scene.layout.StackPane?>
|
||||
<StackPane xmlns="http://javafx.com/javafx/23" xmlns:fx="http://javafx.com/fxml/1"
|
||||
<StackPane minWidth="100" xmlns="http://javafx.com/javafx/23" xmlns:fx="http://javafx.com/fxml/1"
|
||||
fx:controller="com.marvinelsen.willow.ui.controllers.SearchResultsController"
|
||||
stylesheets="/css/search-results.css">
|
||||
<ListView fx:id="listViewSearchResults" disable="true" minWidth="150.0"/>
|
||||
<Label fx:id="labelNoEntriesFound" text="%list.no_entries_found" textAlignment="CENTER"
|
||||
visible="false" wrapText="true">
|
||||
<ListView fx:id="listViewSearchResults" disable="true"/>
|
||||
<Label fx:id="labelNoEntriesFound" text="%search.results.list.no_entries_found" textAlignment="CENTER" visible="false"
|
||||
wrapText="true">
|
||||
<padding>
|
||||
<Insets bottom="8.0" left="8.0" right="8.0" top="8.0"/>
|
||||
</padding>
|
||||
|
@ -18,20 +18,17 @@
|
||||
<SearchMode fx:value="SIMPLIFIED"/>
|
||||
</userData>
|
||||
</RadioButton>
|
||||
<RadioButton mnemonicParsing="false" text="%search.mode.traditional"
|
||||
toggleGroup="$searchModeToggleGroup">
|
||||
<RadioButton mnemonicParsing="false" text="%search.mode.traditional" toggleGroup="$searchModeToggleGroup">
|
||||
<userData>
|
||||
<SearchMode fx:value="TRADITIONAL"/>
|
||||
</userData>
|
||||
</RadioButton>
|
||||
<RadioButton mnemonicParsing="false" text="%search.mode.pinyin"
|
||||
toggleGroup="$searchModeToggleGroup">
|
||||
<RadioButton mnemonicParsing="false" text="%search.mode.pinyin" toggleGroup="$searchModeToggleGroup">
|
||||
<userData>
|
||||
<SearchMode fx:value="PINYIN"/>
|
||||
</userData>
|
||||
</RadioButton>
|
||||
<RadioButton mnemonicParsing="false" text="%search.mode.phrase"
|
||||
toggleGroup="$searchModeToggleGroup">
|
||||
<RadioButton mnemonicParsing="false" text="%search.mode.phrase" toggleGroup="$searchModeToggleGroup">
|
||||
<userData>
|
||||
<SearchMode fx:value="SEGMENTS"/>
|
||||
</userData>
|
||||
|
@ -1,13 +1,24 @@
|
||||
# Search
|
||||
search.prompt=Search dictionary…
|
||||
search.mode=Searching:
|
||||
search.mode=Search mode:
|
||||
search.mode.pinyin=Pinyin
|
||||
search.mode.traditional=Traditional Chinese
|
||||
search.mode.simplified=Simplified Chinese
|
||||
search.mode.english=English
|
||||
tab.definition=Definition
|
||||
tab.sentences=Sentences
|
||||
tab.words=Words
|
||||
tab.characters=Characters
|
||||
search.mode.traditional=Traditional
|
||||
search.mode.simplified=Simplified
|
||||
search.mode.phrase=Phrase
|
||||
|
||||
# Details
|
||||
details.tab.definition=Definition
|
||||
details.tab.sentences=Sentences
|
||||
details.tab.words=Words
|
||||
details.tab.characters=Characters
|
||||
|
||||
details.list.no_characters_found=No characters found
|
||||
details.list.no_words_found=No words found
|
||||
details.list.no_sentences_found=No sentences found.
|
||||
details.list.words_beginning=Words beginning
|
||||
details.list.words_containing=Words containing
|
||||
|
||||
# Menubar
|
||||
menubar.file=_File
|
||||
menubar.file.quit=_Quit
|
||||
menubar.file.preferences=_Preferences…
|
||||
@ -16,10 +27,6 @@ menubar.edit.copy.headword=Copy Headword
|
||||
menubar.edit.copy.pronunciation=Copy Pronunciation
|
||||
menubar.help=_Help
|
||||
menubar.help.about=_About…
|
||||
list.no_entries_found=No matching entries found
|
||||
search.mode.phrase=Phrase
|
||||
list.no_characters_found=No characters found
|
||||
list.no_words_found=No words found
|
||||
list.no_sentences_found=No sentences found.
|
||||
list.words_beginning=Words beginning
|
||||
list.words_containing=Words containing
|
||||
|
||||
# Search results
|
||||
search.results.list.no_entries_found=No matching entries found
|
@ -1,13 +1,24 @@
|
||||
# Search
|
||||
search.prompt=Durchsuche Wörterbuch…
|
||||
search.mode=Suche:
|
||||
search.mode=Suchmodus:
|
||||
search.mode.pinyin=Pinyin
|
||||
search.mode.traditional=Langzeichen
|
||||
search.mode.simplified=Kurzzeichen
|
||||
search.mode.english=Englisch
|
||||
tab.definition=Definition
|
||||
tab.sentences=Sätze
|
||||
tab.words=Wörter
|
||||
tab.characters=Schriftzeichen
|
||||
search.mode.phrase=Satz
|
||||
|
||||
# Details
|
||||
details.tab.definition=Definition
|
||||
details.tab.sentences=Sätze
|
||||
details.tab.words=Wörter
|
||||
details.tab.characters=Schriftzeichen
|
||||
|
||||
details.list.no_characters_found=Keine Schriftzeichen gefunden
|
||||
details.list.no_words_found=Keine Wörter gefunden
|
||||
details.list.no_sentences_found=Keine Sätze gefunden
|
||||
details.list.words_beginning=Am Wortanfang
|
||||
details.list.words_containing=Im Wort
|
||||
|
||||
# Menubar
|
||||
menubar.file=_Datei
|
||||
menubar.file.quit=_Beenden
|
||||
menubar.file.preferences=_Einstellungen…
|
||||
@ -16,10 +27,6 @@ menubar.edit.copy.headword=Kopiere Wort
|
||||
menubar.edit.copy.pronunciation=Kopiere Aussprache
|
||||
menubar.help=_Hilfe
|
||||
menubar.help.about=_Über…
|
||||
list.no_entries_found=No matching entries found
|
||||
search.mode.phrase=Phrase
|
||||
list.no_characters_found=No characters found
|
||||
list.no_words_found=No words found
|
||||
list.no_sentences_found=No sentences found.
|
||||
list.words_beginning=Words beginning
|
||||
list.words_containing=Words containing
|
||||
|
||||
# Search results
|
||||
search.results.list.no_entries_found=Keine passenden Einträge gefunden
|
@ -1,13 +1,24 @@
|
||||
# Search
|
||||
search.prompt=Search dictionary…
|
||||
search.mode=Searching:
|
||||
search.mode=Search mode:
|
||||
search.mode.pinyin=Pinyin
|
||||
search.mode.traditional=Traditional Chinese
|
||||
search.mode.simplified=Simplified Chinese
|
||||
search.mode.english=English
|
||||
tab.definition=Definition
|
||||
tab.sentences=Sentences
|
||||
tab.words=Words
|
||||
tab.characters=Characters
|
||||
search.mode.traditional=Traditional
|
||||
search.mode.simplified=Simplified
|
||||
search.mode.phrase=Phrase
|
||||
|
||||
# Details
|
||||
details.tab.definition=Definition
|
||||
details.tab.sentences=Sentences
|
||||
details.tab.words=Words
|
||||
details.tab.characters=Characters
|
||||
|
||||
details.list.no_characters_found=No characters found
|
||||
details.list.no_words_found=No words found
|
||||
details.list.no_sentences_found=No sentences found.
|
||||
details.list.words_beginning=Words beginning
|
||||
details.list.words_containing=Words containing
|
||||
|
||||
# Menubar
|
||||
menubar.file=_File
|
||||
menubar.file.quit=_Quit
|
||||
menubar.file.preferences=_Preferences…
|
||||
@ -16,10 +27,6 @@ menubar.edit.copy.headword=Copy Headword
|
||||
menubar.edit.copy.pronunciation=Copy Pronunciation
|
||||
menubar.help=_Help
|
||||
menubar.help.about=_About…
|
||||
list.no_entries_found=No matching entries found
|
||||
search.mode.phrase=Phrase
|
||||
list.no_characters_found=No characters found
|
||||
list.no_words_found=No words found
|
||||
list.no_sentences_found=No sentences found.
|
||||
list.words_beginning=Words beginning
|
||||
list.words_containing=Words containing
|
||||
|
||||
# Search results
|
||||
search.results.list.no_entries_found=No matching entries found
|
@ -1,13 +1,24 @@
|
||||
#Search
|
||||
search.prompt=搜尋…
|
||||
search.mode=搜尋:
|
||||
search.mode=搜尋模式:
|
||||
search.mode.pinyin=漢語拼音
|
||||
search.mode.traditional=繁體字
|
||||
search.mode.simplified=簡體字
|
||||
search.mode.english=英文
|
||||
tab.definition=Definition
|
||||
tab.sentences=例句
|
||||
tab.words=詞
|
||||
tab.characters=字
|
||||
search.mode.phrase=句子
|
||||
|
||||
# Details
|
||||
details.tab.definition=釋義
|
||||
details.tab.sentences=例句
|
||||
details.tab.words=詞
|
||||
details.tab.characters=字
|
||||
|
||||
details.list.no_characters_found=No characters found
|
||||
details.list.no_words_found=No words found
|
||||
details.list.no_sentences_found=No sentences found.
|
||||
details.list.words_beginning=Words beginning
|
||||
details.list.words_containing=Words containing
|
||||
|
||||
# Menubar
|
||||
menubar.file=_檔案
|
||||
menubar.file.quit=_結束 Willow
|
||||
menubar.file.preferences=_設定…
|
||||
@ -16,10 +27,6 @@ menubar.edit.copy.headword=複製 Wort
|
||||
menubar.edit.copy.pronunciation=複製 Aussprache
|
||||
menubar.help=_說明
|
||||
menubar.help.about=_關於 Willow…
|
||||
list.no_entries_found=No matching entries found
|
||||
search.mode.phrase=Phrase
|
||||
list.no_characters_found=No characters found
|
||||
list.no_words_found=No words found
|
||||
list.no_sentences_found=No sentences found.
|
||||
list.words_beginning=Words beginning
|
||||
list.words_containing=Words containing
|
||||
|
||||
# Search results
|
||||
search.results.list.no_entries_found=No matching entries found
|
@ -1,13 +1,24 @@
|
||||
# Search
|
||||
search.prompt=搜尋…
|
||||
search.mode=搜尋:
|
||||
search.mode=搜尋模式:
|
||||
search.mode.pinyin=漢語拼音
|
||||
search.mode.traditional=繁體字
|
||||
search.mode.simplified=簡體字
|
||||
search.mode.english=英文
|
||||
tab.definition=Definition
|
||||
tab.sentences=例句
|
||||
tab.words=詞
|
||||
tab.characters=字
|
||||
search.mode.phrase=句子
|
||||
|
||||
# Details
|
||||
details.tab.definition=釋義
|
||||
details.tab.sentences=例句
|
||||
details.tab.words=詞
|
||||
details.tab.characters=字
|
||||
|
||||
details.list.no_characters_found=No characters found
|
||||
details.list.no_words_found=No words found
|
||||
details.list.no_sentences_found=No sentences found
|
||||
details.list.words_beginning=Words beginning
|
||||
details.list.words_containing=Words containing
|
||||
|
||||
# Menubar
|
||||
menubar.file=_檔案
|
||||
menubar.file.quit=_結束 Willow
|
||||
menubar.file.preferences=_設定…
|
||||
@ -16,10 +27,6 @@ menubar.edit.copy.headword=複製 Wort
|
||||
menubar.edit.copy.pronunciation=複製 Aussprache
|
||||
menubar.help=_說明
|
||||
menubar.help.about=_關於 Willow…
|
||||
list.no_entries_found=No matching entries found
|
||||
search.mode.phrase=Phrase
|
||||
list.no_characters_found=No characters found
|
||||
list.no_words_found=No words found
|
||||
list.no_sentences_found=No sentences found.
|
||||
list.words_beginning=Words beginning
|
||||
list.words_containing=Words containing
|
||||
|
||||
# Search results
|
||||
search.results.list.no_entries_found=No matching entries found
|
Loading…
Reference in New Issue
Block a user