Skip to content
Commits on Source (6)
include: 'https://gitlab.gnome.org/GNOME/citemplates/raw/master/flatpak/flatpak_ci_initiative.yml'
flatpak:
image: 'registry.gitlab.gnome.org/gnome/gnome-runtime-images/gnome:master'
variables:
MANIFEST_PATH: "org.gnome.GHex.json"
FLATPAK_MODULE: "ghex"
RUNTIME_REPO: "https://nightly.gnome.org/gnome-nightly.flatpakrepo"
APP_ID: "org.gnome.GHex"
BUNDLE: "ghex-dev.flatpak"
extends: .flatpak
nightly:
extends: '.publish_nightly'
dependencies: ['flatpak']
needs: ['flatpak']
===========
GHex 3.41.1
===========
Changes:
- Add clipboard shortcuts to find/replace dialogs (Logan Rathbone)
Translation Updates:
- Matej Urbančič (sl)
- Seong-ho Cho (ko)
===========
GHex 3.41.0
===========
......
......@@ -32,6 +32,7 @@
<id>org.gnome.ghex</id>
</provides>
<releases>
<release version="3.41.1" date="2021-12-04"/>
<release version="3.41.0" date="2021-09-24"/>
<release version="3.18.4" date="2019-07-13"/>
<release version="3.18.3" date="2016-10-12"/>
......
This diff is collapsed.
project(
'ghex', 'c',
version: '3.41.0',
version: '3.41.1',
meson_version: '>=0.50.0',
license: 'GPL2'
)
......
This diff is collapsed.
......@@ -3,14 +3,14 @@
# This file is distributed under the same license as the ghex package.
#
# Jaka Močnik <jaka.mocnik@kiss.uni-lj.si>, 2000.
# Matej Urbančič <mateju@svn.gnome.org>, 2009–2019.
# Matej Urbančič <mateju@svn.gnome.org>, 2009–2021.
#
msgid ""
msgstr ""
"Project-Id-Version: ghex master\n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/ghex/issues\n"
"POT-Creation-Date: 2019-01-07 10:19+0000\n"
"PO-Revision-Date: 2019-01-26 15:47+0100\n"
"PO-Revision-Date: 2021-11-16 18:09+0100\n"
"Last-Translator: Matej Urbančič <mateju@svn.gnome.org>\n"
"Language-Team: Slovenian GNOME Translation Team <gnome-si@googlegroups.com>\n"
"Language: sl_SI\n"
......@@ -20,7 +20,7 @@ msgstr ""
"Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || n"
"%100==4 ? 3 : 0);\n"
"X-Poedit-SourceCharset: utf-8\n"
"X-Generator: Poedit 2.1.1\n"
"X-Generator: Poedit 3.0\n"
#: data/org.gnome.GHex.appdata.xml.in:6
msgid "GNOME Hex Editor"
......@@ -32,7 +32,7 @@ msgstr "Pregled in urejanje dvojiških datotek"
#: data/org.gnome.GHex.appdata.xml.in:9
msgid "GHex is a hex editor for the GNOME desktop."
msgstr "GHex je urejevalnik šestnajstiškega zapisa datotek za namizje GNOME"
msgstr "GHex je šestnajstiški urejevalnik za namizje GNOME."
#: data/org.gnome.GHex.appdata.xml.in:12
msgid ""
......@@ -116,7 +116,7 @@ msgstr "_Šestnajstiško:"
#: src/converter.c:261
msgid "_ASCII:"
msgstr "_ASCII"
msgstr "_ASCII:"
#. get cursor button
#: src/converter.c:265
......@@ -176,7 +176,7 @@ msgstr "Najdi predhodno"
#: src/findreplace.c:140
msgid "Finds the previous occurrence of the search string "
msgstr "Najde predhodni primer iskanega niza"
msgstr "Najde predhodni primer iskanega niza "
#: src/findreplace.c:141 src/findreplace.c:418 src/findreplace.c:469
msgid "Cancel"
......@@ -321,7 +321,7 @@ msgstr "Dosežen je začetek datoteke"
#: src/findreplace.c:601
msgid "There is no active document to move the cursor in!"
msgstr "Ni dejavnega dokumenta v katerem naj bi se premaknila kazalka!"
msgstr "Ni dejavnega dokumenta, v katerem naj bi se premaknila kazalka!"
#: src/findreplace.c:619
msgid "No offset has been specified!"
......@@ -344,8 +344,8 @@ msgid ""
msgstr ""
"Odmik je dovoljeno podati kot:\n"
" - pozitivno desetiško število,\n"
" - šestnajstiško število, začeto z '0x', ali \n"
" - število začeto s '+' ali z '-' in nato relativno vrednost odmika"
" - šestnajstiško število, začeto z »0x«, ali \n"
" - število začeto s » + « ali z » - « in nato relativno vrednost odmika"
#: src/findreplace.c:705
msgid "There is no active buffer to replace data in!"
......@@ -353,7 +353,7 @@ msgstr "Ni dejavnega medpomnilnika za zamenjavo podatkov!"
#: src/findreplace.c:730 src/findreplace.c:731
msgid "End Of File reached!"
msgstr "Dosežen je konec datoteke"
msgstr "Dosežen je konec datoteke!"
#: src/findreplace.c:750
msgid "There is no active document to replace data in!"
......@@ -601,7 +601,7 @@ msgstr "Pomoč za delo s programom"
#: src/ghex-window.c:418
msgid "_About"
msgstr "_O programu..."
msgstr "_O programu"
#: src/ghex-window.c:419
msgid "About this application"
......@@ -830,7 +830,7 @@ msgstr "Naslednja stran"
#: src/main.c:36
msgid "X geometry specification (see \"X\" man page)."
msgstr "Določilo geometrije okna (glej stran z navodili \"X\")."
msgstr "Določilo geometrije okna (glej stran z navodili »X«)."
#: src/main.c:36
msgid "GEOMETRY"
......@@ -857,7 +857,7 @@ msgstr ""
#: src/main.c:133 src/main.c:146
#, c-format
msgid "Invalid geometry string \"%s\"\n"
msgstr "Neveljaven geometrijski niz \"%s\"\n"
msgstr "Neveljaven geometrijski niz »%s«\n"
#: src/preferences.c:69
msgid "GHex Preferences"
......@@ -865,7 +865,7 @@ msgstr "Možnosti GHex"
#: src/preferences.c:101
msgid "_Maximum number of undo levels:"
msgstr "_Največje število razveljavitev"
msgstr "_Največje število razveljavitev:"
#: src/preferences.c:121
msgid "Undo levels"
......@@ -930,7 +930,7 @@ msgstr "Pisave"
#: src/preferences.c:245
msgid "_Data font:"
msgstr "Pisava _podatkov"
msgstr "Pisava _podatkov:"
#: src/preferences.c:259
msgid "Data font"
......@@ -991,7 +991,7 @@ msgid ""
"Only 'x', 'X', 'p', 'P', 'd' and 'o' are allowed."
msgstr ""
"Zapis odmika vsebuje nedovoljena določila.\n"
"Uporabiti je mogoče le 'x', 'X', 'p', 'P', 'd' in 'o'!"
"Uporabiti je mogoče le »x«, »X«, »p«, »P«, »d« in »o«!"
#: src/print.c:57
#, c-format
......@@ -1058,10 +1058,10 @@ msgstr "O programu"
#: src/ui.c:191
msgid "translator-credits"
msgstr ""
"Matej Urbančič <mateju@src.gnome.org>\n"
"Matic Žgur <mr.zgur@gmail.com>\n"
"Matjaž Horvat <m@owca.info>\n"
"Tilen Travnik <tilen.travnik@guest.arnes.si>\n"
"Matej Urbančič <mateju@svn.gnome.org>"
"Tilen Travnik <tilen.travnik@guest.arnes.si>"
#: src/ui.c:194
msgid "GHex Website"
......@@ -1086,7 +1086,7 @@ msgstr "Izbor imenika in datoteke za vir HTML"
#: src/ui.c:465
msgid "You need to specify a base name for the HTML files."
msgstr "Izbrati je treba osnovno ime za datoteke HTML"
msgstr "Izbrati je treba osnovno ime za datoteke HTML."
#: src/ui.c:476 src/ui.c:502
msgid "You don't have the permission to write to the selected path.\n"
......
......@@ -83,6 +83,49 @@ static GtkWidget *create_hex_view(HexDocument *doc)
return gh;
}
/* Helper functions to set up copy/paste keybindings */
static gboolean
keypress_cb (GtkWidget *dialog, GdkEventKey *event, gpointer user_data)
{
GtkWidget *gh = gtk_window_get_focus (GTK_WINDOW(dialog));
/* If there isn't a GtkHex widget with focus, bail out. */
if (! GTK_IS_HEX (gh)) goto out;
/* Otherwise, handle clipboard shortcuts. */
if (event->state & GDK_CONTROL_MASK)
{
switch (event->keyval)
{
case 'c':
gtk_hex_copy_to_clipboard (GTK_HEX(gh));
return GDK_EVENT_STOP;
break;
case 'x':
gtk_hex_cut_to_clipboard (GTK_HEX(gh));
return GDK_EVENT_STOP;
break;
case 'v':
gtk_hex_paste_from_clipboard (GTK_HEX(gh));
return GDK_EVENT_STOP;
break;
}
}
out:
return GDK_EVENT_PROPAGATE;
}
static void
setup_clipboard_keybindings (GtkWidget *dialog)
{
/* sanity check: all find/replace/etc. dialogs are GtkDialogs at their core */
g_assert (GTK_IS_DIALOG (dialog));
g_signal_connect (dialog, "key-press-event", G_CALLBACK(keypress_cb), NULL);
}
FindDialog *create_find_dialog()
{
FindDialog *dialog;
......@@ -134,6 +177,8 @@ FindDialog *create_find_dialog()
gtk_container_set_border_width(GTK_CONTAINER(gtk_dialog_get_content_area(GTK_DIALOG(dialog->window))), 2);
gtk_box_set_spacing(GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dialog->window))), 2);
setup_clipboard_keybindings (dialog->window);
if (GTK_IS_ACCESSIBLE (gtk_widget_get_accessible (dialog->f_gh))) {
add_atk_namedesc (dialog->f_gh, _("Find Data"), _("Enter the hex data or ASCII data to search for"));
add_atk_namedesc (dialog->f_next, _("Find Next"), _("Finds the next occurrence of the search string"));
......@@ -194,6 +239,8 @@ static AdvancedFind_AddDialog *create_advanced_find_add_dialog(AdvancedFindDialo
gtk_widget_set_can_default(button, TRUE);
gtk_widget_show(button);
setup_clipboard_keybindings (dialog->window);
return dialog;
}
......@@ -409,6 +456,8 @@ ReplaceDialog *create_replace_dialog()
gtk_container_set_border_width(GTK_CONTAINER(gtk_dialog_get_content_area(GTK_DIALOG(dialog->window))), 2);
gtk_box_set_spacing(GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dialog->window))), 2);
setup_clipboard_keybindings (dialog->window);
if (GTK_IS_ACCESSIBLE(gtk_widget_get_accessible(dialog->f_gh))) {
add_atk_namedesc (dialog->f_gh, _("Find Data"), _("Enter the hex data or ASCII data to search for"));
add_atk_namedesc (dialog->r_gh, _("Replace Data"), _("Enter the hex data or ASCII data to replace with"));
......