diff --git a/po/extra/ca.po b/po/extra/ca.po index 6b5bc62d1..4804b8245 100644 --- a/po/extra/ca.po +++ b/po/extra/ca.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: scratch\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-11-29 17:14+0000\n" -"PO-Revision-Date: 2023-08-16 12:08+0000\n" +"PO-Revision-Date: 2023-11-30 16:58+0000\n" "Last-Translator: David M \n" "Language-Team: Catalan \n" "Language: ca\n" @@ -16,7 +16,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 4.17\n" +"X-Generator: Weblate 5.0.2\n" "X-Launchpad-Export-Date: 2017-05-03 06:04+0000\n" #: data/code.metainfo.xml.in:9 @@ -156,6 +156,9 @@ msgid "" "When opening a file in Code from the commandline or another app, a line/char " "position or selection range may be specified" msgstr "" +"Quan s'obre un fitxer al Codi des de la línia d'ordres o una altra " +"aplicació, es pot especificar una posició de línia / caràcter o un interval " +"de selecció." #: data/code.metainfo.xml.in:75 data/code.metainfo.xml.in:99 #: data/code.metainfo.xml.in:148 data/code.metainfo.xml.in:188 @@ -168,14 +171,16 @@ msgid "" "\"Find in Folder\" now works for all folders and text files, not only \".vala" "\" files" msgstr "" +"\"Troba a la carpeta\" ara funciona per a totes les carpetes i fitxers de " +"text, no només amb fitxers \".vala\"." #: data/code.metainfo.xml.in:78 msgid "\"Follow System Style\" is now fully respected" -msgstr "" +msgstr "\"Segueix l'estil del sistema\" ara es respecta plenament." #: data/code.metainfo.xml.in:79 msgid "The \"--new-tab\" commandline option now works" -msgstr "" +msgstr "L'opció de línia d'ordres \"--new-tab\" ara funciona." #: data/code.metainfo.xml.in:80 data/code.metainfo.xml.in:110 #: data/code.metainfo.xml.in:158 data/code.metainfo.xml.in:190 diff --git a/po/extra/en_GB.po b/po/extra/en_GB.po index 07e046053..1c46eb7ef 100644 --- a/po/extra/en_GB.po +++ b/po/extra/en_GB.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: scratch\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-11-29 17:14+0000\n" -"PO-Revision-Date: 2023-08-03 05:28+0000\n" +"PO-Revision-Date: 2023-12-03 17:42+0000\n" "Last-Translator: David Hewitt \n" "Language-Team: English (United Kingdom) \n" @@ -17,7 +17,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 4.17\n" +"X-Generator: Weblate 5.0.2\n" "X-Launchpad-Export-Date: 2017-05-03 06:04+0000\n" #: data/code.metainfo.xml.in:9 @@ -151,6 +151,8 @@ msgid "" "When opening a file in Code from the commandline or another app, a line/char " "position or selection range may be specified" msgstr "" +"When opening a file in Code from the commandline or another app, a line/char " +"position or selection range may be specified" #: data/code.metainfo.xml.in:75 data/code.metainfo.xml.in:99 #: data/code.metainfo.xml.in:148 data/code.metainfo.xml.in:188 @@ -163,14 +165,16 @@ msgid "" "\"Find in Folder\" now works for all folders and text files, not only \".vala" "\" files" msgstr "" +"\"Find in Folder\" now works for all folders and text files, not only \"." +"vala\" files" #: data/code.metainfo.xml.in:78 msgid "\"Follow System Style\" is now fully respected" -msgstr "" +msgstr "\"Follow System Style\" is now fully respected" #: data/code.metainfo.xml.in:79 msgid "The \"--new-tab\" commandline option now works" -msgstr "" +msgstr "The \"--new-tab\" commandline option now works" #: data/code.metainfo.xml.in:80 data/code.metainfo.xml.in:110 #: data/code.metainfo.xml.in:158 data/code.metainfo.xml.in:190 diff --git a/po/extra/he.po b/po/extra/he.po index 11ff5849b..ef4a86708 100644 --- a/po/extra/he.po +++ b/po/extra/he.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: scratch\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-11-29 17:14+0000\n" -"PO-Revision-Date: 2023-08-03 05:28+0000\n" +"PO-Revision-Date: 2023-11-30 16:58+0000\n" "Last-Translator: Yaron Shahrabani \n" "Language-Team: Hebrew \n" "Language: he\n" @@ -16,7 +16,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Generator: Weblate 4.17\n" +"X-Generator: Weblate 5.0.2\n" "X-Launchpad-Export-Date: 2017-05-03 06:04+0000\n" #: data/code.metainfo.xml.in:9 @@ -144,6 +144,8 @@ msgid "" "When opening a file in Code from the commandline or another app, a line/char " "position or selection range may be specified" msgstr "" +"בעת פתיחת קובץ עם קוד משורת הפקודה או מיישום אחר, אפשר לציין מקום של שורה/תו " +"או טווח בחירה" #: data/code.metainfo.xml.in:75 data/code.metainfo.xml.in:99 #: data/code.metainfo.xml.in:148 data/code.metainfo.xml.in:188 @@ -155,15 +157,15 @@ msgstr "עדכונים משניים:" msgid "" "\"Find in Folder\" now works for all folders and text files, not only \".vala" "\" files" -msgstr "" +msgstr "„איתור בתיקייה” עובד כעת לכל התיקיות וקובצי הטקסט, לא רק קובצי „‎.vala”" #: data/code.metainfo.xml.in:78 msgid "\"Follow System Style\" is now fully respected" -msgstr "" +msgstr "„היצמדות להגדרות המערכת” מקבלת את מלוא ההתייחסות מעכשיו" #: data/code.metainfo.xml.in:79 msgid "The \"--new-tab\" commandline option now works" -msgstr "" +msgstr "אפשרות שורת הפקודה „‎--new-tab” עובדת מעכשיו" #: data/code.metainfo.xml.in:80 data/code.metainfo.xml.in:110 #: data/code.metainfo.xml.in:158 data/code.metainfo.xml.in:190 diff --git a/po/extra/ja.po b/po/extra/ja.po index b66342dee..e41cfdf76 100644 --- a/po/extra/ja.po +++ b/po/extra/ja.po @@ -8,16 +8,16 @@ msgstr "" "Project-Id-Version: scratch\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-11-29 17:14+0000\n" -"PO-Revision-Date: 2023-08-03 05:28+0000\n" +"PO-Revision-Date: 2023-12-03 01:55+0000\n" "Last-Translator: Ryo Nakano \n" -"Language-Team: Japanese \n" +"Language-Team: Japanese " +"\n" "Language: ja\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Weblate 4.17\n" +"X-Generator: Weblate 5.0.2\n" "X-Launchpad-Export-Date: 2017-05-03 06:04+0000\n" #: data/code.metainfo.xml.in:9 @@ -150,7 +150,8 @@ msgstr "改善点:" msgid "" "When opening a file in Code from the commandline or another app, a line/char " "position or selection range may be specified" -msgstr "" +msgstr "コマンドラインやほかのアプリから“コード”でファイルを開く際に、行番号・列番号" +"や選択範囲を指定する機能を追加" #: data/code.metainfo.xml.in:75 data/code.metainfo.xml.in:99 #: data/code.metainfo.xml.in:148 data/code.metainfo.xml.in:188 @@ -162,15 +163,16 @@ msgstr "そのほかのアップデート:" msgid "" "\"Find in Folder\" now works for all folders and text files, not only \".vala" "\" files" -msgstr "" +msgstr "\"フォルダー内を検索\"機能の対象を、\"." +"vala\"ファイルだけではなくすべてのフォルダーとテキストファイルに変更" #: data/code.metainfo.xml.in:78 msgid "\"Follow System Style\" is now fully respected" -msgstr "" +msgstr "\"システムのスタイルに従う\"の設定が常に反映されるように修正" #: data/code.metainfo.xml.in:79 msgid "The \"--new-tab\" commandline option now works" -msgstr "" +msgstr "コマンドラインオプション \"--new-tab\" が動作しない不具合を修正" #: data/code.metainfo.xml.in:80 data/code.metainfo.xml.in:110 #: data/code.metainfo.xml.in:158 data/code.metainfo.xml.in:190 diff --git a/po/extra/pl.po b/po/extra/pl.po index b8321d0f9..2bc9dcea7 100644 --- a/po/extra/pl.po +++ b/po/extra/pl.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: scratch\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-11-29 17:14+0000\n" -"PO-Revision-Date: 2023-08-08 09:08+0000\n" +"PO-Revision-Date: 2023-12-02 18:12+0000\n" "Last-Translator: Marcin Serwin \n" "Language-Team: Polish \n" "Language: pl\n" @@ -17,7 +17,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " "|| n%100>=20) ? 1 : 2;\n" -"X-Generator: Weblate 4.17\n" +"X-Generator: Weblate 5.0.2\n" "X-Launchpad-Export-Date: 2017-05-03 06:04+0000\n" #: data/code.metainfo.xml.in:9 @@ -153,6 +153,9 @@ msgid "" "When opening a file in Code from the commandline or another app, a line/char " "position or selection range may be specified" msgstr "" +"Podczas otwierania pliku w edytorze Kod z poziomu linii poleceń lub innej " +"aplikacji można teraz sprecyzować pozycję kursora na linii lub znaku, lub " +"aktualne zaznaczenie" #: data/code.metainfo.xml.in:75 data/code.metainfo.xml.in:99 #: data/code.metainfo.xml.in:148 data/code.metainfo.xml.in:188 @@ -165,14 +168,16 @@ msgid "" "\"Find in Folder\" now works for all folders and text files, not only \".vala" "\" files" msgstr "" +"„Znajdź w folderze” działa teraz ze wszystkimi folderami i plikami " +"tekstowymi, nie tylko z plikami „.vala”" #: data/code.metainfo.xml.in:78 msgid "\"Follow System Style\" is now fully respected" -msgstr "" +msgstr "„Dopasuj do stylu systemu” jest teraz w pełni respektowane" #: data/code.metainfo.xml.in:79 msgid "The \"--new-tab\" commandline option now works" -msgstr "" +msgstr "Opcja „--new-tab” z linii poleceń działa" #: data/code.metainfo.xml.in:80 data/code.metainfo.xml.in:110 #: data/code.metainfo.xml.in:158 data/code.metainfo.xml.in:190 diff --git a/po/extra/ru.po b/po/extra/ru.po index 0c12b84a4..998b2a91c 100644 --- a/po/extra/ru.po +++ b/po/extra/ru.po @@ -8,16 +8,16 @@ msgstr "" "Project-Id-Version: scratch\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-11-29 17:14+0000\n" -"PO-Revision-Date: 2023-08-03 05:28+0000\n" -"Last-Translator: кубик круглый \n" +"PO-Revision-Date: 2023-12-01 10:05+0000\n" +"Last-Translator: lenemter \n" "Language-Team: Russian \n" "Language: ru\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" -"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" -"X-Generator: Weblate 4.17\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Generator: Weblate 5.0.2\n" "X-Launchpad-Export-Date: 2017-05-03 06:04+0000\n" #: data/code.metainfo.xml.in:9 @@ -151,6 +151,8 @@ msgid "" "When opening a file in Code from the commandline or another app, a line/char " "position or selection range may be specified" msgstr "" +"При открытии файла в Коде из Терминала или другого приложения теперь может " +"быть указано выделение" #: data/code.metainfo.xml.in:75 data/code.metainfo.xml.in:99 #: data/code.metainfo.xml.in:148 data/code.metainfo.xml.in:188 @@ -163,14 +165,16 @@ msgid "" "\"Find in Folder\" now works for all folders and text files, not only \".vala" "\" files" msgstr "" +"Поиск в папке теперь работает для всех папок и текстовых фалов, а не только " +"для файлов «.vala»" #: data/code.metainfo.xml.in:78 msgid "\"Follow System Style\" is now fully respected" -msgstr "" +msgstr "Улучшено следование тёмному стилю системы" #: data/code.metainfo.xml.in:79 msgid "The \"--new-tab\" commandline option now works" -msgstr "" +msgstr "Параметр командной строки «--new-tab» теперь работает" #: data/code.metainfo.xml.in:80 data/code.metainfo.xml.in:110 #: data/code.metainfo.xml.in:158 data/code.metainfo.xml.in:190 diff --git a/po/extra/uk.po b/po/extra/uk.po index e8bbead45..53c711b22 100644 --- a/po/extra/uk.po +++ b/po/extra/uk.po @@ -8,17 +8,17 @@ msgstr "" "Project-Id-Version: scratch\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-11-29 17:14+0000\n" -"PO-Revision-Date: 2023-08-03 05:28+0000\n" +"PO-Revision-Date: 2023-11-30 20:17+0000\n" "Last-Translator: Ihor Hordiichuk \n" -"Language-Team: Ukrainian \n" +"Language-Team: Ukrainian " +"\n" "Language: uk\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" -"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" -"X-Generator: Weblate 4.17\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Generator: Weblate 5.0.2\n" "X-Launchpad-Export-Date: 2017-05-03 06:04+0000\n" #: data/code.metainfo.xml.in:9 @@ -150,6 +150,8 @@ msgid "" "When opening a file in Code from the commandline or another app, a line/char " "position or selection range may be specified" msgstr "" +"Під час відкриття файлу в Код з командного рядка або іншого застосунку можна " +"вказати позицію рядка/символу або діапазон виділення" #: data/code.metainfo.xml.in:75 data/code.metainfo.xml.in:99 #: data/code.metainfo.xml.in:148 data/code.metainfo.xml.in:188 @@ -162,14 +164,16 @@ msgid "" "\"Find in Folder\" now works for all folders and text files, not only \".vala" "\" files" msgstr "" +"\"Знайти в теці\" відтепер працює для всіх тек і текстових файлів, а не " +"тільки для файлів \".vala\"" #: data/code.metainfo.xml.in:78 msgid "\"Follow System Style\" is now fully respected" -msgstr "" +msgstr "\"Дотримуватись стилю системи\" відтепер повністю дотримано" #: data/code.metainfo.xml.in:79 msgid "The \"--new-tab\" commandline option now works" -msgstr "" +msgstr "Опція командного рядка \"--new-tab\" тепер працює" #: data/code.metainfo.xml.in:80 data/code.metainfo.xml.in:110 #: data/code.metainfo.xml.in:158 data/code.metainfo.xml.in:190 diff --git a/po/nl.po b/po/nl.po index a08d4f8fa..7f58c17af 100644 --- a/po/nl.po +++ b/po/nl.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: scratch\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-11-29 17:14+0000\n" -"PO-Revision-Date: 2023-08-10 12:08+0000\n" +"PO-Revision-Date: 2023-12-05 21:00+0000\n" "Last-Translator: Dennis ten Hoove \n" "Language-Team: Dutch \n" "Language: nl\n" @@ -16,7 +16,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 4.17\n" +"X-Generator: Weblate 5.0.2\n" "X-Launchpad-Export-Date: 2017-05-03 06:01+0000\n" #: src/Application.vala:38 @@ -113,7 +113,7 @@ msgstr "Zoeken naar tekst in “%s”" #: src/Dialogs/GlobalSearchDialog.vala:70 msgid "The search term must be at least 3 characters long." -msgstr "De zoekterm moet minimaal 3 karakters zijn." +msgstr "De zoekterm moet minimaal 3 karakters bevatten." #: src/Dialogs/GlobalSearchDialog.vala:83 msgid "Case sensitive:" diff --git a/src/MainWindow.vala b/src/MainWindow.vala index 21ae93280..7166a555e 100644 --- a/src/MainWindow.vala +++ b/src/MainWindow.vala @@ -113,7 +113,7 @@ namespace Scratch { { ACTION_FIND_PREVIOUS, action_find_previous }, { ACTION_FIND_GLOBAL, action_find_global, "s" }, { ACTION_OPEN, action_open }, - { ACTION_OPEN_FOLDER, action_open_folder }, + { ACTION_OPEN_FOLDER, action_open_folder, "s" }, { ACTION_COLLAPSE_ALL_FOLDERS, action_collapse_all_folders }, { ACTION_ORDER_FOLDERS, action_order_folders }, { ACTION_PREFERENCES, action_preferences }, @@ -129,7 +129,7 @@ namespace Scratch { { ACTION_PREFERENCES, action_preferences }, { ACTION_UNDO, action_undo }, { ACTION_REDO, action_redo }, - { ACTION_SHOW_REPLACE, action_fetch }, + { ACTION_SHOW_REPLACE, action_show_replace }, { ACTION_TO_LOWER_CASE, action_to_lower_case }, { ACTION_TO_UPPER_CASE, action_to_upper_case }, { ACTION_DUPLICATE, action_duplicate }, @@ -913,23 +913,28 @@ namespace Scratch { } } - private void action_open_folder () { - var chooser = new Gtk.FileChooserNative ( - "Select a folder.", this, Gtk.FileChooserAction.SELECT_FOLDER, - _("_Open"), - _("_Cancel") - ); + private void action_open_folder (SimpleAction action, Variant? param) { + var path = param.get_string (); + if (path == "") { + var chooser = new Gtk.FileChooserNative ( + "Select a folder.", this, Gtk.FileChooserAction.SELECT_FOLDER, + _("_Open"), + _("_Cancel") + ); - chooser.select_multiple = true; + chooser.select_multiple = true; - if (chooser.run () == Gtk.ResponseType.ACCEPT) { - chooser.get_files ().foreach ((glib_file) => { - var foldermanager_file = new FolderManager.File (glib_file.get_path ()); - folder_manager_view.open_folder (foldermanager_file); - }); - } + if (chooser.run () == Gtk.ResponseType.ACCEPT) { + chooser.get_files ().foreach ((glib_file) => { + var foldermanager_file = new FolderManager.File (glib_file.get_path ()); + folder_manager_view.open_folder (foldermanager_file); + }); + } - chooser.destroy (); + chooser.destroy (); + } else { + folder_manager_view.open_folder (new FolderManager.File (path)); + } } private void action_collapse_all_folders () { @@ -1056,7 +1061,7 @@ namespace Scratch { /** Not a toggle action - linked to keyboard short cut (Ctrl-f). **/ private string current_search_term = ""; private void action_fetch (SimpleAction action, Variant? param) { - current_search_term = param.get_string (); + current_search_term = param != null ? param.get_string () : ""; if (!search_revealer.child_revealed) { var show_find_action = Utils.action_from_group (ACTION_SHOW_FIND, actions); if (show_find_action.enabled) { @@ -1070,6 +1075,20 @@ namespace Scratch { } } + private void action_show_replace (SimpleAction action) { + action_fetch (action, null); + // May have to wait for the search bar to be revealed before we can grab focus + if (search_revealer.child_revealed) { + search_bar.replace_entry.grab_focus (); + } else { + ulong map_handler = 0; + map_handler = search_bar.map.connect_after (() => { + search_bar.replace_entry.grab_focus (); + search_bar.disconnect (map_handler); + }); + } + } + private void action_find_next () { search_bar.search_next (); } diff --git a/src/Widgets/Sidebar.vala b/src/Widgets/Sidebar.vala index e0575602f..578acef4f 100644 --- a/src/Widgets/Sidebar.vala +++ b/src/Widgets/Sidebar.vala @@ -18,6 +18,10 @@ */ public class Code.Sidebar : Gtk.Grid { + public enum TargetType { + URI_LIST + } + public Gtk.Stack stack { get; private set; } public Code.ChooseProjectButton choose_project_button { get; private set; } public Hdy.HeaderBar headerbar { get; private set; } @@ -53,6 +57,7 @@ public class Code.Sidebar : Gtk.Grid { var add_folder_button = new Gtk.Button.from_icon_name ("folder-open-symbolic", Gtk.IconSize.SMALL_TOOLBAR) { action_name = Scratch.MainWindow.ACTION_PREFIX + Scratch.MainWindow.ACTION_OPEN_FOLDER, + action_target = new Variant.string (""), always_show_image = true, label = _("Open Folder…") }; @@ -105,6 +110,42 @@ public class Code.Sidebar : Gtk.Grid { break; } }); + + Gtk.TargetEntry uris = {"text/uri-list", 0, TargetType.URI_LIST}; + Gtk.drag_dest_set (this, Gtk.DestDefaults.ALL, {uris}, Gdk.DragAction.COPY); + drag_data_received.connect (drag_received); + } + + private void drag_received (Gtk.Widget w, + Gdk.DragContext ctx, + int x, + int y, + Gtk.SelectionData sel, + uint info, + uint time) { + + if (info == TargetType.URI_LIST) { + var uri_list = sel.get_uris (); + GLib.List folder_list = null; + foreach (unowned var uri in uri_list) { + var file = GLib.File.new_for_uri (uri); + // Blocking but for simplicity omit cancellable for now + var ftype = file.query_file_type (FileQueryInfoFlags.NOFOLLOW_SYMLINKS); + if (ftype == GLib.FileType.DIRECTORY) { + folder_list.prepend (file); + } + } + + foreach (var folder in folder_list) { + var win_group = get_action_group (Scratch.MainWindow.ACTION_GROUP); + win_group.activate_action ( + Scratch.MainWindow.ACTION_OPEN_FOLDER, + new Variant.string (folder.get_path ()) + ); + } + + Gtk.drag_finish (ctx, folder_list.length () > 0, false, time); + } } public void add_tab (Code.PaneSwitcher tab) {