Compare commits

...

42 commits

Author SHA1 Message Date
936e57b63e chore: fige Cargo.lock (epoch-1.9.0, [patch] locaux)
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-24 21:03:54 +02:00
c45b23aa85 merge: epoch-1.9.0 d'upstream
# Conflicts:
#	Cargo.lock
2026-09-24 20:50:47 +02:00
Hojjat
bfc98bf219 chore: update libcosmic to fix esc, and bindings in context menu 2026-09-23 11:30:54 -06:00
Michael Aaron Murphy
14aba66228 chore: update debian/rules 2026-09-16 16:28:59 -04:00
Michael Aaron Murphy
430120f6ff chore: update cosmic-files and libcosmic 2026-09-16 16:28:59 -04:00
Hojjat
9307793661 feat: use libcosmic's context_menu widget 2026-09-16 16:28:59 -04:00
Hojjat
505ecd18fe chore: adopt typed surface actions from libcosmic 2026-09-16 16:28:59 -04:00
Michael Aaron Murphy
4b4871ecf4 Epoch 1.9.0 version update
Generated by cosmic-epoch scripts/version-update.sh
2026-09-16 16:28:59 -04:00
Michael Murphy
1054b6a7fd
i18n: translation update from Hosted Weblate (#616)
Translations update from [Hosted Weblate](https://hosted.weblate.org)
for [Pop OS/COSMIC
Edit](https://hosted.weblate.org/projects/pop-os/cosmic-edit/).



Current translation status:

![Weblate translation
status](https://hosted.weblate.org/widget/pop-os/cosmic-edit/matrix-auto.svg)
2026-09-15 21:56:46 +02:00
Hosted Weblate
139cfaaf5c
i18n: translation updates from weblate
Co-authored-by: Amadɣas <massiin@proton.me>
Co-authored-by: Blauen <butterflee555@gmail.com>
Co-authored-by: CYAXXX <85353920+CYAXXX@users.noreply.github.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Kurt Harren Catindig <kurtharrencatindig03@gmail.com>
Co-authored-by: Quentin PAGÈS <quentinantonin@free.fr>
Co-authored-by: Satakun Utama <galaxytomostore@gmail.com>
Co-authored-by: VandaL <vandalhj@gmail.com>
Co-authored-by: therealmate <hellogaming91@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-edit/hu/
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-edit/kab/
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-edit/kmr/
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-edit/oc/
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-edit/pl/
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-edit/th/
Translation: Pop OS/COSMIC Edit
2026-09-13 01:54:35 +02:00
85da7f90f2 chore: fige Cargo.lock 2026-09-10 18:12:37 +02:00
70c1765b1f Merge tag 'epoch-1.8.0' into local/libcosmic-path-patch
Epoch 1.8.0

# Conflicts:
#	Cargo.lock
2026-09-10 17:57:28 +02:00
20c47377a8 chore: fige Cargo.lock (reordonnancement patch.unused par cargo) 2026-09-04 10:48:53 +02:00
Jeremy Soller
26f6ffd3e6 Epoch 1.8.0 version update
Generated by cosmic-epoch scripts/version-update.sh
2026-09-03 13:18:38 -06:00
6150549a9b chore: fige Cargo.lock tel que resolu apres le merge 1.7.0
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-27 07:58:51 +02:00
de9ae6890a Merge tag 'epoch-1.7.0' into local/libcosmic-path-patch
Epoch 1.7.0
2026-08-27 07:50:01 +02:00
Jeremy Soller
13b1d4aac0 Epoch 1.7.0 version update
Generated by cosmic-epoch scripts/version-update.sh
2026-08-25 11:39:01 -06:00
Michael Murphy
6c800ce1f1
i18n: translation update from Hosted Weblate (#610)
Translations update from [Hosted Weblate](https://hosted.weblate.org)
for [Pop OS/COSMIC
Edit](https://hosted.weblate.org/projects/pop-os/cosmic-edit/).



Current translation status:

![Weblate translation
status](https://hosted.weblate.org/widget/pop-os/cosmic-edit/matrix-auto.svg)
2026-08-24 20:52:37 +02:00
Jeremy Soller
0e9c927f1a
Fix tab auto focus on TabCloseForce (#603)
Auto focus should only trigger if the current tab is selected or else
closing an unfocused tab would move the focused tab.

See: pop-os/cosmic-files#1949

- [x] I have disclosed use of any AI generated code in my commit
messages.
- If you are using an LLM, and do not fully understand the changes it is
making to the code base, do not create a PR.
- In our experience, AI generated code often results in overly complex
code that lacks enough context for a proper fix or feature inclusion.
This results in considerably longer code reviews. Due to this, AI
authored or partially authored PRs may be closed without comment.
- [x] I understand these changes in full and will be able to respond to
review comments.
- [x] My change is accurately described in the commit message.
- [x] My contribution is tested and working as described.
- [x] I have read the [Developer Certificate of
Origin](https://developercertificate.org/) and certify my contribution
under its conditions.
2026-08-20 19:02:21 -06:00
Jeremy Soller
b23384043e
feat: disable Cut and Copy buttons when no text is selected (#588)
- [x] I have disclosed use of any AI generated code in my commit
messages.
- If you are using an LLM, and do not fully understand the changes it is
making to the code base, do not create a PR.
- In our experience, AI generated code often results in overly complex
code that lacks enough context for a proper fix or feature inclusion.
This results in considerably longer code reviews. Due to this, AI
authored or partially authored PRs may be closed without comment.
- [x] I understand these changes in full and will be able to respond to
review comments.
- [x] My change is accurately described in the commit message.
- [x] My contribution is tested and working as described.
- [x] I have read the [Developer Certificate of
Origin](https://developercertificate.org/) and certify my contribution
under its conditions.
2026-08-20 19:01:35 -06:00
36d66d7ef2 Merge remote-tracking branch 'upstream/master' into local/libcosmic-path-patch
# Conflicts:
#	Cargo.lock
#	Cargo.toml
#	src/menu.rs
#	src/text_box.rs
2026-08-19 21:59:53 +02:00
Hosted Weblate
4a5be62b02
i18n: translation updates from weblate
Co-authored-by: Jens Peter Nielsen <mail@jp-nielsen.dk>
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-edit/da/
Translation: Pop OS/COSMIC Edit
2026-08-19 09:52:58 +00:00
nicole mikołajczyk
8c9c15de85 feat: disable Cut and Copy buttons when no text is selected
Signed-off-by: nicole mikołajczyk <git@mkljczk.pl>
2026-08-18 15:49:12 -06:00
Jeremy Soller
0f725de5e6
Epoch 1.6.0 version update (#609)
Generated by cosmic-epoch scripts/version-update.sh
2026-08-18 15:25:10 -06:00
Jeremy Soller
1727fe3108 Epoch 1.6.0 version update
Generated by cosmic-epoch scripts/version-update.sh
2026-08-18 14:14:57 -06:00
Jeremy Soller
98191e32c7
Better efficiency (fewer redraws) and context menu in input fields (#604)
Depends on 
- [x] https://github.com/pop-os/iced/pull/377
- [x] https://github.com/pop-os/libcosmic/pull/1382
- [x] https://github.com/pop-os/libcosmic/pull/1387
- [x] https://github.com/pop-os/cosmic-files/pull/1815



This pulls the changes in Iced and libcosmic that removes "redraw on any
message", which means moving the cursor doesn't automatically call a
redraw, widgets need to ask for it. I have found all places that
previously was working normally because we were redrawing almost
unconditionally. But it is possible that a custom widget somewhere still
isn't asking for a redraw explicitly when its state changes. So, for QA
I'd keep an eye on that.

For example I found that moving the cursor to middle of a word and
pressing delete doesn't redraw, because we only redraw if the cursor
changes position. Or pressing ctrl+a and then backspace doesn't redraw
for the same reason. Or double-click to select a text wasn't drawing the
selection. I have fixed those, but just examples for the QA team to
check.

Demo:


https://github.com/user-attachments/assets/5e5940a8-fd89-498a-8670-85d540fcaa72


___
- [x] I have disclosed use of any AI generated code in my commit
messages.
- If you are using an LLM, and do not fully understand the changes it is
making to the code base, do not create a PR.
- In our experience, AI generated code often results in overly complex
code that lacks enough context for a proper fix or feature inclusion.
This results in considerably longer code reviews. Due to this, AI
authored or partially authored PRs may be closed without comment.
- [x] I understand these changes in full and will be able to respond to
review comments.
- [x] My change is accurately described in the commit message.
- [x] My contribution is tested and working as described.
- [x] I have read the [Developer Certificate of
Origin](https://developercertificate.org/) and certify my contribution
under its conditions.
2026-08-18 14:14:43 -06:00
Hojjat
067e2e0441 chore: update libcosmic and cosmic-files 2026-08-18 07:26:03 -06:00
Michael Murphy
3f2c1af3fa
i18n: translation update from Hosted Weblate (#601) 2026-08-18 14:08:59 +02:00
Hosted Weblate
8b3cff1afd
i18n: translation updates from weblate
Co-authored-by: Andi Chandler <andi@gowling.com>
Co-authored-by: CodeBeats <nicholai67@hotmail.com>
Co-authored-by: Feike Donia <feikedonia@proton.me>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Jiri Grönroos <jiri.gronroos@iki.fi>
Co-authored-by: Martin Meizoso <martinmeizoso@gmail.com>
Co-authored-by: Michael Millet <mikevlet@protonmail.com>
Co-authored-by: Prasanta-Hembram <Prasantahembram720@gmail.com>
Co-authored-by: Quentin PAGÈS <quentinantonin@free.fr>
Co-authored-by: Sproston <ojspr2007@gmail.com>
Co-authored-by: Steen Rabol <steen@rabol.dev>
Co-authored-by: Walter William Beckerleg Bruckman <spayk.99@protonmail.com>
Co-authored-by: Wilbur Lindqvist <william@willmantrade.com>
Co-authored-by: lucamosca1 <luca.moscato@gmail.com>
Co-authored-by: sicKat <giuseppecatillo2003@gmail.com>
Co-authored-by: therealmate <hellogaming91@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-edit/da/
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-edit/en_GB/
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-edit/fi/
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-edit/gl/
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-edit/hu/
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-edit/it/
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-edit/oc/
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-edit/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-edit/sat/
Translation: Pop OS/COSMIC Edit
2026-08-17 06:51:31 +00:00
Hojjat
aad6c21ab4 fix: request redraw when editor needs to redraw
chore: update libcosmic

fix: redraw when deleting text where cursor doesn't move

editor only redraws if the action causes the cursor to move.
ctrl+a+backspace or presseing delete doesn't move the cursor.
2026-08-10 10:26:54 -06:00
Josh Megnauth
e4006945c6
Fix tab auto focus on TabCloseForce
Auto focus should only trigger if the current tab is selected or else
closing an unfocused tab would move the focused tab.

See: pop-os/cosmic-files#1949
2026-08-01 20:11:53 -04:00
Jeremy Soller
4ac0da3af9
Epoch 1.5.0 version update (#600)
Generated by cosmic-epoch scripts/version-update.sh
2026-07-28 18:04:45 -06:00
Jeremy Soller
97d310a94c Epoch 1.5.0 version update
Generated by cosmic-epoch scripts/version-update.sh
2026-07-28 09:14:00 -06:00
Michael Murphy
dec809369a
i18n: translation update from Hosted Weblate (#582)
Translations update from [Hosted Weblate](https://hosted.weblate.org)
for [Pop OS/COSMIC
Edit](https://hosted.weblate.org/projects/pop-os/cosmic-edit/).



Current translation status:

![Weblate translation
status](https://hosted.weblate.org/widget/pop-os/cosmic-edit/horizontal-auto.svg)
2026-07-28 16:46:09 +02:00
Hosted Weblate
94b1e6cfa9
i18n: translation updates from weblate
Co-authored-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
Co-authored-by: Aman Alam <aalam@users.noreply.hosted.weblate.org>
Co-authored-by: Aman Shaw <shaw4m4n@netc.fr>
Co-authored-by: Arve Eriksson <arve.eriksson@startmail.com>
Co-authored-by: Baurzhan Muftakhidinov <baurthefirst@gmail.com>
Co-authored-by: CYAXXX <85353920+CYAXXX@users.noreply.github.com>
Co-authored-by: Ettore Atalan <atalanttore@googlemail.com>
Co-authored-by: Fedorov Alexei <aleksejfedorov963@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Jim Spentzos <jimspentzos2000@gmail.com>
Co-authored-by: Kartik Nayak <65574961+kodebarista@users.noreply.github.com>
Co-authored-by: Prasanta-Hembram <Prasantahembram720@gmail.com>
Co-authored-by: VandaL <vandalhj@gmail.com>
Co-authored-by: Vilius Paliokas <viliuspaliokas@gmail.com>
Co-authored-by: Zahid Rizky Fakhri <zahidrizkyfakhri@gmail.com>
Co-authored-by: jonnysemon <jonnysemon@users.noreply.hosted.weblate.org>
Co-authored-by: lorduskordus <lorduskordus@gmail.com>
Co-authored-by: taijuin Lee <taijuin@gmail.com>
Co-authored-by: therealmate <hellogaming91@gmail.com>
Co-authored-by: Димко <Dymkovych@proton.me>
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-edit/ar/
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-edit/ca/
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-edit/cs/
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-edit/de/
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-edit/el/
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-edit/hi/
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-edit/hu/
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-edit/id/
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-edit/kk/
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-edit/kmr/
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-edit/lt/
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-edit/pa/
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-edit/pl/
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-edit/ru/
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-edit/sat/
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-edit/sv/
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-edit/uk/
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-edit/zh_Hant/
Translation: Pop OS/COSMIC Edit
2026-07-28 06:02:06 +00:00
Jeremy Soller
a3d4920285
Merge pull request #597 from pop-os/epoch-update
Epoch 1.4.0 version update
2026-07-20 18:07:47 -06:00
Jeremy Soller
e11896dac2 Epoch 1.4.0 version update
Generated by cosmic-epoch scripts/version-update.sh
2026-07-20 14:35:58 -06:00
Jeremy Soller
60c38e818a Epoch 1.3.0 version update
Generated by cosmic-epoch scripts/version-update.sh
2026-07-13 08:31:18 -06:00
Ashley Wulber
34eecb7dcd chore: update libcosmic 2026-07-10 01:29:44 +02:00
Jeremy Soller
2cbbf48e70
Merge pull request #590 from pop-os/theme-v2
Theme v2
2026-07-07 14:12:59 -06:00
Ashley Wulber
9c927e040d chore: update deps 2026-07-07 11:47:15 -04:00
Ashley Wulber
171de79535 chore: frosted glass 2026-07-06 09:34:42 -04:00
37 changed files with 1574 additions and 1023 deletions

1708
Cargo.lock generated

File diff suppressed because it is too large Load diff

View file

@ -1,6 +1,6 @@
[package] [package]
name = "cosmic-edit" name = "cosmic-edit"
version = "1.3.0" version = "1.9.0"
authors = ["Jeremy Soller <jeremy@system76.com>"] authors = ["Jeremy Soller <jeremy@system76.com>"]
edition = "2024" edition = "2024"
license = "GPL-3.0-only" license = "GPL-3.0-only"

42
debian/changelog vendored
View file

@ -1,3 +1,45 @@
cosmic-edit (1.9.0) noble; urgency=medium
* Epoch 1.9.0 version update
-- Michael Murphy <michael@mmurphy.dev> Mon, 14 Sep 2026 21:54:06 +0200
cosmic-edit (1.8.0) noble; urgency=medium
* Epoch 1.8.0 version update
-- Jeremy Soller <jeremy@system76.com> Wed, 02 Sep 2026 08:14:30 -0600
cosmic-edit (1.7.0) noble; urgency=medium
* Epoch 1.7.0 version update
-- Jeremy Soller <jeremy@system76.com> Tue, 25 Aug 2026 09:19:59 -0600
cosmic-edit (1.6.0) noble; urgency=medium
* Epoch 1.6.0 version update
-- Jeremy Soller <jeremy@system76.com> Tue, 18 Aug 2026 07:13:06 -0600
cosmic-edit (1.5.0) noble; urgency=medium
* Epoch 1.5.0 version update
-- Jeremy Soller <jeremy@system76.com> Tue, 28 Jul 2026 09:13:50 -0600
cosmic-edit (1.4.0) noble; urgency=medium
* Epoch 1.4.0 version update
-- Jeremy Soller <jeremy@system76.com> Mon, 20 Jul 2026 14:35:49 -0600
cosmic-edit (1.3.0) noble; urgency=medium
* Epoch 1.3.0 version update
-- Jeremy Soller <jeremy@system76.com> Sun, 12 Jul 2026 13:20:55 -0600
cosmic-edit (1.2.0) noble; urgency=medium cosmic-edit (1.2.0) noble; urgency=medium
* Epoch 1.2.0 version update * Epoch 1.2.0 version update

5
debian/rules vendored
View file

@ -1,15 +1,12 @@
#!/usr/bin/make -f #!/usr/bin/make -f
export DESTDIR = debian/cosmic-edit export DESTDIR = debian/cosmic-edit
export VENDOR ?= 1
%: %:
dh $@ dh $@
override_dh_auto_clean: override_dh_auto_clean:
if ! ischroot && test "${VENDOR}" = "1"; then \ ischroot || just vendor
just vendor; \
fi
override_dh_auto_build: override_dh_auto_build:
just build-vendored just build-vendored

View file

@ -1,4 +1,6 @@
tar-ignore=.github tar-ignore=.github
tar-ignore=.vscode tar-ignore=target/.rustc_info.json
tar-ignore=target/CACHEDIR.TAG
tar-ignore=target/debug
tar-ignore=target/release
tar-ignore=vendor tar-ignore=vendor
tar-ignore=target

View file

@ -49,7 +49,7 @@ settings = الإعدادات
### Appearance ### Appearance
appearance = المظهر appearance = المظهر
theme = النسق theme = السمة
match-desktop = طابق سطح المكتب match-desktop = طابق سطح المكتب
dark = داكن dark = داكن
light = فاتح light = فاتح
@ -96,7 +96,7 @@ document-type = نوع المستند...
encoding = الترميز... encoding = الترميز...
menu-git-management = إدارة Git... menu-git-management = إدارة Git...
print = اطبع print = اطبع
quit = أنهِ quit = إنهِ
## Edit ## Edit

View file

@ -1,3 +1,5 @@
cancel = Cancel·lar cancel = Cancel·lar
quit = Surt quit = Surt
settings = Configuració settings = Configuració
save = Desa
undo = Desfés

View file

@ -71,9 +71,9 @@ automatic-indentation = Automatické odsazení
tab-width = Šířka tabulátoru: { $tab_width } tab-width = Šířka tabulátoru: { $tab_width }
convert-indentation-to-spaces = Převést odsazení na mezery convert-indentation-to-spaces = Převést odsazení na mezery
convert-indentation-to-tabs = Převést odsazení na tabulátory convert-indentation-to-tabs = Převést odsazení na tabulátory
word-wrap = Zalamování slov word-wrap = Zalamování řádků
show-line-numbers = Zobrazit čísla řádků show-line-numbers = Zobrazit čísla řádků
highlight-current-line = Zvýraznění aktuálního řádku highlight-current-line = Zvýraznit aktuální řádek
syntax-highlighting = Zvýraznění syntaxe... syntax-highlighting = Zvýraznění syntaxe...
menu-settings = Nastavení... menu-settings = Nastavení...
menu-keyboard-shortcuts = Klávesové zkratky... menu-keyboard-shortcuts = Klávesové zkratky...

View file

@ -0,0 +1,91 @@
save = Gem
cancel = Afbryd
quit = Afslut
cosmic-text-editor = COSMIC-teksteditor
new-document = Nyt dokument
open-project = Åbn project
repository = Pakkearkiv
todo = TODO
document-statistics = Dokument-statistikker
word-count = Antal ord
character-count = Tegn
character-count-no-spaces = Tegn (uden mellemrum)
line-count = Linjer
appearance = Udseende
git-management = Git-håndtering
theme = Tema
git-management-description = Git.håndtering er et udvikler-værktøj, som bruges til versionskontrol-operationer.
match-desktop = Følg skrivebordets indstillinger
git-management-loading = Indlæser Git-håndtering...
dark = Mørkt
stage = Bered
light = Lyst
staged-changes = Forberedte ændringer
file = Fil
unstage = Fjern fra forberedelse
unstaged-changes = Uforberedte ændringer
project-search = Projektsøgning
prompt-save-changes-title = Gem ændringer før lukning?
close-file = Luk fil
prompt-unsaved-changes = Du har ugemte ændringer. Hvis du fortsætter uden at gemme, vil disse ændringer gå tabt.
discard = Kassér ændringer
save-all = Gem alle
default-zoom-step = Zoom-trin
syntax-dark = Syntaks mørk
syntax-light = Syntaks lys
default-font = Standard skrifttype
default-font-size = Standard skriftstørrelse
keyboard-shortcuts = Tastaturgenveje
enable-vim-bindings = Aktivér Vim-bindinger
find-placeholder = Find...
find-previous = Find forrige
find-next = Find næste
replace-placeholder = Erstat...
replace = Erstat
replace-all = Erstat alle
case-sensitive = Forskel på store og små bogstaver
use-regex = Anvend regex
wrap-around = Omslut
new-file = Ny fil
new-window = Nyt vindue
open-file = Åbn fil...
open-recent-file = Åbn seneste fil
menu-open-project = Åbn projekt...
open-recent-project = Åbn seneste projekt
close-project = Luk projekt
edit = Redigér
save-as = Gem som...
copy = Kopiér
revert-all-changes = Tilbagefør alle ændringer
paste = Indsæt
menu-document-statistics = Dokument-statistikker...
select-all = Vælg alle
document-type = Dokumenttype...
find = Find
encoding = Kodning...
menu-git-management = Git-håndtering...
print = Udskriv
view = Vis
undo = Fortryd
redo = Omgør
cut = Klip
find-in-project = Find i projekt...
menu-settings = Indstillinger...
spell-check = Stavekontrol...
zoom-in = Zoom ind
default-size = Standardstørrelse
zoom-out = Zoom ud
indentation = Indrykning
automatic-indentation = Automatisk Indrykning
tab-width = Fanebladsbredde: { $tab_width }
convert-indentation-to-spaces = Konvertér indryk til mellemrum
convert-indentation-to-tabs = Konvertér indryk til tabulaturer
comment = Teksteditor til COSMIC-skrivebordet
menu-keyboard-shortcuts = Tastaturgenveje…
word-wrap = Tekstombrydning
show-line-numbers = Vis linjenumre
highlight-current-line = Fremhæv aktuel linje
syntax-highlighting = Syntaksfremhævning…
menu-about = Om COSMIC Teksteditor…
support = Support
settings = Indstillinger

View file

@ -21,7 +21,7 @@ line-count = Zeilen
git-management = Git-Verwaltung git-management = Git-Verwaltung
git-management-description = Git-Verwaltung ist ein Entwicklerwerkzeug, das für die Versionskontrolle eingesetzt wird. git-management-description = Git-Verwaltung ist ein Entwicklerwerkzeug, das für die Versionskontrolle eingesetzt wird.
git-management-loading = Git-Verwaltung wird geladen... git-management-loading = Git-Verwaltung wird geladen ...
stage = Vormerken stage = Vormerken
staged-changes = Vorgemerkte Änderungen staged-changes = Vorgemerkte Änderungen
unstage = Nicht vormerken unstage = Nicht vormerken
@ -50,8 +50,8 @@ theme = Thema
match-desktop = An Desktop anpassen match-desktop = An Desktop anpassen
dark = Dunkel dark = Dunkel
light = Hell light = Hell
syntax-dark = Syntax dunkel syntax-dark = Dunkle Syntax
syntax-light = Syntax hell syntax-light = Helle Syntax
default-font = Standardschriftart default-font = Standardschriftart
default-font-size = Standardschriftgröße default-font-size = Standardschriftgröße
default-zoom-step = Zoomstufen default-zoom-step = Zoomstufen
@ -61,10 +61,10 @@ default-zoom-step = Zoomstufen
keyboard-shortcuts = Tastenkombinationen keyboard-shortcuts = Tastenkombinationen
enable-vim-bindings = Vim-Kombinationen aktivieren enable-vim-bindings = Vim-Kombinationen aktivieren
# Suchen # Suchen
find-placeholder = Suchen... find-placeholder = Suchen ...
find-previous = Vorherigen suchen find-previous = Vorherigen suchen
find-next = Nächsten suchen find-next = Nächsten suchen
replace-placeholder = Ersetzen... replace-placeholder = Ersetzen ...
replace = Ersetzen replace = Ersetzen
replace-all = Alles ersetzen replace-all = Alles ersetzen
case-sensitive = Groß-/Kleinschreibung beachten case-sensitive = Groß-/Kleinschreibung beachten
@ -79,19 +79,19 @@ wrap-around = Umlaufen
file = Datei file = Datei
new-file = Neue Datei new-file = Neue Datei
new-window = Neues Fenster new-window = Neues Fenster
open-file = Datei öffnen... open-file = Datei öffnen ...
open-recent-file = Letzte Datei öffnen open-recent-file = Letzte Datei öffnen
close-file = Datei schließen close-file = Datei schließen
menu-open-project = Projekt öffnen... menu-open-project = Projekt öffnen ...
open-recent-project = Letztes Projekt öffnen open-recent-project = Letztes Projekt öffnen
close-project = Projekt schließen close-project = Projekt schließen
save = Speichern save = Speichern
save-as = Speichern unter... save-as = Speichern unter ...
revert-all-changes = Alle Änderungen rückgängig machen revert-all-changes = Alle Änderungen rückgängig machen
menu-document-statistics = Dokument-Statistiken... menu-document-statistics = Dokument-Statistiken ...
document-type = Dokumententyp... document-type = Dokumententyp ...
encoding = Kodierung... encoding = Kodierung ...
menu-git-management = Git-Verwaltung... menu-git-management = Git-Verwaltung ...
print = Drucken print = Drucken
quit = Beenden quit = Beenden
@ -105,8 +105,8 @@ copy = Kopieren
paste = Einfügen paste = Einfügen
select-all = Alles auswählen select-all = Alles auswählen
find = Suchen find = Suchen
find-in-project = Im Projekt suchen... find-in-project = Im Projekt suchen ...
spell-check = Rechtschreibprüfung... spell-check = Rechtschreibprüfung ...
## Ansicht ## Ansicht
@ -125,10 +125,10 @@ convert-indentation-to-tabs = Einrückung in Tabulatoren umwandeln
word-wrap = Zeilenumbruch word-wrap = Zeilenumbruch
show-line-numbers = Zeilennummern anzeigen show-line-numbers = Zeilennummern anzeigen
highlight-current-line = Aktuelle Zeile hervorheben highlight-current-line = Aktuelle Zeile hervorheben
syntax-highlighting = Syntaxhervorhebung... syntax-highlighting = Syntaxhervorhebung ...
menu-settings = Einstellungen... menu-settings = Einstellungen ...
menu-keyboard-shortcuts = Tastenkombinationen... menu-keyboard-shortcuts = Tastenkombinationen ...
menu-about = Über COSMIC Texteditor... menu-about = Über COSMIC Texteditor ...
repository = Repository repository = Repositorium
support = Unterstützung support = Unterstützung
comment = Texteditor für den COSMIC Desktop comment = Texteditor für den COSMIC Desktop

View file

@ -45,7 +45,7 @@ menu-document-statistics = Στατιστικά εγγράφου...
document-type = Τύπος εγγράφου... document-type = Τύπος εγγράφου...
encoding = Κωδικοποίηση... encoding = Κωδικοποίηση...
print = Εκτύπωση print = Εκτύπωση
quit = Έξοδος quit = Τερματισμός
## Edit ## Edit

View file

@ -0,0 +1,91 @@
save = Save
quit = Quit
cancel = Cancel
settings = Settings
appearance = Appearance
theme = Theme
match-desktop = Match desktop
dark = Dark
file = File
close-file = Close file
syntax-light = Syntax light
cosmic-text-editor = COSMIC Text Editor
comment = Text editor for the COSMIC desktop
new-document = New document
open-project = Open project
todo = TODO
repository = Repository
support = Support
document-statistics = Document statistics
word-count = Word count
character-count = Characters
character-count-no-spaces = Characters (without spaces)
line-count = Lines
git-management = Git management
git-management-description = Git management is a developer tool used for version control operations.
keyboard-shortcuts = Keyboard shortcuts
replace = Replace
git-management-loading = Loading Git management...
stage = Stage
staged-changes = Staged changes
unstage = Unstage
unstaged-changes = Unstaged changes
project-search = Project search
prompt-save-changes-title = Save changes before closing?
prompt-unsaved-changes = You have unsaved changes. If you continue without saving, these changes will be lost.
discard = Discard changes
save-all = Save all
syntax-dark = Syntax dark
default-font = Default font
default-font-size = Default font size
default-zoom-step = Zoom steps
enable-vim-bindings = Enable Vim bindings
find-placeholder = Find...
find-previous = Find previous
find-next = Find next
replace-placeholder = Replace...
replace-all = Replace all
case-sensitive = Case sensitive
use-regex = Use regex
wrap-around = Wrap around
new-file = New file
new-window = New window
open-file = Open file...
open-recent-file = Open recent file
menu-open-project = Open project...
open-recent-project = Open recent project
close-project = Close project
save-as = Save as...
revert-all-changes = Revert all changes
menu-document-statistics = Document statistics...
document-type = Document type...
encoding = Encoding...
menu-git-management = Git management...
print = Print
light = Light
edit = Edit
undo = Undo
redo = Redo
cut = Cut
copy = Copy
paste = Paste
select-all = Select all
find = Find
find-in-project = Find in project...
spell-check = Spell check...
view = View
zoom-in = Zoom in
default-size = Default size
zoom-out = Zoom out
indentation = Indentation
automatic-indentation = Automatic Indentation
tab-width = Tab width: { $tab_width }
convert-indentation-to-spaces = Convert indentation to spaces
convert-indentation-to-tabs = Convert indentation to tabs
menu-keyboard-shortcuts = Keyboard shortcuts...
word-wrap = Word wrap
show-line-numbers = Show line numbers
highlight-current-line = Highlight current line
syntax-highlighting = Syntax highlighting...
menu-settings = Settings...
menu-about = About COSMIC Text Editor...

View file

@ -31,7 +31,7 @@ settings = Asetukset
appearance = Ulkoasu appearance = Ulkoasu
theme = Teema theme = Teema
match-desktop = Sovita työpöytään match-desktop = Sama kuin työpöytä
dark = Tumma dark = Tumma
light = Vaalea light = Vaalea
syntax-dark = Tumma syntaksi syntax-dark = Tumma syntaksi

0
i18n/fil/cosmic_edit.ftl Normal file
View file

91
i18n/gl/cosmic_edit.ftl Normal file
View file

@ -0,0 +1,91 @@
save = Gardar
cancel = Cancelar
cosmic-text-editor = Editor de Texto de COSMIC
comment = Editor de texto para o escritorio COSMIC
new-document = Novo documento
open-project = Abrir proxecto
todo = TODO
repository = Repositorio
support = Soporte
document-statistics = Estadisticas do documento
word-count = Reconto de palabras
character-count = Carácteres
character-count-no-spaces = Carácter (sen espazos)
line-count = Liñas
git-management = Xestion de Git
git-management-description = A xestión de Git é unha ferramenta de desenvolvemento utilizada para operacións de control de versións.
git-management-loading = Cargando a xestión de Git...
stage = Etapa
staged-changes = Cambios preparados
unstage = Sen preparar
unstaged-changes = Cambios sen preparar
project-search = Buscar proxecto
prompt-save-changes-title = Gardar os cambios antes de pechar?
prompt-unsaved-changes = Tes cambios sen gardar. Se continúas sen gardalos, estes cambios perderanse.
discard = Descartar cambios
save-all = Gardar todo
settings = Axustes
appearance = Apariencia
theme = Tema
match-desktop = Axustar ao escritorio
dark = Escuro
light = Claro
syntax-dark = Sintaxe escura
syntax-light = Sintaxe clara
default-font = Fonte por defecto
default-font-size = Tamaño de fonte por defecto
default-zoom-step = Pasos do zoom
keyboard-shortcuts = Atallos de teclado
enable-vim-bindings = Activar as asociacións de teclas de Vim
find-placeholder = Atopar…
find-previous = Atopar antes
find-next = Atopar seguinte
replace-placeholder = Remplazar…
replace = Remplazar
replace-all = Remplazar todo
case-sensitive = Distinguir maiúsculas e minúsculas
use-regex = Usar expresións regulares
wrap-around = Buscar de comezo a fin
file = Ficheiro
new-file = Novo ficheiro
new-window = Nova xanela
open-file = Abrir ficheiro…
open-recent-file = Abrir ficheiro recente
close-file = Pechar ficheiro
menu-open-project = Abrir proxecto…
open-recent-project = Abrir proxecto recente
close-project = Pechar proxecto
save-as = Gardar como…
revert-all-changes = Desvotar todos os cambios
menu-document-statistics = Estatísticas do documento...
document-type = Tipo de documento…
encoding = Codificación...
menu-git-management = Xestión de Git...
print = Imprimir
quit = Pechar
edit = Editar
undo = Desfacer
redo = Refacer
cut = Cortar
copy = Copiar
paste = Pegar
select-all = Seleccionar todo
find = Atopar
find-in-project = Atopar en proxecto…
spell-check = Corrección ortográfica...
view = Ver
zoom-in = Aumentar Zoom
default-size = Tamaño por defecto
zoom-out = Afastar Zoom
indentation = Sangría
automatic-indentation = Sangría automatica
tab-width = Largura da tabulación:{ $tab_width }
convert-indentation-to-spaces = Converter a sangria en espazos
convert-indentation-to-tabs = Converter a sangría en tabulacións
word-wrap = Axuste de liña
show-line-numbers = Amosar o numero de liñas
highlight-current-line = Subrayar a liña actual
syntax-highlighting = Realce da sintaxe...
menu-settings = Axustes...
menu-keyboard-shortcuts = Atallos de teclado…
menu-about = Sobre Editor de Texto COSMIC…

View file

@ -1,7 +1,7 @@
cosmic-text-editor = कॉस्मिक टेक्स्ट एडिटर cosmic-text-editor = कॉस्मिक टेक्स्ट एडिटर
new-document = नया दस्तावेज़ new-document = नया दस्तावेज़
open-project = प्रोजेक्ट खोलें open-project = प्रोजेक्ट खोलें
todo = करने के लिए todo = कार्य-सूची
# Context Pages # Context Pages
@ -13,41 +13,41 @@ todo = करने के लिए
document-statistics = दस्तावेज़ आँकड़े document-statistics = दस्तावेज़ आँकड़े
word-count = शब्दों की संख्या word-count = शब्दों की संख्या
character-count = अक्षरों की संख्या character-count = अक्षर
character-count-no-spaces = अक्षरों की संख्या (स्पेस के बिना) character-count-no-spaces = अक्षर (बिना स्थान के)
line-count = पंक्तियाँ line-count = पंक्तियाँ
## Git management ## Git management
git-management = Git प्रबंधन git-management = गिट प्रबंधन
git-management-description = Git प्रबंधन एक डेवलपर टूल है जो संस्करण नियंत्रण कार्यों के लिए उपयोग किया जाता है। git-management-description = गिट प्रबंधन एक डेवलपर उपकरण है जिसका उपयोग संस्करण नियंत्रण संचालन के लिए किया जाता है।
git-management-loading = Git प्रबंधन लोड हो रहा है... git-management-loading = गिट प्रबंधन लोड हो रहा है..।
stage = स्टेज stage = स्टेज करें
staged-changes = स्टेज पर बदली गई चीज़ें staged-changes = स्टेज किए गए बदलाव
unstage = स्टेज से हटाएँ unstage = अनस्टेज करें
unstaged-changes = बिना स्टेज की गई चीज़ें unstaged-changes = अनस्टेज किए गए बदलाव
## Project search ## Project search
project-search = प्रोजेक्ट खोज project-search = परियोजना खोज
## Prompt save changes ## Prompt save changes
prompt-save-changes-title = बिना सहेजे हुए बदलाव prompt-save-changes-title = बंद करने से पहले बदलाव सहेजें?
prompt-unsaved-changes = आपके पास बिना सहेजे हुए बदलाव हैं। सहेजना है? prompt-unsaved-changes = आपके पास अनसहेजे बदलाव हैं। यदि आप बिना सहेजे जारी रखते हैं, तो ये बदलाव नष्ट हो जाएँगे।
cancel = रद्द करो cancel = रद्द करें
discard = बदलाव को खारिज करें discard = बदलावों को खारिज करें
save-all = सब कुछ सहेजें save-all = सभी सहेजें
## Settings ## Settings
settings = सेटिंग settings = सेटिंग्स
### Appearance ### Appearance
appearance = दिखावट appearance = रुप-रंग
theme = थीम theme = प्रसंग
match-desktop = डेस्कटॉप से मेल करें match-desktop = डेस्कटॉप से मेल खाएँ
dark = डार्क dark = डार्क
light = लाइट light = लाइट
syntax-dark = सिंटैक्स डार्क syntax-dark = सिंटैक्स डार्क
@ -60,14 +60,14 @@ default-font-size = डिफ़ॉल्ट फ़ॉन्ट आकार
keyboard-shortcuts = कीबोर्ड शॉर्टकट्स keyboard-shortcuts = कीबोर्ड शॉर्टकट्स
enable-vim-bindings = Vim बाइंडिंग्स सक्षम करें enable-vim-bindings = Vim बाइंडिंग्स सक्षम करें
# Find # Find
find-placeholder = खोजें... find-placeholder = खोजें..।
find-previous = पिछला खोजें find-previous = पिछला खोजें
find-next = अगला खोजें find-next = अगला खोजें
replace-placeholder = बदलें... replace-placeholder = बदलें..।
replace = बदलें replace = बदलें
replace-all = सब कुछ बदलें replace-all = सब कुछ बदलें
case-sensitive = केस-सेंसिटिव case-sensitive = अक्षर संवेदनशील
use-regex = Regex का उपयोग करें use-regex = रिगैक्स का उपयोग करें
# Menu # Menu
@ -77,34 +77,34 @@ use-regex = Regex का उपयोग करें
file = फ़ाइल file = फ़ाइल
new-file = नई फ़ाइल new-file = नई फ़ाइल
new-window = नई विंडो new-window = नई विंडो
open-file = फ़ाइल खोलें... open-file = फ़ाइल खोलें..।
open-recent-file = हाल की फ़ाइल खोलें open-recent-file = हाल की फ़ाइल खोलें
close-file = फ़ाइल बंद करें close-file = फ़ाइल बंद करें
menu-open-project = प्रोजेक्ट खोलें... menu-open-project = परियोजना खोलें..।
open-recent-project = हाल का प्रोजेक्ट खोलें open-recent-project = हालिया परियोजना खोलें
close-project = प्रोजेक्ट बंद करें close-project = परियोजना बंद करें
save = सहेजें save = सहेजें
save-as = इस रूप में सहेजें... save-as = इस रूप में सहेजें..।
revert-all-changes = सभी बदलावों को पलटें revert-all-changes = सभी बदलावों को पलटें
menu-document-statistics = दस्तावेज़ आँकड़े... menu-document-statistics = दस्तावेज़ आँकड़े..।
document-type = दस्तावेज़ प्रकार... document-type = दस्तावेज़ प्रकार..।
encoding = एन्कोडिंग... encoding = एनकोडिंग..।
menu-git-management = Git प्रबंधन... menu-git-management = गिट प्रबंधन..।
print = प्रिंट करें print = छापें
quit = बंद करें quit = बाहर जाएँ
## Edit ## Edit
edit = संपादित करें edit = संपादन
undo = पूर्ववत करें undo = पूर्ववत करें
redo = फिर से करें redo = फिर से करें
cut = काटें cut = काटें
copy = कॉपी करें copy = कॉपी करें
paste = पेस्ट करें paste = चिपकाएँ
select-all = सब कुछ चुनें select-all = सभी चुनें
find = खोजें find = खोजें
find-in-project = प्रोजेक्ट में खोजें... find-in-project = परियोजना में खोजें..।
spell-check = वर्तनी की जांच... spell-check = वर्तनी जाँच..।
## View ## View
@ -116,13 +116,19 @@ indentation = इंडेंटेशन
automatic-indentation = स्वचालित इंडेंटेशन automatic-indentation = स्वचालित इंडेंटेशन
tab-width = टैब चौड़ाई: { $tab_width } tab-width = टैब चौड़ाई: { $tab_width }
convert-indentation-to-spaces = इंडेंटेशन को स्पेस में बदलें convert-indentation-to-spaces = इंडेंटेशन को स्पेस में बदलें
convert-indentation-to-tabs = इंडेंटेशन को टैब्स में बदलें convert-indentation-to-tabs = इंडेंटेशन को टैब में बदलें
word-wrap = वर्ड रैप word-wrap = शब्द लपेटन
show-line-numbers = पंक्ति संख्या दिखाएँ show-line-numbers = पंक्ति संख्या दिखाएँ
highlight-current-line = वर्तमान पंक्ति को हाइलाइट करें highlight-current-line = वर्तमान पंक्ति को हाइलाइट करें
syntax-highlighting = सिंटैक्स हाइलाइटिंग... syntax-highlighting = सिंटैक्स हाइलाइटिंग..।
menu-settings = सेटिंग्स... menu-settings = सेटिंग्स..।
menu-keyboard-shortcuts = कीबोर्ड शॉर्टकट्स... menu-keyboard-shortcuts = कीबोर्ड शॉर्टकट्स..।
menu-about = कॉस्मिक टेक्स्ट एडिटर के बारे में... menu-about = कॉस्मिक टेक्स्ट एडिटर के बारे में..।
repository = रिपॉजिटरी repository = रिपॉजिटरी
support = सहायता support = समर्थन
comment = कॉस्मिक डेस्कटॉप के लिए टेक्स्ट एडिटर
default-zoom-step = ज़ूम चरण
wrap-around = लपेटें
zoom-in = बड़ा करें
default-size = मूल आकार
zoom-out = छोटा करें

View file

@ -60,7 +60,7 @@ default-zoom-step = Nagyítási mérték
### Keyboard shortcuts ### Keyboard shortcuts
keyboard-shortcuts = Gyorsbillentyűk keyboard-shortcuts = Gyorsbillentyűk
enable-vim-bindings = Vim billentyűkombinációk engedélyezése enable-vim-bindings = Vim-billentyűkombinációk engedélyezése
# Find # Find
find-placeholder = Keresés… find-placeholder = Keresés…
find-previous = Előző találat find-previous = Előző találat

View file

@ -18,7 +18,7 @@ appearance = Tampilan
git-management = Pengelolaan Git git-management = Pengelolaan Git
theme = Tema theme = Tema
git-management-description = Pengelolaan Git adalah alat pengembang yang digunakan untuk operasi pengendalian versi. git-management-description = Pengelolaan Git adalah alat pengembang yang digunakan untuk operasi pengendalian versi.
match-desktop = Cocokkan desktop match-desktop = Cocok desktop
menu-settings = Pengaturan... menu-settings = Pengaturan...
git-management-loading = Memuat pengelolaan Git... git-management-loading = Memuat pengelolaan Git...
staged-changes = Perubahan yang bertahap staged-changes = Perubahan yang bertahap

View file

@ -1,8 +1,8 @@
cosmic-text-editor = COSMIC Text Editor cosmic-text-editor = Editor di testo COSMIC
comment = Editor di testo di COSMIC comment = Editor di testo per il desktop COSMIC
new-document = Nuovo documento new-document = Nuovo documento
open-project = Apri progetto open-project = Apri progetto
todo = TODO todo = A fare
# Context Pages # Context Pages
@ -15,15 +15,15 @@ support = Supporto
## Document statistics ## Document statistics
document-statistics = Statistiche documento document-statistics = Statistiche documento
word-count = Conteggio parole word-count = Conteggio delle parole
character-count = Caratteri character-count = Caratteri
character-count-no-spaces = Caratteri (senza spazi) character-count-no-spaces = Caratteri (senza spazi)
line-count = Righe line-count = Linee
## Git management ## Git management
git-management = Gestione Git git-management = Gestione Git
git-management-description = Gestione Git è uno strumento per sviluppatori, usato per le operazioni di controllo versione. git-management-description = Gestione Git è uno strumento per sviluppatori, usato per le operazioni di controllo di versione.
git-management-loading = Caricamento Gestione Git... git-management-loading = Caricamento Gestione Git...
stage = Prepara modifiche stage = Prepara modifiche
staged-changes = Modifiche preparate staged-changes = Modifiche preparate
@ -35,8 +35,8 @@ project-search = Ricerca nel progetto
## Prompt save changes ## Prompt save changes
prompt-save-changes-title = Modifiche non salvate prompt-save-changes-title = Salvare le modifiche prima di chiudere?
prompt-unsaved-changes = Hai delle modifiche non salvate. Vuoi salvarle? prompt-unsaved-changes = Sono presenti modifiche non salvate. Se continui senza salvare, queste modifiche andranno perse.
cancel = Annulla cancel = Annulla
discard = Ignora modifiche discard = Ignora modifiche
save-all = Salva tutto save-all = Salva tutto
@ -49,7 +49,7 @@ settings = Impostazioni
appearance = Aspetto appearance = Aspetto
theme = Tema theme = Tema
match-desktop = Sistema match-desktop = Abbina al desktop
dark = Scuro dark = Scuro
light = Chiaro light = Chiaro
syntax-dark = Sintassi scura syntax-dark = Sintassi scura
@ -89,8 +89,8 @@ close-project = Chiudi progetto
save = Salva save = Salva
save-as = Salva come... save-as = Salva come...
revert-all-changes = Annulla tutte le modifiche revert-all-changes = Annulla tutte le modifiche
menu-document-statistics = Statistiche documento... menu-document-statistics = Statistiche di documento...
document-type = Tipo documento... document-type = Tipo di documento...
encoding = Codifica... encoding = Codifica...
menu-git-management = Gestione Git... menu-git-management = Gestione Git...
print = Stampa print = Stampa

View file

@ -1,9 +1,9 @@
cancel = Sefsex cancel = Semmet
undo = Ssemmet undo = Ssemmet
save = Sekles save = Sekles
quit = Tuffɣa quit = Ffeɣ
replace = Semselsi replace = Semselsi
support = Tallalt support = Tallelt
settings = Iɣewwaṛen settings = Iɣewwaṛen
appearance = Timeẓri appearance = Timeẓri
theme = Asentel theme = Asentel
@ -16,7 +16,7 @@ default-size = Tiddi tamezwert
zoom-out = Asemẓi zoom-out = Asemẓi
view = Wali view = Wali
menu-settings = Iɣewwaṛen… menu-settings = Iɣewwaṛen…
match-desktop = Amṣada d tnarit match-desktop = Semṣada akked tnarit
file = Afaylu file = Afaylu
new-window = Asfaylu amaynut new-window = Asfaylu amaynut
edit = Ẓreg edit = Ẓreg

View file

@ -5,11 +5,11 @@ replace = Алмастыру
repository = Репозиторий repository = Репозиторий
support = Қолдау support = Қолдау
settings = Баптаулар settings = Баптаулар
appearance = Сыртқы түрі appearance = Сыртқы көрініс
theme = Тақырып theme = Тема
match-desktop = Жұмыс үстеліне сәйкес келу match-desktop = Жұмыс үстеліне сәйкес болу
dark = Қараңғы dark = Қою
light = Жарық light = Ашық
file = Файл file = Файл
new-window = Жаңа терезе new-window = Жаңа терезе
quit = Шығу quit = Шығу

View file

@ -0,0 +1,91 @@
save = Tomar bike
cancel = Têk bibe
undo = Vegerîne
cosmic-text-editor = Edîtorê nivîsê ya COSMIC
stage = Ast
settings = Sazkarî
appearance = Xuyang
theme = Rûkar
dark = Tarî
light = Ronî
support = Piştgirî
quit = Biqedîne
find-placeholder = Bibîne...
copy = Jê bigire
paste = Pê ve bike
match-desktop = Bi sermaseyê re li hev bîne
select-all = Hemûyan hilbijêre
zoom-in = Nêzîk bike
default-size = Mezinahiya berdest
zoom-out = Dûr bike
file = Pel
default-zoom-step = Gavên nêzîkbûnê
keyboard-shortcuts = Kurteriyên kilîtdankê
menu-keyboard-shortcuts = Kurteriyên kilîtdankê...
find-previous = Yê paş bibîne
find-next = Yê pêş bibîne
new-window = Çarçoveya nû
edit = Biguhêrîne
view = Dîtin
menu-settings = Sazkarî...
close-file = Pelê bigire
cut = Jê bike
new-document = Pelbenda nû
open-project = Projeyê veke
line-count = Rêz
repository = Embar
print = Çap bike
replace = Biguhêrîne
find = Bibîne
comment = Edîtorê nivîsê ji bo sermaseya COSMIC
todo = Erk
document-statistics = Amarên pelbendê
word-count = Jimara peyvan
character-count = Tîp
character-count-no-spaces = Tîp (bê valahî)
git-management = Rêveberiya Gitê
git-management-description = Rêveberiya Gitê amûreke pêşvebiran e ku ji bo pêvajoyên kontrolkirina guhertoyan tê bikaranîn.
git-management-loading = Rêveberiya Gitê tê barkirin...
staged-changes = Guhertinên amedekirî
unstage = Ji amedekariyê derxîne
unstaged-changes = Guhertinên ne amedekirî
project-search = Lêgerîna projeyê
prompt-save-changes-title = Berî girtinê guhertinan tomar bike?
prompt-unsaved-changes = Guhertinên te yên netomarkirî hene. Ku tu bê tomarkirinê bidomînî, ev guhertin wê winda bibin.
discard = Guhertinan paşguh bike
save-all = Hemûyan tomar bike
syntax-dark = Syntaxa tarî
syntax-light = Rêzamana ronî
default-font = Cûrenivîsa berdest
default-font-size = Mezinahiya cûrenivîsê ya berdest
enable-vim-bindings = Girêdanên Vim çalak bike
replace-placeholder = Biguhêrîne...
replace-all = Hemûyan biguhêrîne
case-sensitive = Hestiyar e li hember tîpên mezin/biçûk
use-regex = Regexê bi kar bîne
wrap-around = Pêçana dorhêlê
new-file = Pela nû
open-file = Pelê veke...
open-recent-file = Pelê dawî veke
menu-open-project = Projeyê veke...
open-recent-project = Projeya dawî veke
close-project = Projeyê bigire
save-as = Tomar bike wekî...
revert-all-changes = Hemû guhertinan vegerîne
menu-document-statistics = Amarên pelbendê...
document-type = Cûreyê pelbendê...
encoding = Tê kodkirin...
menu-git-management = Rêveberiya Gitê...
redo = Dûbare bike
find-in-project = Di projeyê de bibîne...
spell-check = Kontrola rastnivîsê...
indentation = Valahiya destpêkê
automatic-indentation = Valahiya destpêkê ya xweber
tab-width = Ferehiya rûgerê: { $tab_width }
convert-indentation-to-spaces = Indentationê vegerîne valahiyan
convert-indentation-to-tabs = Valahiya destpêkê biguhêrîne bo rûgeran
word-wrap = Pêçana peyvan
show-line-numbers = Jimarên rêzan nîşan bide
highlight-current-line = Rêza heyî ronî bike
syntax-highlighting = Ronîkirina syntaxê...
menu-about = Di derbarê edîtorê nivîsê ya COSMIC de...

View file

@ -14,7 +14,7 @@ line-count = Eilučių skaičius
## Settings ## Settings
settings = Nuostatos settings = Nuostatai
## Appearance ## Appearance
@ -45,7 +45,7 @@ menu-document-statistics = Apie dokumentą...
document-type = Dokumento tipas... document-type = Dokumento tipas...
encoding = Koduotė... encoding = Koduotė...
print = Spausdinti print = Spausdinti
quit = Išeiti quit = Išjungti
## Edit ## Edit
@ -74,7 +74,7 @@ word-wrap = Žodžių kėlimas
show-line-numbers = Rodyti eilučių numerius show-line-numbers = Rodyti eilučių numerius
highlight-current-line = Paryškinti dabartinę eilutę highlight-current-line = Paryškinti dabartinę eilutę
syntax-highlighting = Sintaksės tikrinimas... syntax-highlighting = Sintaksės tikrinimas...
menu-settings = Nuostatos... menu-settings = Nuostatai...
menu-keyboard-shortcuts = Spartieji klavišai... menu-keyboard-shortcuts = Spartieji klavišai...
menu-about = Apie COSMIC Rašyklę... menu-about = Apie COSMIC Rašyklę...
cancel = Atšaukti cancel = Atšaukti

View file

@ -1 +1,13 @@
settings = Paramètres settings = Configuracion
appearance = Aparéncia
theme = Tèma
match-desktop = Assortir al burèu
dark = Escur
light = Clar
file = Fichièr
close-file = Tampar lo fichièr
cancel = Anullar
repository = Depaus
menu-settings = Configuracion...
quit = Quitar
replace = Remplaçar

View file

@ -3,11 +3,11 @@ support = ਸਹਿਯੋਗ
settings = ਸੈਟਿੰਗਾਂ settings = ਸੈਟਿੰਗਾਂ
appearance = ਦਿੱਖ appearance = ਦਿੱਖ
theme = ਥੀਮ theme = ਥੀਮ
match-desktop = ਡੈਸਕਟਾਪ ਨਾਲ ਮਿਲਦਾ match-desktop = ਡੈਸਕਟਾਪ ਨਾਲ ਮਿਲਾਓ
dark = ਗੂੜ੍ਹਾ dark = ਗੂੜ੍ਹਾ
light = ਹਲਕਾ light = ਫਿੱਕਾ
default-zoom-step = ਜ਼ੂਮ ਸਟੈਪ default-zoom-step = ਜ਼ੂਮ ਸਟੈਪ
quit = ਬਾਹਰ quit = ਸਮਾਪਤ
edit = ਸੋਧੋ edit = ਸੋਧੋ
copy = ਕਾਪੀ ਕਰੋ copy = ਕਾਪੀ ਕਰੋ
paste = ਚੇਪੋ paste = ਚੇਪੋ

View file

@ -1,5 +1,5 @@
cosmic-text-editor = Edytor Tekstu COSMIC cosmic-text-editor = Edytor Tekstu COSMIC
comment = Edytor tekstu pulpitu COSMIC comment = Edytor tekstu dla środowiska COSMIC
new-document = Nowy dokument new-document = Nowy dokument
open-project = Otwórz projekt open-project = Otwórz projekt
todo = TODO todo = TODO
@ -64,7 +64,7 @@ default-zoom-step = Stopniowanie powiększania
keyboard-shortcuts = Skróty klawiszowe keyboard-shortcuts = Skróty klawiszowe
enable-vim-bindings = Włącz tryb Vim enable-vim-bindings = Włącz tryb Vim
# Find # Find
find-placeholder = Szukaj… find-placeholder = Wyszukaj…
find-previous = Znajdź poprzedni find-previous = Znajdź poprzedni
find-next = Znajdź następny find-next = Znajdź następny
replace-placeholder = Zastąp… replace-placeholder = Zastąp…
@ -95,7 +95,7 @@ document-type = Typ dokumentu…
encoding = Kodowanie… encoding = Kodowanie…
menu-git-management = Zarządzanie git… menu-git-management = Zarządzanie git…
print = Drukuj print = Drukuj
quit = Zamknij quit = Zakończ
## Edit ## Edit
@ -106,8 +106,8 @@ cut = Wytnij
copy = Kopiuj copy = Kopiuj
paste = Wklej paste = Wklej
select-all = Zaznacz wszystko select-all = Zaznacz wszystko
find = Szukaj find = Wyszukaj
find-in-project = Szukaj w projekcie… find-in-project = Wyszukaj w projekcie…
spell-check = Sprawdź ortografię… spell-check = Sprawdź ortografię…
## View ## View

View file

@ -94,7 +94,7 @@ document-type = Tipo de documento...
encoding = Codificação... encoding = Codificação...
menu-git-management = Gerenciamento do Git... menu-git-management = Gerenciamento do Git...
print = Imprimir print = Imprimir
quit = Sair quit = Encerrar
## Edit ## Edit

View file

@ -94,7 +94,7 @@ document-type = Тип документа...
encoding = Кодировка... encoding = Кодировка...
menu-git-management = Управление Git... menu-git-management = Управление Git...
print = Печать print = Печать
quit = Выйти quit = Завершить
## Edit ## Edit

2
i18n/sat/cosmic_edit.ftl Normal file
View file

@ -0,0 +1,2 @@
cancel = ᱵᱟᱹᱛᱤᱞ
save = ᱥᱟᱧᱪᱟᱣ

View file

@ -119,7 +119,7 @@ word-wrap = Radbrytning
show-line-numbers = Visa radnummer show-line-numbers = Visa radnummer
highlight-current-line = Markera aktuell rad highlight-current-line = Markera aktuell rad
syntax-highlighting = Syntaxmarkering... syntax-highlighting = Syntaxmarkering...
menu-settings = Inställningar… menu-settings = Inställningar...
menu-keyboard-shortcuts = Tangentbordsgenvägar... menu-keyboard-shortcuts = Tangentbordsgenvägar...
menu-about = Om COSMIC Textredigerare… menu-about = Om COSMIC Textredigerare…
cosmic-text-editor = COSMIC Textredigerare cosmic-text-editor = COSMIC Textredigerare

View file

@ -0,0 +1,6 @@
cancel = ยกเลิก
settings = การตั้งค่า
dark = มืด
light = สว่าง
replace = แทนที่
appearance = ลักษณะ

View file

@ -90,7 +90,7 @@ document-type = Тип документа...
encoding = Кодування... encoding = Кодування...
menu-git-management = Керування Git... menu-git-management = Керування Git...
print = Друкувати print = Друкувати
quit = Вийти quit = Завершити
## Edit ## Edit

View file

@ -1,5 +1,5 @@
cosmic-text-editor = COSMIC 文字編輯器 cosmic-text-editor = COSMIC 文字編輯器
new-document = 新建文件 new-document = 新文件
open-project = 開啟專案 open-project = 開啟專案
todo = 待辦事項 todo = 待辦事項
@ -71,8 +71,8 @@ use-regex = 使用正規表示式
## File ## File
file = 檔案 file = 檔案
new-file = 新建檔案 new-file = 新增檔案
new-window = 新建視窗 new-window = 新增視窗
open-file = 開啟檔案... open-file = 開啟檔案...
open-recent-file = 開啟最近使用的檔案 open-recent-file = 開啟最近使用的檔案
close-file = 關閉檔案 close-file = 關閉檔案
@ -87,7 +87,7 @@ document-type = 文件類型...
encoding = 編碼... encoding = 編碼...
menu-git-management = Git 管理... menu-git-management = Git 管理...
print = 列印 print = 列印
quit = 退出 quit = 結束
## Edit ## Edit
@ -124,7 +124,7 @@ stage = 暫存
unstage = 取消暫存 unstage = 取消暫存
cancel = 取消 cancel = 取消
save-all = 全部儲存 save-all = 全部儲存
repository = 軟體庫源 repository = 軟體庫
support = 支援 support = 支援
default-zoom-step = 縮放步進 default-zoom-step = 縮放步進
zoom-in = 放大 zoom-in = 放大

View file

@ -11,7 +11,7 @@ use cosmic::{
cosmic_theme, executor, cosmic_theme, executor,
font::Font, font::Font,
iced::{ iced::{
self, Alignment, Background, Color, Length, Limits, Point, Subscription, self, Alignment, Background, Color, Length, Limits, Subscription,
advanced::graphics::text::font_system, advanced::graphics::text::font_system,
clipboard, event, clipboard, event,
futures::{self, SinkExt}, futures::{self, SinkExt},
@ -194,6 +194,7 @@ fn main() -> Result<(), Box<dyn std::error::Error>> {
#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)] #[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
pub enum Action { pub enum Action {
Todo, Todo,
NoOp,
About, About,
CloseFile, CloseFile,
CloseProject(usize), CloseProject(usize),
@ -244,6 +245,7 @@ impl Action {
fn message(&self, entity_opt: Option<Entity>) -> Message { fn message(&self, entity_opt: Option<Entity>) -> Message {
match self { match self {
Self::Todo => Message::Todo, Self::Todo => Message::Todo,
Self::NoOp => Message::NoOp,
Self::About => Message::ToggleContextPage(ContextPage::About), Self::About => Message::ToggleContextPage(ContextPage::About),
Self::CloseFile => Message::CloseFile, Self::CloseFile => Message::CloseFile,
Self::CloseProject(project_i) => Message::CloseProject(*project_i), Self::CloseProject(project_i) => Message::CloseProject(*project_i),
@ -371,6 +373,7 @@ pub enum Message {
Modifiers(Modifiers), Modifiers(Modifiers),
NewFile, NewFile,
NewWindow, NewWindow,
NoOp,
NotifyEvent(notify::Event), NotifyEvent(notify::Event),
NotifyWatcher(WatcherWrapper), NotifyWatcher(WatcherWrapper),
OpenFile(PathBuf), OpenFile(PathBuf),
@ -400,7 +403,7 @@ pub enum Message {
SaveAsResult(segmented_button::Entity, DialogResult), SaveAsResult(segmented_button::Entity, DialogResult),
Scroll(f32), Scroll(f32),
SelectAll, SelectAll,
Surface(surface::Action), Surface(surface::Action<Message>),
SystemThemeModeChange(cosmic_theme::ThemeMode), SystemThemeModeChange(cosmic_theme::ThemeMode),
SyntaxTheme(usize, bool), SyntaxTheme(usize, bool),
TabActivate(segmented_button::Entity), TabActivate(segmented_button::Entity),
@ -409,7 +412,7 @@ pub enum Message {
TabClose(segmented_button::Entity), TabClose(segmented_button::Entity),
TabCloseForce(segmented_button::Entity), TabCloseForce(segmented_button::Entity),
TabContextAction(segmented_button::Entity, Action), TabContextAction(segmented_button::Entity, Action),
TabContextMenu(segmented_button::Entity, Option<Point>), TabContextMenu(segmented_button::Entity, bool),
TabNext, TabNext,
TabPrev, TabPrev,
TabSetCursor(segmented_button::Entity, Cursor), TabSetCursor(segmented_button::Entity, Cursor),
@ -2162,6 +2165,9 @@ impl Application for App {
} }
} }
} }
Message::NoOp => {
// Do nothing
}
Message::NotifyEvent(event) => { Message::NotifyEvent(event) => {
// Reload tabs that changed // Reload tabs that changed
let mut tab_reload = Vec::new(); let mut tab_reload = Vec::new();
@ -2707,9 +2713,7 @@ impl Application for App {
} }
} }
Message::Surface(a) => { Message::Surface(a) => {
return cosmic::task::message(cosmic::Action::Cosmic( return cosmic::task::message(cosmic::Action::Surface(a));
cosmic::app::Action::Surface(a),
));
} }
Message::SystemThemeModeChange(_theme_mode) => { Message::SystemThemeModeChange(_theme_mode) => {
return self.update_config(); return self.update_config();
@ -2788,7 +2792,9 @@ impl Application for App {
} }
Message::TabCloseForce(entity) => { Message::TabCloseForce(entity) => {
// Activate closest item // Activate closest item
if let Some(position) = self.tab_model.position(entity) { if self.tab_model.active() == entity
&& let Some(position) = self.tab_model.position(entity)
{
if position > 0 { if position > 0 {
self.tab_model.activate_position(position - 1); self.tab_model.activate_position(position - 1);
} else { } else {
@ -2815,15 +2821,15 @@ impl Application for App {
Message::TabContextAction(entity, action) => { Message::TabContextAction(entity, action) => {
if let Some(Tab::Editor(tab)) = self.tab_model.data_mut::<Tab>(entity) { if let Some(Tab::Editor(tab)) = self.tab_model.data_mut::<Tab>(entity) {
// Close context menu // Close context menu
tab.context_menu = None; tab.context_menu_open = false;
// Run action's message // Run action's message
return self.update(action.message(None)); return self.update(action.message(None));
} }
} }
Message::TabContextMenu(entity, position_opt) => { Message::TabContextMenu(entity, open) => {
if let Some(Tab::Editor(tab)) = self.tab_model.data_mut::<Tab>(entity) { if let Some(Tab::Editor(tab)) = self.tab_model.data_mut::<Tab>(entity) {
// Update context menu // Update context menu
tab.context_menu = position_opt; tab.context_menu_open = open;
} }
} }
Message::TabNext => { Message::TabNext => {
@ -3028,12 +3034,19 @@ impl Application for App {
} }
fn header_start(&self) -> Vec<Element<'_, Message>> { fn header_start(&self) -> Vec<Element<'_, Message>> {
let has_selection = match self.active_tab() {
Some(Tab::Editor(tab)) => tab.editor.lock().unwrap().selection() != Selection::None,
Some(Tab::GitDiff(_)) => false,
None => false,
};
vec![menu_bar( vec![menu_bar(
&self.core, &self.core,
&self.config, &self.config,
&self.config_state, &self.config_state,
&self.key_binds, &self.key_binds,
&self.projects, &self.projects,
has_selection,
)] )]
} }
@ -3078,23 +3091,25 @@ impl Application for App {
.on_focus(Message::FindFocused(false)) .on_focus(Message::FindFocused(false))
.on_auto_scroll(Message::AutoScroll) .on_auto_scroll(Message::AutoScroll)
.on_changed(Message::TabChanged(tab_id)) .on_changed(Message::TabChanged(tab_id))
.has_context_menu(tab.context_menu.is_some()) .has_context_menu(tab.context_menu_open)
.on_context_menu(move |position_opt| { .on_context_menu(move |open| Message::TabContextMenu(tab_id, open));
Message::TabContextMenu(tab_id, position_opt)
});
if self.config.highlight_current_line { if self.config.highlight_current_line {
text_box = text_box.highlight_current_line(); text_box = text_box.highlight_current_line();
} }
if self.config.line_numbers { if self.config.line_numbers {
text_box = text_box.line_numbers(); text_box = text_box.line_numbers();
} }
let mut popover = widget::popover(text_box); let has_selection = tab.editor.lock().unwrap().selection() != Selection::None;
if let Some(point) = tab.context_menu { let mut context_menu = widget::context_menu(
popover = popover text_box,
.popup(menu::context_menu(&self.key_binds, tab_id)) Some(menu::context_menu(&self.key_binds, tab_id, has_selection)),
.position(widget::popover::Position::Point(point)); )
.on_close(Message::TabContextMenu(tab_id, false))
.on_surface_action(Message::Surface);
if let Some(window_id) = self.core().main_window_id() {
context_menu = context_menu.window_id(window_id);
} }
tab_column = tab_column.push(popover); tab_column = tab_column.push(context_menu);
if self.config.vim_bindings { if self.config.vim_bindings {
let status = { let status = {
let editor = tab.editor.lock().unwrap(); let editor = tab.editor.lock().unwrap();

View file

@ -1,18 +1,15 @@
// SPDX-License-Identifier: GPL-3.0-only // SPDX-License-Identifier: GPL-3.0-only
use cosmic::widget::menu::Item as MenuItem; use cosmic::widget::menu::Item as MenuItem;
use cosmic::widget::menu::action::MenuAction;
use cosmic::widget::menu::key_bind::KeyBind; use cosmic::widget::menu::key_bind::KeyBind;
use cosmic::{ use cosmic::{
Element, Element,
app::Core, app::Core,
iced::{
Background, Border, Length, advanced::widget::text::Style as TextStyle, widget::column,
},
theme,
widget::{ widget::{
self, divider, self,
menu::{ItemHeight, ItemWidth, menu_button}, menu::{ItemHeight, ItemWidth},
responsive_menu_bar, segmented_button, space, responsive_menu_bar, segmented_button,
}, },
}; };
use std::{collections::HashMap, path::PathBuf, sync::LazyLock}; use std::{collections::HashMap, path::PathBuf, sync::LazyLock};
@ -116,65 +113,49 @@ fn format_recent_menu_path(path: &PathBuf, home_dir_opt: Option<&PathBuf>) -> St
truncate_middle(&display, RECENT_MENU_LABEL_MAX_CHARS) truncate_middle(&display, RECENT_MENU_LABEL_MAX_CHARS)
} }
pub fn context_menu<'a>( /// A context menu action dispatched to the tab the menu was opened on.
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub struct TabAction(pub segmented_button::Entity, pub Action);
impl MenuAction for TabAction {
type Message = Message;
fn message(&self) -> Message {
Message::TabContextAction(self.0, self.1)
}
}
pub fn context_menu(
key_binds: &HashMap<KeyBind, Action>, key_binds: &HashMap<KeyBind, Action>,
entity: segmented_button::Entity, entity: segmented_button::Entity,
) -> Element<'a, Message> { has_selection: bool,
fn key_style(theme: &cosmic::Theme) -> TextStyle { ) -> Vec<widget::menu::Tree<Message>> {
let mut color = theme.cosmic().background(false).component.on; let item =
color.alpha *= 0.75; |label: String, action: Action| MenuItem::Button(label, None, TabAction(entity, action));
TextStyle { let optional = |label: String, action: Action, enabled: bool| {
color: Some(color.into()), if enabled {
..Default::default() MenuItem::Button(label, None, TabAction(entity, action))
} else {
MenuItem::ButtonDisabled(label, None, TabAction(entity, action))
} }
}
let menu_item = |menu_label, menu_action| {
let mut key = String::new();
for (key_bind, key_action) in key_binds.iter() {
if key_action == &menu_action {
key = key_bind.to_string();
break;
}
}
menu_button(vec![
widget::text(menu_label).into(),
space::horizontal().into(),
widget::text(key)
.class(theme::Text::Custom(key_style))
.into(),
])
.on_press(Message::TabContextAction(entity, menu_action))
}; };
widget::container(column!( let key_binds: HashMap<KeyBind, TabAction> = key_binds
menu_item(fl!("undo"), Action::Undo), .iter()
menu_item(fl!("redo"), Action::Redo), .map(|(key_bind, action)| (key_bind.clone(), TabAction(entity, *action)))
divider::horizontal::light(), .collect();
menu_item(fl!("cut"), Action::Cut), widget::menu::items(
menu_item(fl!("copy"), Action::Copy), &key_binds,
menu_item(fl!("paste"), Action::Paste), vec![
menu_item(fl!("select-all"), Action::SelectAll), item(fl!("undo"), Action::Undo),
)) item(fl!("redo"), Action::Redo),
.padding(1) MenuItem::Divider,
//TODO: move style to libcosmic optional(fl!("cut"), Action::Cut, has_selection),
.style(|theme| { optional(fl!("copy"), Action::Copy, has_selection),
let cosmic = theme.cosmic(); item(fl!("paste"), Action::Paste),
let component = &cosmic.background(false).component; item(fl!("select-all"), Action::SelectAll),
widget::container::Style { ],
icon_color: Some(component.on.into()), )
text_color: Some(component.on.into()),
background: Some(Background::Color(component.base.into())),
border: Border {
radius: cosmic.radius_s().map(|x| x + 1.0).into(),
width: 1.0,
color: component.divider.into(),
},
..Default::default()
}
})
.width(Length::Fixed(240.0))
.into()
} }
pub fn menu_bar<'a>( pub fn menu_bar<'a>(
@ -183,6 +164,7 @@ pub fn menu_bar<'a>(
config_state: &ConfigState, config_state: &ConfigState,
key_binds: &HashMap<KeyBind, Action>, key_binds: &HashMap<KeyBind, Action>,
projects: &Vec<(String, PathBuf)>, projects: &Vec<(String, PathBuf)>,
has_selection: bool,
) -> Element<'a, Message> { ) -> Element<'a, Message> {
//TODO: port to libcosmic //TODO: port to libcosmic
let menu_tab_width = |tab_width: u16| { let menu_tab_width = |tab_width: u16| {
@ -275,8 +257,16 @@ pub fn menu_bar<'a>(
MenuItem::Button(fl!("undo"), None, Action::Undo), MenuItem::Button(fl!("undo"), None, Action::Undo),
MenuItem::Button(fl!("redo"), None, Action::Redo), MenuItem::Button(fl!("redo"), None, Action::Redo),
MenuItem::Divider, MenuItem::Divider,
MenuItem::Button(fl!("cut"), None, Action::Cut), if has_selection {
MenuItem::Button(fl!("copy"), None, Action::Copy), MenuItem::Button(fl!("cut"), None, Action::Cut)
} else {
MenuItem::ButtonDisabled(fl!("cut"), None, Action::NoOp)
},
if has_selection {
MenuItem::Button(fl!("copy"), None, Action::Copy)
} else {
MenuItem::ButtonDisabled(fl!("copy"), None, Action::NoOp)
},
MenuItem::Button(fl!("paste"), None, Action::Paste), MenuItem::Button(fl!("paste"), None, Action::Paste),
MenuItem::Button(fl!("select-all"), None, Action::SelectAll), MenuItem::Button(fl!("select-all"), None, Action::SelectAll),
MenuItem::Divider, MenuItem::Divider,

View file

@ -1,9 +1,6 @@
// SPDX-License-Identifier: GPL-3.0-only // SPDX-License-Identifier: GPL-3.0-only
use cosmic::{ use cosmic::{iced::advanced::graphics::text::font_system, widget::icon};
iced::{Point, advanced::graphics::text::font_system},
widget::icon,
};
use cosmic_files::mime_icon::{FALLBACK_MIME_ICON, mime_for_path, mime_icon}; use cosmic_files::mime_icon::{FALLBACK_MIME_ICON, mime_for_path, mime_icon};
use cosmic_text::{Attrs, Buffer, Cursor, Edit, Selection, Shaping, SyntaxEditor, ViEditor, Wrap}; use cosmic_text::{Attrs, Buffer, Cursor, Edit, Selection, Shaping, SyntaxEditor, ViEditor, Wrap};
use regex::Regex; use regex::Regex;
@ -51,7 +48,7 @@ pub struct EditorTab {
pub path_opt: Option<PathBuf>, pub path_opt: Option<PathBuf>,
attrs: Attrs<'static>, attrs: Attrs<'static>,
pub editor: Mutex<ViEditor<'static, 'static>>, pub editor: Mutex<ViEditor<'static, 'static>>,
pub context_menu: Option<Point>, pub context_menu_open: bool,
pub zoom_adj: i8, pub zoom_adj: i8,
} }
@ -75,7 +72,7 @@ impl EditorTab {
path_opt: None, path_opt: None,
attrs, attrs,
editor: Mutex::new(ViEditor::new(editor)), editor: Mutex::new(ViEditor::new(editor)),
context_menu: None, context_menu_open: false,
zoom_adj, zoom_adj,
}; };

View file

@ -51,7 +51,7 @@ pub struct TextBox<'a, Message> {
on_focus: Option<Message>, on_focus: Option<Message>,
click_timing: Duration, click_timing: Duration,
has_context_menu: bool, has_context_menu: bool,
on_context_menu: Option<Box<dyn Fn(Option<Point>) -> Message + 'a>>, on_context_menu: Option<Box<dyn Fn(bool) -> Message + 'a>>,
highlight_current_line: bool, highlight_current_line: bool,
line_numbers: bool, line_numbers: bool,
} }
@ -107,10 +107,7 @@ where
self self
} }
pub fn on_context_menu( pub fn on_context_menu(mut self, on_context_menu: impl Fn(bool) -> Message + 'a) -> Self {
mut self,
on_context_menu: impl Fn(Option<Point>) -> Message + 'a,
) -> Self {
self.on_context_menu = Some(Box::new(on_context_menu)); self.on_context_menu = Some(Box::new(on_context_menu));
self self
} }
@ -825,7 +822,7 @@ where
let scrollbar_color = if pressed { let scrollbar_color = if pressed {
// pressed_state_color, 0.5 // pressed_state_color, 0.5
cosmic_theme cosmic_theme
.background(false) .background(theme.transparent)
.component .component
.pressed .pressed
.without_alpha() .without_alpha()
@ -834,7 +831,7 @@ where
} else if hover { } else if hover {
// hover_state_color, 0.2 // hover_state_color, 0.2
cosmic_theme cosmic_theme
.background(false) .background(theme.transparent)
.component .component
.hover .hover
.without_alpha() .without_alpha()
@ -921,7 +918,7 @@ where
let scrollbar_color = if pressed { let scrollbar_color = if pressed {
// pressed_state_color, 0.5 // pressed_state_color, 0.5
cosmic_theme cosmic_theme
.background(false) .background(theme.transparent)
.component .component
.pressed .pressed
.without_alpha() .without_alpha()
@ -930,7 +927,7 @@ where
} else if hover { } else if hover {
// hover_state_color, 0.2 // hover_state_color, 0.2
cosmic_theme cosmic_theme
.background(false) .background(theme.transparent)
.component .component
.hover .hover
.without_alpha() .without_alpha()
@ -1089,11 +1086,13 @@ where
Named::Backspace => { Named::Backspace => {
delete_modifiers(&mut editor, Motion::LeftWord, *modifiers); delete_modifiers(&mut editor, Motion::LeftWord, *modifiers);
editor.action(Action::Backspace); editor.action(Action::Backspace);
editor.set_redraw(true);
shell.capture_event(); shell.capture_event();
} }
Named::Delete => { Named::Delete => {
delete_modifiers(&mut editor, Motion::RightWord, *modifiers); delete_modifiers(&mut editor, Motion::RightWord, *modifiers);
editor.action(Action::Delete); editor.action(Action::Delete);
editor.set_redraw(true);
shell.capture_event(); shell.capture_event();
} }
Named::Tab => { Named::Tab => {
@ -1265,14 +1264,9 @@ where
// Update context menu state // Update context menu state
if let Some(on_context_menu) = &self.on_context_menu { if let Some(on_context_menu) = &self.on_context_menu {
shell.publish((on_context_menu)(if self.has_context_menu { shell.publish((on_context_menu)(
None !self.has_context_menu && matches!(button, Button::Right),
} else { ));
match button {
Button::Right => Some(p),
_ => None,
}
}));
} }
shell.capture_event(); shell.capture_event();
@ -1412,6 +1406,10 @@ where
shell.publish(on_changed.clone()); shell.publish(on_changed.clone());
} }
} }
if editor.redraw() {
shell.request_redraw();
}
} }
} }